Looking at the C (libcouchbase) vs Ruby (couchbase++) client-settings pages, I see the following differences.
(NOTE, I've only looked at https://docs.couchbase.com/c-sdk/current/ref/client-settings.html and https://docs.couchbase.com/ruby-sdk/current/ref/client-settings.html
had a quick grep of code / API docs, but not full dive, and probably better for knowledgeable SDK dev to comment!)
1) 2 categories don't have any settings documented for Ruby.
- Tracing Threshold and Orphaned Logging Options
- Metrics Reporting Options
This is known issue.
2) It looks like cb++ has tcp_keep_alive_interval which doesn't have an equivalent in lcb (currently documented in .adoc)
3) lcb has features available via both Connection String and Enumeration Symbols (like LCB_CNTL_ENABLE_MUTATION_TOKENS which are handled using various lcb_cntl* functions)
cb++ has only connection string settings.
4) The following options have different names:
(Listed lcb first, then cb++)
(only enumeration token?)
Having discussed at docs sync, there are 2 main issues here:
- SDK RFC compliance https://github.com/couchbaselabs/sdk-rfcs/blob/master/rfc/0059-sdk3-foundation.md#configuration (raised by Matt I)
- For the Node.js SDK, users moving from former to latter might find that their existing scripts now fail to work.
Raising CBD to look into this.