Uploaded image for project: 'Couchbase Documentation'
  1. Couchbase Documentation
  2. DOC-9723

Couchbase++ Client Settings

    XMLWordPrintable

Details

    Description

      The client setting page https://docs.couchbase.com/nodejs-sdk/current/ref/client-settings.html has reference to lcb and its API docs.

      Since Node.js 4.0 now uses Couchbase++ under the hood, maybe we should update this page to be similar to the Ruby one.
      https://docs.couchbase.com/ruby-sdk/current/ref/client-settings.html 

       

      Better yet, a common page for all Couchbase++ clients, modelled on https://docs.couchbase.com/java-sdk/current/ref/client-settings.html and the info in 

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            These are the headings from the Ruby docs:

             

            • analytics_timeout
              config_poll_interval
              enable_dns_srv
              enable_mutation_tokens
              enable_tcp_keep_alive
              enable_unordered_execution
              kv_durable_timeout
              kv_timeout
              management_timeout
              query_timeout
              search_timeout
              tcp_keep_alive_interval
              view_timeout
            hakim.cassimally Hakim Cassimally added a comment - These are the headings from the Ruby docs:   analytics_timeout config_poll_interval enable_dns_srv enable_mutation_tokens enable_tcp_keep_alive enable_unordered_execution kv_durable_timeout kv_timeout management_timeout query_timeout search_timeout tcp_keep_alive_interval view_timeout

            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++)

            category libcouchbase couchbase++
            I/O Options dnssrv enable_dns_srv
              tcp_keepalive enable_tcp_keep_alive
              operation_timeout kv_timeout
              persistence_timeout_floor kv_durable_timeout
              views_timeout view_timeout
              http_timeout management_timeout
            General Options LCB_CNTL_ENABLE_UNORDERED_EXECUTION
            (only enumeration token?)
            enable_unordered_execution

            Having discussed at docs sync, there are 2 main issues here:

            1. SDK RFC compliance https://github.com/couchbaselabs/sdk-rfcs/blob/master/rfc/0059-sdk3-foundation.md#configuration (raised by Matt I)
            2. 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.

            hakim.cassimally Hakim Cassimally added a comment - 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++) category libcouchbase couchbase++ I/O Options dnssrv enable_dns_srv   tcp_keepalive enable_tcp_keep_alive   operation_timeout kv_timeout   persistence_timeout_floor kv_durable_timeout   views_timeout view_timeout   http_timeout management_timeout General Options LCB_CNTL_ENABLE_UNORDERED_EXECUTION (only enumeration token?) enable_unordered_execution 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.

            https://github.com/couchbase/docs-sdk-nodejs/pull/189 merged.

            Will need to hold off for CBD before proceeding.

            hakim.cassimally Hakim Cassimally added a comment - https://github.com/couchbase/docs-sdk-nodejs/pull/189 merged. Will need to hold off for CBD before proceeding.

            It didn't sound recently as if the CBD was happening or required.

            Jared made some great docs on the Python side. We could use those as basis.

            (Some additional source code diving, or questions to SDK engg to then fill in any blanks)

            hakim.cassimally Hakim Cassimally added a comment - It didn't sound recently as if the CBD was happening or required. Jared made some great docs on the Python side. We could use those as basis. (Some additional source code diving, or questions to SDK engg to then fill in any blanks)

            People

              maria.shodunke Maria Shodunke
              maria.shodunke Maria Shodunke
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty