Upgrading to Couchbase Server 6.6

    +

    Upgrading to the latest version of Couchbase Server allows you to leverage the latest features and helps keep your cluster running well. The following table summarizes the new features in this release, and describes what parts of the cluster need to be upgraded to enable them.

    Table 1. Couchbase Server 6.6 Feature Upgrade Matrix
    Feature Upgrade Level Upgrade Type Upgrade Path Mixed Mode Dependencies

    Indexing, ns_server: Service Failure if cannot bind to all ports.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Data Service, SDK: Transactions 1.1.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Audit: User logout and session timeout events.

    Node

    Offline/Online

    Direct

    Yes

    Audit events are generated on a per node basis.

    Backup to S3.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6. Information on cbbackupmgr compatibility is provided in cbbackupmgr Tool.

    Analytics: External links.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Analytics: RBAC for datasets.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Analytics: Audit enhancements.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Analytics: External datasets.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Query Service, Search Service: N1QL-FTS Flex.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Data Service: Support for consistent backup.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Data Service: Durability-Level Bucket Settings.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Eventing Service: Cancel/Overwrite Timer.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6. Note that existing timers created, in 6.0.x or 6.5.x, cannot be canceled or overwritten after upgrade to 6.6.0: such timers maintain their prior behavior. Only new timers, created in 6.6.0, can be overwritten.

    Eventing Service: Delete/Expire.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Data Service: Phonehome & nutshell changes for Project Marvel.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Couchbase Web Console: Import Documents

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Community Edition: Link to Index Advisor.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Native LDAP: Support for Client Certificate.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6. This option should be used only with an LDAP server that does not expect the SASL EXTERNAL bind command to be sent, once a TLS connection has been established. Note, therefore, that this option can be used with the GSuite LDAP server.

    ns_server: Only generate SAN entries in self-signed certificates, leaving CN blank.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    ns_server: Ability to exclude 'sensitive' metakv entries on iterate.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Non-Root Install and Upgrade: Single procedure for all supported platforms.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Non-Root Install and Upgrade: Start, stop, and status commands.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    RBAC: Sync Gateway Role.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6.

    Single Address-Family Service-Binding.

    Cluster

    Offline/Online

    Direct

    No

    All nodes must have been upgraded to 6.6. Note that this modifies the behavior of 6.5.1 and earlier, where services that failed to bind to a port with one of the address families, could then potentially bind to the same port with the other address family. The change impacts externally accessible ports.

    Mixed Mode

    Mixed Mode in this context refers only to the nodes that are running the indicated service. So if No is marked in the Mixed Mode column for a given feature, then all of the cluster nodes that are running that service must be upgraded to Couchbase Server 6.6 in order to enable that feature. If Yes, then the feature can potentially be enabled even if some of the nodes that are running the indicated service are on older versions of Couchbase Server.

    Prepared Statement Upgrades

    When performing an online upgrade from Couchbase Server 6.0.3 or earlier to Couchbase Server 6.5 (or later), an improvement to Couchbase Server security in N1QL may cause active Couchbase SDK 2.x applications to return the error 4040: No such prepared statement. Note that 2.x here refers to the 2.x SDK API, and so includes Couchbase Go SDK 1.x.

    Client-side workarounds:

    • Restart the application server after the server upgrade. This implicitly clears the client cache, leading it to prepare statements again.

    • Change the application code. If the application receives an error 4040, clean the cache using invalidateQueryCache() and retry. (This only works for Java.)

    • Upgrade to Java SDK 2.7.13; Go SDK 1.6.6; or LCB 2.10.6 (for C, Node.js, PHP, or Python SDK), or to SDK 3.0.

    Server-side workarounds:

    1. Upgrade the first node — this can be a Data service node, or any other node.

    2. Increase the prepared statement cache size. In the Query Workbench, go to Settings  General  Query Settings  Advanced Query Settings and set Prepared Limit to 66560.

    3. Make sure that encoded_plan will be honored. Also in Settings  General  Query Settings  Advanced Query Settings, set N1QL Feature Controller to 8.

    These settings persist, and will be used as other query service nodes are upgraded.