Skip to content

2.8.5

Compare
Choose a tag to compare
@avsej avsej released this 24 Feb 09:41
· 800 commits to master since this release
2.8.5

API documentation: http://docs.couchbase.com/sdk-api/couchbase-c-client-2.8.5/

Changes

  • CCBC-883: Always use built-in compression. It is not possible to unbundle the Snappy library, as libcouchbase uses the C++ API which is not exported in the headers. Also, compression can now work on all types of buffers, including LCB_KV_IOV and LCB_KV_IOVCOPY. This fixes compression in cbc-pillowfight tool.

  • CCBC-895: Fix typo in rendering IPv6 addresses in lcb_diag.

  • CCBC-879: Implement log redaction. When log_redaction=on is specified in the connection string, the library will wrap sensitive data in the logs in special tags, which can be processed by the cblogredaction tool from the server distribution.

  • CCBC-893: Updated list of subdoc error codes.

  • CCBC-892: Enable the SSL trust store to be in a separate file. Trust store has to be specified with option truststorepath=…, otherwise the library will expect it to be stored with the certificate in certpath=.

  • CCBC-888: Per operation tracing. When compiled with tracing support (cmake -DLCB_TRACING=ON), the library will expose the tracing API, which allows to measure time of every data operation, and include some extra information. The API is modeled after OpenTracing and allows one to write custom tracers to consume this information. For more information, see an example in example/tracing/tracing.c. This is uncommitted API at this time.

    Also this feature includes support for new type of the server responses, which include time spent to execute the KV command on the server. This feature controlled by enable_tracing option in connection string or lcb_cntl(..., LCB_CNTL_ENABLE_TRACING, ...).

  • Added basic support of JSON datatype. The library will negotiate a mode, in which the application will see LCB_VALUE_F_JSON flag on datatype field of the response in the operation callback, if the cluster detected the content of the document to be valid JSON. Also the application can send this flag on the outgoing documents to notify the server about payload format.

  • Refresh dtrace/systemtap integration. Also adds tapset for SystemTap to simplify access to trace points.

  • cbc-pillowfight improvements and changes:

    • dump diagnostics on SIGQUIT (CTRL-\ in terminal).
    • with -J/--json, the JSON datatype will be sent on the documents.
    • enable randomized document bodies with -R/--random-body switch.
    • durability checks for pillowfight with --persist-to/--replicate-to.
    • pessimistic locking of keys before updating with --lock.
    • when requesting timings with -T/--timings, the application will no longer dump them periodically.Instead it will await for the user to signal SIGQUIT and also dump them on exit. The old mode of reporting regularly is enabled by repeating the switch more than once (e.g. -TT).
  • Added the cbc-watch command to monitor server stats. By default it tracks cmd_total_ops, cmd_total_gets and cmd_total_sets updating stats once a second, and displaying diff with the previous value.