Release Notes

Release Notes

Couchbase Server 5.0 Beta delivers exciting capabilities for cross datacenter replication, security, query, tools, and application development. Take a look at What's new for a list of new features and improvements that are available in this release.

Attention: Couchbase Server 5.0 is still under active development, which means that it may change significantly before the final GA release. The Beta 2 labeling implies that while the core features of the software have been implemented, the product might still contain some rough edges and bugs.

Couchbase Server 5.0 Beta 2 is not supported in production, and we recommend that you use it in a non-production environment.

Latest Updates: July 18, 2017

As we move closer to the GA release of the product, Couchbase Server 5.0 Beta 2 brings the following updates:
Upgrade
  1. With the Beta 2 release, you can consider to upgrade from a previous version of Couchbase Server (4.x) to 5.0. However, we do not support 5.0 in production yet, and we recommend that you experiment with upgrade in a non-production environment.
    • If you are using Couchbase Server 3.1.x, 4.0.0, 4.1.x, 4.5.x, or 4.6.x Enterprise Editions , then you can directly upgrade to 5.0 Beta 2 in non-production using offline / online upgrade options.
    • If you are using Couchbase Server 5.0 beta 1, then you should consider doing a fresh install of the product.
    • If you are on the Windows platform, in-place upgrades from pre-5.0 versions to 5.0 is not supported because of change in the installer (.exe to .msi). To upgrade your pre-5.0 configurations to 5.0, use rolling upgrade in this scenario.
  2. N1QL Application Continuity: In 5.0 Beta 1 release, N1QL introduced multiple performance enhancements enabled by a new internal protocol between Query and Index services. While upgrading large Couchbase cluster deployments, the cluster may be in a state where different Couchbase services are running on different versions. In such scenarios, this feature ensures seamless continuity for N1QL queries and applications irrespective of whether the query and indexing services are running a 4.x or 5.0 version. The N1QL clients can avail the 5.0 features and performance only when the issued query is processed by 5.0 query and indexing services.
New Features
  • X.509 Certificate Authentication offers a way of authenticating Java applications to Couchbase using a user-specified X.509 certificate. See Certificate-Based Authentication for details.
  • Plasma presents a highly scalable and performant key-value storage engine for secondary indexes. See Global Secondary Index Storage for details.
  • CURL() white listing: This feature makes access to the N1QL function CURL() more secure and configurable. In beta2 release, administrators can specify a whitelist of REST endpoints which can be accessed by the CURL function. For more information, see Creating a Whitelist for CURL() Access.
  • The N1QL RBAC statements GRANT ROLE and REVOKE ROLE are renamed to GRANT and REVOKE respectively, and their syntax has been changed to use the ON clause.

New Supported Platforms

This release also adds support for Ubuntu 16.04, SUSE Linux 12, Oracle Linux 7, and Microsoft Windows 2016. For more information, see Supported Platforms.

Changes in Behavior

Here are the behavior changes in the product, compared to the previous (4.6.x) release.

  • Newly created buckets in 5.0 (including sample buckets) do not have any passwords associated with them. To access a bucket, a user must be created with appropriate roles to access using RBAC.
  • The TAP protocol which was previously deprecated, is now removed. TAP is an internal protocol that streams information about data changes between cluster nodes. TAP is replaced with a new protocol called Database Change Protocol (DCP).
  • Port based buckets can only be created now through the bucket CLI command. Use the couchbase-cli bucket-create command to create a port based bucket.
    Remember: Server-side moxi which drives port based bucket creation has been deprecated. Consider using client-side moxi instead.
  • For Windows, .exe installers which were previously deprecated are now removed and replaced with industry-standard MSI installer files. Consequently, any upgrade for the Windows platform from pre-5.0 version to 5.0 will need to be done in a rolling upgrade fashion.
  • Re-designed Couchbase Web Console.

Known Product Limitations

This section lists some of the limitations in different areas across the product:

Area Description
Powerful Query, Indexing, and Search
  • Index Replicas Placement

    When deciding the index nodes to place index replicas, the system takes into account to not place replicas onto the same node, and to distribute the replicas across as many server groups as possible. It then chooses the nodes the have the fewest number of indexes to place the replicas. In the future, we will improve the replica placement algorithm to better optimize the memory, CPU, and disk usage across the index nodes.

  • Index Rebalance

    When adding new indexer nodes to a cluster to increase the capacity for indexes, the system will not move existing indexes onto the new nodes. To rebalance indexes from existing nodes to the new nodes, user needs to eject the existing nodes and add the new nodes. The system will then move indexes from the ejected nodes to the new nodes while balancing resource utilization. This is known as swap rebalance.

    Rebalance will not take into consideration any explicit index placement specified when an index was created. A user cannot perform create/drop/build index during index rebalance.

  • Online Index Upgrade

    To perform online upgrade from version 4.x, you need to make sure all indexes on an index have at least one equivalent index (index with same definition) on other nodes. One then fails-over the index node, upgrades the node to version 5.0, and then adds the node back to the cluster. While the node is failed-over, the equivalent indexes on other nodes will be leveraged for queries.

    Once the system has been upgraded to 5.0, you can use swap rebalance to perform online upgrade to future versions.

Upgrade

If you are using GSI indexes with a previous GA release of Couchbase (such as 4.x) or Couchbase 5.0 Beta 1, we suggest that you drop the older index definitions and recreate them using 5.0 Beta 2 with the newly introduced storage engine for GSI.

We’ve replaced the Windows .exe installers with industry-standard MSI installer files in this release. Consequently, only rolling upgrades from 4.x or earlier versions to 5.0 are supported. In future, we plan to support normal in-place upgrades from 5.0 to newer versions.
SDK Compatibility Many beta features require you to upgrade your client SDK versions. The current versions that support the latest features are shown below, and regardless of needing new features, it is always advised to upgrade to the newest SDK version.
SDK Version Reference
Java 2.4.7 Release notes
.NET 2.4.7 Release notes
Node.js 2.3.5 Release notes
Python 2.2.5 Release notes
PHP 2.3.3 Release notes
Go 1.2.4 Release notes
C 2.7.6 Release notes
Security x.509 Certificate-based Authentication for clients
  • x.509 Certificate Based Authentication only works for the data service.
  • For Couchbase Server 5.0 Beta 2, x.509 Certificate-based Authentication support is only available in the Java Client.
  • If using XDCR, do not use the "mandatory" mode for X.509 Certificate Authentication.
UI Known Issue: MB-25040 The text on the UI Logs tab overlap making the event messages unreadable.
Ubuntu 16: MB-25302 By default, python is not installed on Ubuntu 16. As some tools such as cbcollect_info, cbstats, cbbackup etc. require you to install python to be able to use them. This can be done using:
apt install python

Fixed Issues

This section lists the fixed issues in this release:

Cluster Manager

Issue Description
MB-19769 Couchbase CLI command for disabling web UI over port 8091 using the setting-security command.

Data Service

Issue Description
MB-25204 Unable to edit or view the documents from the UI for any sample or user created buckets.
MB-24923 Creating documents in a mixed cluster mode failed with an error.
MB-24474 Ephemeral buckets crashed during rebalance. While the issue has been fixed, note that rebalance can take some time to complete.
MB-23885 cbcompact failed to purge deleted data.
MB-21784 Temporary failure on stream request leads to rebalance hang.
MB-19663 Deletion of the bucket takes longer time.

Full Text Search Service

Issue Description
MB-25211 Queries returned deleted documents when level_compaction was turned on.
MB-24979 Rebalancing a cluster with FTS nodes failed.
MB-24978 Rebalancing a cluster with FTS nodes failed.
MB-24707 Clicking on a search result link failed to return the document, instead it returned the message “No pindex named”.
MB-24695 Query_string queries did not work well with numeric range values.
MB-19271 Idle nodes with the full text search service were observed to suddenly consume 100% CPU.
MB-17433 An error is thrown when trying to create more than 10 full-text indexes.

Indexing Service

Issue Description
MB-24530 Query with multiple spans (count(distinct field)) gives different results for IN operator with secondary index versus the primary index.
MB-24164 Data backup role is now enforced in secondary indexes.
MB-22963 Query with meta in [""] with primary index returns duplicate results.
MB-22092 When a create index statement specified the nodes, the UI incorrectly displayed the actual index definition including the node IP and name.

Query Service

Issue Description
MB-24940 User with query_select role on a bucket was able to insert values into another bucket.
MB-24937 User with query_insert permission on a bucket could create and drop a primary index on that bucket.
MB-24803 Following an upgrade, a bucket could not be accessed by the user created specifically for the bucket during upgrade.
MB-24732 An administrator user was unable to GRANT roles to other users if the admin user’s name contained special characters.
MB-24216 Slow running subqueries were not shown in active_requests.
MB-24048 Long integers are truncated when used in the TOSTRING() function.
MB-23966 Query results are different in a query using covered Intersectscan of array index and primary scan.
MB-23827 Arithmetic operations on UNNEST on array of values causes panic.
MB-23733 Queries with NOT of AND predicates are not using multiple indexes.
MB-23716 Query with regular expression times out on Centos and Windows systems. A panic seen in the query.log file.
MB-23203 Index-JOIN chooses the wrong index and doesn't choose the right index consistently.
MB-23032 The Query service may leak memory and crash with goroutine stacktraces when processing incorrectly and incompletely formed N1QL queries.
MB-22817 Fix covering of META.
MB-22757 Mishandling of mix of covering and non-covering scans may cause incorrect query results.
MB-22570 Date functions should return NULL on errors.
MB-22419 Query may result in incorrect results when handling LIMIT pushdown with intersect scans. Fix also includes related performance improvement.
MB-22398 Fix performance and correctness of Ordered and Intersect Scans.
MB-22313 Panic when WHERE clause contains IN [NULL].
MB-22105 Increasing batch size leads to crashes.
MB-22093 The goroutine memory leak in query engine execution pipeline.
MB-21958 The META().id predicate is not included in spans shouldn't use index pushdowns. This may result in incorrect results when WHERE clause has predicates on META().id and other predicates in the WHERE clause can be pushed to an index.
MB-21720 AND of ANY / EVERY does not work with array indexes.
MB-21660 Chained UPDATE FOR does not work for non-uniform dimensions.
MB-21293 Performance: Garbage Collection in query engine may cause 30% drop in throughput and CPU utilization.
MB-20980 Query may give incorrect results because of a wrongly pushed optimization of LIMIT from outer subquery to inner subquery.
MB-20946 N1QL scanner accepts escaped quoted strings as valid quoted strings, instead of returning error.
MB-20925 Correlated subquery with covered index will not return results.
MB-20517 INSERT and UPSERT parallelism should be limited.
MB-20384 A backslash in LIKE expression causes Query engine panic.
MB-20381 Numeric values exceeding MAXINT64 are truncated.
MB-20095 Query result may have unnecessary newline added during the ‘pretty’ format, even when the object or array in the result is empty.

Security

Issue Description
MB-25136 When a user with data backup role tried to restore a backup, cbbackupmgr failed with an authentication error.
MB-25117 When a user with data backup role tried to backup a cluster, cbbackupmgr failed with an authentication error.
MB-24948 When a non-cluster administrator user changed the user password, it caused the entire cluster to go offline.

Web Console

Issue Description
MB-20682 Show-by-server view does not work for DCP queues, views, and indexes.

Deprecated Items

The following platforms are no longer supported:

  • Microsoft Windows 7
  • Microsoft Windows 8
  • Microsoft Windows 2008
  • Amazon Linux 2014.03
  • Ubuntu Linux 12.04
  • Mac OS X 10.10, 10.9, 10.8

The following functionality is deprecated, will be deprecated or is unsupported.

Function Description
CLI setting-ldap command This command is deprecated in this release. Use the admin-role-manage command instead.
BASE64() functions (Deprecated since 4.5) The BASE64() function is deprecated in version 4.5; use the function BASE64_ENCODE() instead.

Also, use the BASE64_DECODE() function to reverse the encoding done by BASE64_ENCODE().

Server-side moxi proxy is deprecated in Couchbase Server and CLI tools Use Couchbase client SDKs or client-side moxi in your applications.
CRAM-MD5 for bucket authentication Use SCRAM protocol supporting clients for bucket authentication in Couchbase Server version 4.5. SCRAM protocol for bucket authentication will first be introduced in Java, followed by other SDK clients.
Deprecate XDCR API from /internalSettings REST endpoint in 4.5 /Settings/replications REST endpoint will be available for all replication settings and provides the same functionality.
CAPI based XDCR is deprecated CAPI based XDCR is deprecated and will be removed in a future version of Couchbase Server.

Note that the support for Elasticsearch Plugin has not been removed. However, the Elasticsearch Plugin may be modified in the future to use an alternative connection method such as DCP or XMEM XDCR (XDCR v2).

Couchbase Enterprise Backup and Restore tool The tools, cbbackup and cbrestore, are deprecated from the Enterprise Edition. We recommend replacing these old tools with the new enterprise backup and restore tool, cbbackupmgr.
Standard Global Secondary Indexes A new high performance storage engine for GSI will replace the existing GSI storage engine, which is deprecated.