Release Notes for Couchbase Server 6.5
Couchbase Server 6.5 brings many sought-after relational capabilities to the NoSQL world. This release seeks to improve developer agility, reduce total cost of ownership, enhance manageability, and provide more enterprise-grade security and performance.
Take a look at What’s New? for a list of new features and improvements in this release.
Release 6.5.2 (February 2021)
Couchbase Server 6.5.2, released in February 2021, is the second maintenance release in the 6.5.x series for Couchbase Server. This release includes important bug fixes in various components.
Fixed Issues
Analytics Service
Issue | Description |
---|---|
Summary: Fixed an issue where the Analytics driver went into a restart loop when a filesystem corruption was encountered, resulting in the Analytics service exiting with an error. |
|
Summary: The validity bit was used to determine corrupted merged components. |
|
Summary: When making the debug log async, the DCP client log level was incorrectly set to ERROR. Fixed this issue to use the global service log level instead, which defaults to DEBUG. |
Data Service
Issue | Description |
---|---|
Summary: If a durable write is performed via INSERT (Add), an existing item may be removed from the hash table if it was deleted and not yet persisted. Another client performing a GET could trigger a fetch of the item from disk, and the returned item could be the logical predecessor of the unpersisted DELETE that was removed from the hash table if it had not yet been persisted. This means that the client would not be able to read their own write. This issue has been fixed. |
|
Summary: If a replica vBucket was promoted to active having only received a partial backfill (a data loss scenario), then a subsequent expiration of an item could expire a pending durable write if it had the same CAS. This caused any future lookups or writes to that key to cause memcached to crash. This issue has been fixed. |
|
Summary: During TLS handshake with the Data Service, if the node certificate required more than 8192 bytes to transmit, then the handshake failed. This has been fixed. |
|
Summary: Fixed an issue where histograms implemented with HDRHistogram stopped reporting when the total samples exceeded 2^31. |
|
Summary: Fixed an infinite loop due to HdrHistogram being reset. |
|
Summary: Fixed an issue where the replication of deletes with XATTRS failed if the affected document was non-resident. |
|
Summary: Fixed a potential crash during eviction for Ephemeral bucket with nruEviction configured. The crash was a result of a race condition leading to heap use after free. This is a rare condition and has only been seen during data race analysis. |
|
Summary: Fixed a potential issue where sanity checks may trigger at Replica and cause a crash when the node receives temporary mutations for Sync Replication. |
|
Summary: Added the ability to re-enable FTS logging in memcached for debug purposes. |
|
Summary: Fixed a performance regression where the HiFi-MRU Item Pager (added in 5.0) would evict more active items compared to previous LRU ItemPager under certain workloads. |
|
Summary: Fixed an issue where Memcached log wrapped due to excessive DCP "no memory" messages. |
Index Service
Issue | Description |
---|---|
Summary: Fixed an issue where the listReplicaCount operation timed out causing a failure during index creation. |
|
Summary: The index service now sets a more contextual user-agent in HTTP requests to the cluster manager(ns_server). |
|
Summary: Starting with version 6.5.0, VbSeqnosReader has been updated to process two types of requests: VbSeqnosRequest and VbMinSeqnosRequest. When processing VbSeqnosRequest, if there are any VbMinSeqnosRequest’s, then the VbMinSeqnosRequest’s will be queued back into the requestCh of VbSeqnosReader. However, if the VbSeqnosReader closed by this time, then enqueue would fail and the caller would be waiting for a response indefinitely. This has been fixed to respond to outstanding requests upon exit of VbSeqnosReader. |
|
Summary: During index definition operations, the cluster info cache is updated multiple times. In a cluster with large number of buckets, refreshing the cluster info cache took a long time and slowed down these operations. This has been fixed. |
|
Summary: Fixed an issue where a delay in the connectBucket function seemed to cause the indexer to projector connection time out. |
|
Summary: Increased the size of the change notification channel in leader to avoid possible deadlock in removeListener in gometa leader. |
|
Summary: The projector went into a stream termination loop when trying to stream a near 20 MB document due to redundant doc size checks in projector. This has been fixed. |
|
Summary: Fixed a runtime error caused by invalid memory address or nil pointer derefernce by adding compression correctness checks. |
|
Summary: Fixed a memory growth issue observed when processing many metadata operations. |
Query Service
Issue | Description |
---|---|
Summary: Fixed an issue where setupSSL() failed and impacted query execution. |
|
Summary: Fixed an issue where bulk deletes with USE KEYS did not process all keys. |
|
Summary: Fixed an issue causing inconsistent response from a query using USE keys. |
|
Summary: Fixed an issue where index aggregates were being pushed down incorrectly. |
|
Summary: Fixed an issue where parsed.Index() cached the wrong element. |
|
Summary: When passing permission string to cbauth, cbq engine did not remove backticks. This has been fixed. |
Search Service
Issue | Description |
---|---|
Summary: Set the index for the serverMap incrementally. |
|
Summary: Fixed an issue of too many open connections by closing old gRPC ClientConns on refresh. |
|
Summary: Fixed an issue where flex index query failed periodically by initializing the index client only when successful. |
|
Summary: Fixed an issue where some nodes were unavailable following a failover. |
Release 6.5.1 (April 2020)
Couchbase Server 6.5.1, released in April 2020, is the first maintenance release in the 6.5.x series for Couchbase Server. This release adds support for bounded polygons in geospatial search queries in addition to improvements in Query service and tools components. It also includes important bug fixes in various components.
Quick Links: New Features | Other Improvements | Fixed Issues | Deprecated Features
New Features
Support for Polygon in Geospatial Search Queries
The areas within which geospatial search queries return matches can now be specified as polygons, in addition to circles and rectangles. Each polygon is expressed as a series of latitude-longitude coordinates, each determining the location of one corner of the polygon. For details, see Geospatial Queries.
Other Improvements
-
Configure filtered events in audit logs using
couchbase-cli
. See setting-audit for details. -
Built-in support to manage document expiration using N1QL. See N1QL DML statement documentation for details - INSERT | UPSERT | UPDATE | MERGE.
-
Standardized non-root install and upgrade for rpm packages which enables you to easily install, upgrade, and maintain Couchbase Server as a non-root user.
-
Install: A new installer
cb-non-package-installer
is used to install Couchbase Server instead of usingrpm2cpio
andreloc.sh
. See Performing Non-Root/Non-Sudo Installation for details. -
Status: Introduced a new command
couchbase-server --status
that enables you to check the status of the server. -
Upgrade: The
cb-non-package-installer
is used to upgrade Couchbase Server from previous versions. All upgrade options, including Rolling Online Upgrade with Graceful Failover and Delta Recovery are supported. See Upgrading as Non-Root/Non-Sudo for details.
-
Fixed Issues
Analytics Service
Issue | Description |
---|---|
Summary: Fixed an issue where the Analytics node failed to rebalance in after an IP reassignment. This issue was observed in a Kubernetes environment. |
|
Summary: On Azure, an Analytics cluster with more than one node failed during cluster configuration as the second node was unable to join the cluster. The issue was caused by resolving the name of each node on the node itself, instead of resolving the names to addresses on the caller side. The best-practices document instructs users to assign the public DNS node name to localhost in the hosts file, causing the callers to erroneously attempt to contact nodes on their own loopback interface. This has been fixed. |
|
Summary: The analytics service no longer makes all assigned quota available to the JVM as heap. The service reserves some amount of this quota for JVM overhead, to help prevent the system from becoming unstable due to low memory. |
Cluster Manager
Issue | Description |
---|---|
Summary: Starting with this release, Couchbase Server supports node-to-node encryption with wildcard certs in SAN entries. |
Eventing Service
Issue | Description |
---|---|
Summary: Fixed an issue where N1QL generated from Eventing used only indexes that were present at the time of deployment. This issue was only observed with Couchbase Server versions 6.0.3 (build 2895) and 6.5.0 (build 4960). |
|
Summary: In a multi-bucket scenario approaching the new 30 bucket limit, the Eventing service supports only one function per bucket. An error will be thrown when deploying the second function on a given bucket. |
Install and Upgrade
Issue | Description |
---|---|
Summary: It was impossible to directly upgrade Couchbase Server from versions prior to 5.5.0 to version 6.5.0 if any cluster contained deleted documents. This was caused by DCP Deletion V2 packets being sent regardless of whether the DELETE_TIMES feature was negotiated. This has been fixed and you can directly upgrade Couchbase Server from versions prior to 5.5.0 to version 6.5.1. See Supported Upgrade Paths for details. |
Index Service and Views
Issue | Description |
---|---|
Summary: Fixed an issue where compaction of large vBuckets caused a significant increase in memory usage. |
Query Service
Issue | Description |
---|---|
Summary: New file append mode in |
Search Service
Issue | Description |
---|---|
Summary: Fixed an issue where the Scorch file merger leaked index snapshot refCounts on index closure. |
|
Summary: An exception in the third-party dependency "RoaringBitmap/roaring" caused a runtime exception (index out of range) in the Search service. This has been fixed by upgrading the roaring SHA to release v0.4.19 which contains the fix. |
Deprecated Features
-
Memcached buckets are deprecated in this release. We recommend using Ephemeral buckets as an alternative.
-
Use of 'top-keys', which returns a JSON object containing information on the most frequently used keys within a bucket, is deprecated. Top-keys provides data for the display on each per-bucket Statistics screen in Couchbase Web Console.
Release 6.5.0 (January 2020)
Couchbase Server 6.5 was released in January 2020.
Quick Links: New Supported Platforms | Deprecated Features and Platforms | Known Issues | Fixed Issues
Major Changes in Behavior from Previous Releases
This section notes major changes in behavior from previous releases.
Backup and Restore
Compression
In the previous versions of Couchbase Server, value compression always occurred on the backup client.
Starting with version 6.5, cbbackupmgr
will leverage Server compression and back up the documents as compressed whenever possible.
If the data is compressed by default, it will be backed up as compressed.
If the data is not compressed, it will be compressed first and then backed up when value compression is opted. This improves the performance by reducing the size of the data set to back up for transmission on the pipe and for the backup itself.
Eventing Service
-
The internal class
N1qlQuery()
has been removed and replaced with internal classN1QL()
, and the latter is not syntactically backwards compatible with former.
Networking
This release introduces the following networking changes:
-
The Search Service now uses port 9130 / 19130 for node-to-node traffic.
-
The Search Service also no longer uses an encrypted port unless node-to-node encryption is enabled.
In Couchbase Server 6.0 Enterprise Edition, the Search Service explicitly required encrypted port 18094 for scatter-gather operations between nodes running the Search Service (even if you were still using unencrypted port 8094 for client-to-node traffic). Starting in Couchbase Server 6.5, the Search Service uses gRPC over port 9130 / 19130 for all node-to-node traffic, and no longer uses an encrypted port for intra-cluster communication unless node-to-node encryption is enabled.
-
-
The 21100-21299 range of cluster and data management ports is no longer required. Instead, the following ports are now required for cluster management:
-
21100 / 21150: Node-to-node communication
-
21200 / 21250: Node-local communication
-
21300 / 21350: Node-local communication
-
For more information about required network ports, refer to Network and Firewall Requirements.
View Indexes
The use of view indexes is deprecated in N1QL only and will be removed in a future release. Node-to-node encryption is unsupported for the use of view indexes in N1QL only.
Features Now Available in Couchbase Server Community Edition
Starting with this release, the following features have been made available in the Community Edition of Couchbase Server:
-
Built-in Schema Browser (INFER)
-
CBIMPORT/CBEXPORT
-
Graphical Explain Plan
-
Schema display auto-complete in the query editor
New Supported Platforms
This release adds support for the following platforms:
-
CentOS 8
-
Debian 10
-
macOS 10.14 "Mojave" (Development only)
-
Oracle Linux 8
-
SUSE Linux Enterprise Server 15
-
Microsoft Windows Server 2019
See Supported Platforms for the complete list of supported platforms.
Deprecated Features and Platforms
Deprecated and Removed Platforms
Debian 8 platform is deprecated in this release.
Starting with this release, the following platforms are no longer supported:
-
CentOS 6
-
macOS 10.12 "Sierra"
-
Amazon Linux AMI 2018.03, 2017.09
-
Oracle Linux 6
-
Red Hat Enterprise Linux 6
-
SUSE Linux Enterprise Server 11
-
Windows Server 2012
Starting with this release, the following browsers are no longer supported:
-
Microsoft Internet Explorer
Deprecated Features
The following functionality is deprecated or is unsupported.
-
The following values for the format parameter of the Analytics Service API are being deprecated in this release and will be removed in a future release:
application/x-adm
,application/json
,application/json;lossless
,text/csv
. -
Starting this release, the Analytics Service has deprecated the use of OpenJDK 8.
Known Issues
This section highlights some of the known issues in this release.
Analytics Service
Issue | Description |
---|---|
Summary: In cases where the input to IN subclause with EVERY quantifier is MISSING or NULL, Analytics and Query engines differ in behavior. The Analytics service treats MISSING or NULL input values(in this case) as equivalent to an empty array, which results in the whole Workaround: Use the IS KNOWN predicate to test whether the IN value is not NULL/MISSING.
|
Cluster Manager
Issue | Description |
---|---|
Summary: Node-to-node encryption with wildcard certs in SAN entries are not supported in this release. |
Data Service
Issue | Description |
---|---|
Summary: When a synchronous durability request is made unrelated operations pipelined on the same socket may be serviced with higher latency, due to MB-10291. |
|
Summary: Memcached connections may hang due to |
|
Summary: Compaction of large vbuckets causes a significant increase in memory usage. |
Eventing Service
Issue | Description |
---|---|
Summary: N1QL generated from Eventing uses only indexes that were present at the time of deployment. Ensure all indexes necessary for queries utilized by the function have been created prior to deploying the function. This issue is only observed with Couchbase Server versions 6.0.3 (build 2895) and 6.5.0 (build 4960). |
|
Summary: The CLI and REST tools for exporting and importing Eventing functions do not support cross compatible syntax when using only the command line, however the UI can import either syntax. |
|
Summary: In a multi-bucket scenario approaching the new 30 bucket limit, the Eventing service supports only one function per bucket. An error will be thrown when deploying the second function on a given bucket. |
|
Summary: The |
Index Service and Views
Issue | Description |
---|---|
Summary: A disk usage spike is observed during the initial index build. The disk usage comes down once the log cleaner catches up. |
Install and Upgrade
Issue | Description |
---|---|
Summary: It is impossible to directly upgrade Couchbase Server from versions prior to 5.5.0 to version 6.5.0 if any cluster contains deleted documents. This is because DCP Deletion V2 packets are sent regardless of whether the DELETE_TIMES feature is negotiated. Workaround: Upgrade to an intermediate version, such as Couchbase Server 6.0.4+, before upgrading to 6.5.0. |
|
Summary: Upgrading from version 6.0.4 to version 6.5.0 using offline upgrade or rolling online upgrade using graceful failover and delta node does not work. Version 6.0.4 included a per-node configuration migration and it was released after 6.5.0 which doesn’t recognize the migration. Workaround: To upgrade successfully from version 6.0.4 to 6.5.0, you must use swap rebalance. This will be fixed in the next maintenance release on the 6.5.x series. |
|
Summary: The |
|
Summary: When performing an online upgrade from Couchbase Server 6.0.3 to Couchbase Server 6.5, some active Couchbase SDK 2.x applications may give an exception Workaround: Refer to Prepared Statement Upgrades. |
Fixed Issues
This section highlights some of the issues fixed in this release.
Analytics Service
Issue | Description |
---|---|
Summary: The following values for the format parameter of the Analytics Service API are being deprecated in this release and will be removed in a future release: application/x-adm, application/json, application/json;lossless, text/csv. |
|
Summary: Fixed an issue where an analytics query threw an internal error when using |
|
Summary: Fixed an issue where the analytics query returned different results (extra 'null' value) when indexnl hint was applied to left outer join. |
Cluster Manager
Issue | Description |
---|---|
Summary: In release 6.0.2 and above, only users with "security-admin" role assigned will be allowed to POST an HTTP request to the /controller/uploadClusterCA and /node/controller/reloadCertificate endpoints. In the previous releases, the user had to have "cluster-admin" role assigned in order to POST an HTTP request to /node/controller/reloadCertificate endpoint. |
|
Summary: Couchbase Server exposes '/diag/eval' endpoint which by default is available on TCP/8091 and/or TCP/18091. Authenticated users that have 'Full Admin' role assigned can send arbitrary Erlang code to 'diag/eval' endpoint of the API. The code will be subsequently executed in the underlying operating system with privileges of the user which was used to start Couchbase. |
|
Summary: If the memcached process crashed while indexes were being rebalanced, the memcached process could be failed to be brought online and the rebalance got stuck. This has been fixed and rebalance is now interrupted by memcached failure. |
Data Service
Issue | Description |
---|---|
Summary: Fixed an issue where requesting the hash statistic severely affects the response times of replicateTo requests. |
Eventing Service
Issue | Description |
---|---|
Summary: When dealing with non-existent keys, the |
Index Service and Views
Issue | Description |
---|---|
Summary: Any kind of collatejson crash caused a downtime, particularly on the mutation path. This has been fixed to recover only from collatejson crashes. After recovering, the docid is logged and the mutation key is skipped, and every such recovered-skip docid is logged as an error on the console. |
|
Summary: Fixed SUM aggregate query for large integers. |
Install and Upgrade
Issue | Description |
---|---|
Summary: Corrected the port information in the post installation message. |
|
Summary: Fixed an issue where in-place (offline) upgrades to Couchbase Server on Windows from 5.0.x or 5.1.x to later releases failed. |
|
Summary: The install experience on Mac OS has been improved and starting this release, a disk image installer is available for Mac OS. |
Search Service
Issue | Description |
---|---|
Summary: Fixed an issue where Scorch indexes were found to contain duplicate pindexes. |
Tools, Web Console (UI), and REST API
Issue | Description |
---|---|
Summary: The View index build progress information was missing on the UI and has been fixed. |
|
Summary: Fixed an issue where the |
|
Summary: Fixed an issue where full-text search index aliases were not backed up with the |
|
Summary: Fixed an issue where full-text search index aliases were not backed up with the |