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.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.

    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.

    Fixed Issues

    Analytics Service

    Issue Description

    MB-37811

    Summary: Fixed an issue where the Analytics node failed to rebalance in after an IP reassignment. This issue was observed in a Kubernetes environment.

    MB-37458

    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.

    MB-37358

    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

    MB-37420

    Summary: Starting with this release, Couchbase Server supports node-to-node encryption with wildcard certs in SAN entries.

    Eventing Service

    Issue Description

    MB-38145

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

    MB-32437, MB-38033

    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

    MB-38390

    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

    MB-25982

    Summary: Fixed an issue where compaction of large vBuckets caused a significant increase in memory usage.

    Query Service

    Issue Description

    MB-37231

    Summary: New file append mode in cbq to append redirected output to the end of an existing file, rather than overwriting the existing file. See cbq: The Command Line Shell for N1QL for details.

    Search Service

    Tools, Web Console (UI), and REST API

    Issue Description

    MB-37498

    Summary: Fixed an issue where the cluster name information was lost in settings when adding an index node to the cluster.

    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.

    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 class N1QL(), 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"

    • 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

    MB-36461

    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 EVERY … IN … expression returning TRUE, while the Query service returns MISSING if the input is MISSING (or NULL if the input is NULL).

    Workaround: Use the IS KNOWN predicate to test whether the IN value is not NULL/MISSING.

    WHERE (x IS KNOWN) AND (EVERY y IN x SATISFIES …​ END)

    Cluster Manager

    Issue Description

    MB-37420

    Summary: Node-to-node encryption with wildcard certs in SAN entries are not supported in this release.

    Data Service

    Issue Description

    MB-32528

    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.

    MB-25982

    Summary: Compaction of large vbuckets causes a significant increase in memory usage.

    Eventing Service

    Issue Description

    MB-38145

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

    MB-37042

    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.

    MB-32437

    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.

    MB-31639

    Summary: The cbbackupmgr utility fails to backup a cluster with Eventing service for a user with "Data Backup & Restore" role.

    Index Service and Views

    Issue Description

    MB-31039

    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

    MB-38390

    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.

    MB-37269

    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.

    MB-33522

    Summary: The cbupgrade script fails to upgrade single node IPv6 clusters.

    MB-38046

    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 4040: No such prepared statement.

    Workaround: Refer to Prepared Statement Upgrades.

    Tools, Web Console (UI), and REST API

    Issue Description

    MB-37768

    Summary: On macOS (and OS-X) the cbc binary needs @rpath to be manually set on the cbc binary, this will allow proper execution of cbc (and related symlinked command line tools).

    Fixed Issues

    This section highlights some of the issues fixed in this release.

    Analytics Service

    Issue Description

    MB-36750

    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.

    MB-36702

    Summary: Fixed an issue where an analytics query threw an internal error when using to_string() to try to force optimizer to use an index.

    MB-36455

    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

    MB-33764

    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.

    MB-30920

    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.

    MB-30074

    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

    MB-30553

    Summary: Fixed an issue where requesting the hash statistic severely affects the response times of replicateTo requests.

    Eventing Service

    Issue Description

    MB-32244

    Summary: When dealing with non-existent keys, the get operation will now return undefined if the key doesn’t exist and the delete operation will now be treated as a no-op if the key doesn’t exist. Prior to version 6.5 both operations ( get or delete) threw exceptions when applied against non-existent keys. Note, the "language compatibility" setting in the Function Settings dialog allows for backward compatibility to maintaining prior behavior.

    Index Service and Views

    Issue Description

    MB-33478

    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.

    MB-30207

    Summary: Fixed SUM aggregate query for large integers.

    Install and Upgrade

    Issue Description

    MB-33003

    Summary: Corrected the port information in the post installation message.

    MB-30227

    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.

    MB-27129

    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

    Tools, Web Console (UI), and REST API

    Issue Description

    MB-35840

    Summary: The View index build progress information was missing on the UI and has been fixed.

    MB-33207

    Summary: Fixed an issue where the CB_CLUSTER environment variable doesn’t handle the prefix couchbase://` or no prefix at all. The fix ensures it behaves the same as using the --cluster argument with the cbbackupmgr tool.

    MB-29974

    Summary: Fixed an issue where full-text search index aliases were not backed up with the cbbackup tool.

    MB-29962

    Summary: Fixed an issue where full-text search index aliases were not backed up with the cbbackupmgr tool.

    Release Notes for Older 6.x Versions