Client Settings

  • reference
    +
    Client settings
    The backend implementation of client settings changed substantially in 4.0. Full details can be found in the API Reference.

    Commonly Used Options

    The defaults above have been carefully considered and in general it is not recommended to make changes without expert guidance or careful testing of the change. Some options may be commonly used together in certain envionments or to achieve certain effects.

    Constrained Network Environments

    Though wide area network (WAN) connections are not directly supported, some development and non-critical operations activities across a WAN are convenient. Most likely for connecting to Couchbase Capella, or Server running in your own cloud account, whilst developing from a laptop or other machine not located in the same data center. These settings are some you may want to consider adjusting:

    • Connect Timeout to 30s

    • Key-Value Timeout to 5s

    • Config Poll Interval to 10s

    • Circuit Breaker ErrorThresholdPercentage to 75

    As of SDK API 3.4 you can also use a Configuration Profile, which allows you to quickly configure your environment for common use-cases. See the Configuration Profiles section for more details.

    Configuration Profiles

    Configuration Profiles provide predefined client settings that allow you to quickly configure an environment for common use-cases. When using a configuration profile, the current client settings are overridden with the values provided in the profile. Any property that is not specified in the profile is left unchanged.

    The Configuration Profiles feature is currently a Volatile API and may be subject to change.

    WAN Development

    Cluster Option: applyProfile("wan_development")

    A wan_development configuration profile can be used to modify client settings for development or high-latency environments. This profile changes the default timeouts.

    Table 1. Profile Settings
    Setting Value

    connectTimeout

    20s

    keyValueTimeout

    20s

    keyValueDurableTimeout

    20s

    viewTimeout

    120s

    queryTimeout

    120s

    analyticsTimeout

    120s

    searchTimeout

    120s

    managementTimeout

    120s

    Do not set kvDurableTimeout above 65s, which is the maximum possible SyncWrite timeout on the Server side.