Release Notes

Release Notes

Couchbase Server 4.6 delivers some 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.

Supported Platforms

This release also adds support for Microsoft Windows 10 Anniversary Edition and Mac OS Sierra. For more information, see Supported Platforms.

Changes in Behavior

Here are the behavior changes in the product, compared to the previous release:
  • Results for the OBJECT_PAIRS and OBJECT_INNER_PAIRS functions:

    Starting from version 4.6.0, the results generated by OBJECT_PAIRS and OBJECT_INNER_PAIRS functions use the word "val" for value instead of the N1QL reserved word "value".

    For example:

    "results": [ 
          { "$1": [ { "name": "key1", "val": "val1" } ] 
           }
      ] 
  • CREATE INDEX is not allowed using any of the document metadata attributes except meta().id:

    In earlier releases, CREATE INDEX on metadata such as meta().cas, meta().flags, meta().expiry etc. were allowed, but respective metadata attributes weren’t getting indexed. Couchbase Server 4.6 allows only meta().id attribute in index-key expressions when creating secondary index.

  • META function:

    META() with no keyspace parameter can be used in N1QL statements when that query/statement refers to only one keyspace or bucket. When multiple keyspaces are referred in a query (for example, JOIN or NEST), then the META expressions must be used with specific keyspace names as parameter, such as META(keyspace). In earlier releases, this requirement is not enforced, and META() with no parameters is still accepted, implicitly referring to the first keyspace name used in the query. Couchbase 4.6 enforces this requirement and throws syntax error if META() is used with no parameter.

  • Upgrading Couchbase Server when Full Text Search (FTS) Service is enabled:

    When upgrading a cluster with nodes running FTS, upgrades will fail unless all full text index definitions are first deleted. To upgrade a cluster with FTS indexes, first save the existing index definition JSON, then remove all full text indexes. Then upgrade all nodes to the desired version. Once all nodes are upgraded, recreate the index definitions using the REST API. Note that you need to manually remove the byte_array_converter attribute from the index definition JSON (see MB-18042).

Known Issues

This section lists some of the known issues in this release:

Issue Description
MB-22814 When creating a new Memcached bucket, existing Couchbase buckets may appear as not ready in the Couchbase Web Console for a few seconds. This should not affect the front end clients.
MB-20338 During the source cluster rebalancing, in some cases when a node is removed, the outbound XDCR mutation statistics show a negative number.

Fixed Issues

Data Service

Issue Description
MB-21762 Sub-document commands failed when Couchbase Server was under memory pressure.
MB-20868 The Data Service would crash when an invalid cluster map was prepared for a Memcached bucket.
MB-21597 In the case of concurrent sub-document API operations from multiple clients, Couchbase Server does not honor the atomicity. This can result in one update overwriting the previous update, even though the previous update was successful as far as the client is concerned.
MB-21448 Performing the REPLACE_WITH_CAS operation on a key which has recently been deleted and then requested can occasionally return KEY_EEXISTS (key exists but with different CAS) instead of the expected KEY_ENOENT.
MB-20519 Memory allocation in Data Service caused Memcached to continuously crash on Microsoft Windows 10 Anniversary Edition.
MB-20245 When using the access.log, the Data Service warmup would not honour the thresholds to stop. It would only stop once all the documents in the access.log was loaded.
MB-21475 There is a race condition where the Data service node crashes and when a bucket is deleted.
MB-20822 The Failover table showed some entries that resulted in the incorrect vbucket sequence numbers.
MB-20623 When the Data service node performs warmup using the access.log, it can use a lot of memory causing a low resident ratio.
MB-21511 Better logging message when a network connection is closed during a rebalance.
MB-21369 A large number of XDCR connections to Memcached that led to connection leak.
MB-20871 Fixed an issue to correctly display counters with zero values.
MB-20843 Fixed an issue when cluster's name using the REST endpoints was not retrievable.
MB-19614 There is a race condition that can cause the XDCR service to crash when replication using version 1 of XDCR. Please note that version 1 is used when replicating to ElasticSearch.
MB-21879 XDCR replication might get struck and not able to replicate mutations to target cluster in some cases, because the data service node is under heavy load.
MB-21924 The cbbackupmgr incorrectly restored delete document tombstones (metadata) as full documents.

Query Service

Issue Description
MB-21593 When you canceled a query from the workbench, the query continued to run on the server even though the UI indicated that it was canceled.
MB-16772 Queries using indexes created on metadata attributes other than meta().id (such as meta().cas, meta().expiry) did not produce correct results.
MB-16857 The NEST ON KEYS query results may not preserve original key order of fields.
MB-17674 Syntax error messages may have Unicode values instead of the character itself. This is same as MB-18722 below.
MB-18722 When copied and pasted, the PREPARE statement text or condition does not evaluate the special characters because the text contains Unicode values.
MB-19230 The N1QL queries with LIKE predicates did not work with strings containing new lines.
MB-19988 The IN and WITHIN operators may not handle NULL in-list values.
MB-20023 Query engine panics with error when WITH clause is used with CREATE INDEX .. USING VIEWS clause.
MB-20086 A query with USE INDEX() may panic when no matching secondary or primary indexes are available.
MB-20183 The query text in the EXPLAIN plan was arbitrarily truncated.
MB-20384 The Query engine displayed errors when backslash (\) was used in the LIKE expression.
MB-20485 The DATE_DIFF_MILLIS displayed incorrect results in case of very small difference.
MB-20520 The colon (:) was not properly encoded when setting the Predefined Session Parameters in the cbq shell.
MB-20577 The cbq shell displayed password in the console error messages.
MB-20826 In the cbq shell, running multiple queries separated by semicolon (;) displayed an error in the batch mode.
MB-20897 In the cbq shell, the \SET command without name and only prefix, resulted in an empty parameter with a value.
MB-20925 N1QL queries with correlated sub-query using covered index did not return results.
MB-21161 The cbq command line utility was not working properly when the [User/Bucket] password contained special characters.
MB-21384 Queries accessing system keyspace got access to all buckets, even though one of the buckets in the query was password protected.
MB-21660 A query with chained UPDATE FOR clause does not work for nested array element fields.
MB-21720 Composite predicate with AND of ANY / EVERY expressions do not work with array indexes.
MB-21816 The MILLIS_TO_STR() and STR_TO_MILLIS() functions converted incorrectly for the futuristic date/time values.
MB-21958 Incorrect result when the SELECT COUNT() query uses a secondary index for the query, and has META().id in the predicate.
MB-22000 N1QL query returned intermittent error "Index not found" even though index was present.
MB-22093 N1QL queries returned "Error performing bulk get operation" errors intermittently.
MB-22105 The UPDATE, INSERT, UPSERT statements may fail with the error message: "Panic: : runtime error: slice bounds out of range", when running with increased pipeline_batch settings.

Index Service

Issue Description
MB-21038 Upgrading nodes with the query service to version 4.5 causes version 4.0 indexer services to crash during rolling upgrade (stale=false).

FTS Service

Issue Description
MB-18042 Breaking Change. FTS index definitions from earlier releases no longer work due to the removal of byte_array_converter. Workaround: Manually remove the “byte_array_converter” attribute from the index definition JSON and then recreate the index.
MB-21595 MossStore is now the default kv store for FTS. If you have full text index definitions from previous versions that you want to update, change “kvStoreName” to “mossStore”, otherwise they will stay set to “forestdb”.

Security

Issue Description
MB-21814 The Email Server Password was not saved correctly when the Email Alerts setting was enabled (from the Settings > Alerts page).

Deprecated Items

Support for the following platforms is deprecated in this release:
  • Microsoft Windows 2008
  • Microsoft Windows 2008 R2 SP1
  • Ubuntu 12.0.4
  • Mac OS X 10.10
Note: For Windows, .exe installers are deprecated starting with 4.6.0. Beginning with the next major release, Windows installers will be delivered as industry-standard MSI files. Furthermore, in-place upgrade of a node from 4.x to 5.x will not be supported. When upgrading a cluster to 5.x, we recommend performing a rolling-upgrade.

The following platforms are no longer supported:

  • Microsoft Windows 8
  • Mac OS X 10.9
  • Amazon Linux 2014.03

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

Function Description
TAP The TAP is an internal protocol that streams information about data changes between cluster nodes. In future releases, this protocol will be removed and not supported. The TAP is replaced with the Database Change Protocol (DCP).
CLI setting-ldap command This command is deprecated in this release. Use the admin-role-manage command instead.
CLI group-manage command Adding servers using the group-manage command is deprecated in this release. To add a server, use the server-add CLI command.
CLI rebalance command Adding servers using the couchbase-cli rebalance command is deprecated in this release. Use the couchbase-server-add CLI command instead.
CLI failover command Failing over multiple servers using one failover command option is deprecated in this release. Run the failover command once for each server.
CLI server-readd command The server-readd command is deprecated in this release. Use the recovery command instead.
BASE64() 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 4.5 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.
N1QL: Deprecated the use of path-expressions in FROM and JOIN clauses in version 4.5 FROM and JOIN clauses should use only keyspaces. Paths can be used for expressions in other clauses, operators, projections, and so on.
For example:
SELECT count(*) FROM `travel-sample`.schedule; 
can be rewritten as:
SELECT count(*)  FROM `travel-sample` WHERE schedule IS NOT MISSING;
CAPI based XDCR 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).

FTS support for ForestDB as a KV Store As of this release, FTS indexes use MossStore as their default KV store. FTS support for ForestDB as a KV store will be removed in a future version of Couchbase Server.
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, in version 4.5.