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

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

Starting with this release, the use of VIEW indexes is deprecated in N1QL only. 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-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-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, active Couchbase Java SDK 2.x applications may give 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