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.
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. |
Node |
Offline/Online |
Direct |
Yes |
Audit events are generated on a per node basis. |
|
Cluster |
Offline/Online |
Direct |
No |
All nodes must have been upgraded to 6.6.
Information on |
|
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 |
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. |
Cluster |
Offline/Online |
Direct |
No |
All nodes must have been upgraded to 6.6. |
|
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 usinginvalidateQueryCache()
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:
-
Upgrade the first node — this can be a Data service node, or any other node.
-
Increase the prepared statement cache size. In the Query Workbench, go to
and set Prepared Limit to66560
. -
Make sure that
encoded_plan
will be honored. Also in , set N1QL Feature Controller to8
.
These settings persist, and will be used as other query service nodes are upgraded.