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
andLCB_KV_IOVCOPY
. This fixes compression incbc-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 thecblogredaction
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 incertpath=
. -
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 orlcb_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 signalSIGQUIT
and also dump them on exit. The old mode of reporting regularly is enabled by repeating the switch more than once (e.g.-TT
).
- dump diagnostics on
-
Added the cbc-watch command to monitor server stats. By default it tracks
cmd_total_ops
,cmd_total_gets
andcmd_total_sets
updating stats once a second, and displaying diff with the previous value.