A newer version of this documentation is available.

View Latest

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.

Release 4.6.5

Couchbase Server 4.6.5 was released in June 2018. This is the fifth maintenance release in the 4.6.x series of Couchbase Server and includes important bug fixes applicable to all prior 4.x releases. We recommend that you upgrade to the 4.6.5 release and deploy these important bug fixes.

Upgrading to Version 4.6.5

Since most Couchbase Server upgrade procedures involve rebalance, some care must be taken when upgrading from a version prior to 4.6.5 to avoid being affected by MB-29959. Specifically, graceful failover and/or remove+rebalance should not be used to start this upgrade. As such, there are a few best practice approaches:

  1. Add a net-new node of at least 4.6.5 to any existing cluster first. This new node will become the orchestrator and any further rebalance will not be affected. From then on, follow the instructions in Performing Online Upgrade.

  2. If a net-new node is not available, a hard failover can be performed on any node, that node upgraded to 4.6.5 and then re-added to the cluster. This is only required for the first node and, as per #1 above, any further rebalance operations will not be affected. From then on, follow the instructions in Performing Online Upgrade.

  3. As XDCR is not affected by MB-29959, upgrading one cluster in a multi-cluster setup is also supported. Ensure that no writes are going to the cluster during its upgrade unless following the approaches listed in #1 or #2 above. For instructions, see Upgrade Using Inter-cluster Replication.

  4. Offline upgrade will not be affected. For instructions, see Performing the Offline Upgrade.

Fixed Issues

This section lists some of the notable fixed issues in this release, grouped by component.

Cross Datacenter Replication

Issue Description

MB-29531

Fixed an issue where bidirectional XDCR across clusters was not working as expected.

Data Service

Issue Description

MB-29959

During rebalance, it was observed that sometimes in-flight mutations did not persist correctly. We’ve fixed the issue in this release and recommend upgrading to get the fix. For best approaches when upgrading, see Upgrading to Version 4.6.5

MB-29381

Rebalance failed initially if the destination node for a vBucket required a rollback. During a rebalance, if the destination node for a particular vBucket already had a previous, outdated version of that vBucket then the rebalance failed initially.

Tools

Issue Description

MB-27880

The cbbackupmgr utility failed to merge incremental backups.

Release 4.6.4

Couchbase Server 4.6.4, released in November 2017, is the fourth maintenance release in the 4.6.x series of Couchbase Server. This release has fixes related data, index, and query services, security, tools, and upgrade.

Fixed Issues

This section lists some of the notable fixed issues in this release, grouped by component.

Cluster Manager

Issue Description

MB-25682

Cluster Manager (beam.smp process) experienced increased memory usage during the /diag collection during cbcollect_info

Data Service

Issue Description

MB-25630

The timing statistics did not report file system timings for read-write data stores.

Index Service

Issue Description

MB-26698

The transport packet headers for incoming index service messages are now validated.

MB-26429

For an index that was built with defer_build:true, the CREATE INDEX statement on the Indexes tab showed an invalid N1QL statement that could not be copied "as is" to run using cbq or the Query Workbench.

Query Service

Issue Description

MB-26469

The root certificate could not be verified when cbq-engine was manually brought up using config/ssl-cert-key.pem passed to both certfile and keyfile.

MB-26338

Creating a PREPARE statement when another one with the same name but a different query was already present caused some PREPARE statements to hang. This issue was due to a lock not being released when a conflict was found.

MB-26012

PREPARE statements were unable to decode OrderedIntersectScan as the operator was missing. This operator has been added.

MB-25901

The ORDER BY operator sometimes continued to sort even after the operation was stopped leading to an exception.

MB-25900

The ORDER BY operator sometimes threw an exception due to a race condition.

MB-25825

Executing the encoded plan of a CREATE INDEX statement containing a WITH clause failed with an error.

MB-25737

The aggregate function GROUP BY on an empty table incorrectly returned "null" instead of an empty array "[]".

Security

Issue Description

MB-25922

On CentOS 6, the default Couchbase start priority was 50 and saslauthd had a default priority of 65. As a result, Couchbase started before saslauthd which caused authentication errors.

Tools

Issue Description

MB-26498

The check to see if two backup processes are running on the same archive was being performed after removing any unfinished merge files. As a result, if a backup process was started when another backup process was performing a merge, the merge files were deleted and the backup process failed.

MB-25770

An error was thrown when trying to backup a cluster with a non-integer value for the metadata purge interval (for example 0.4).

MB-25727

The cbbackupwrapper tool sent incorrect snap start, start, and snap end sequence numbers and was hanging during incremental backups.

MB-25679

The default behavior of the cbcollect_info tool has been changed to just collecting diagnostics from the node it’s run on.

MB-25566

The cbbackupmgr tool failed with an error "Argument already specified" when an argument was set as an environment variable.

MB-26425

The cbbackupmgr merge operation failed to return proper error messages when it failed to retrieve start sequence numbers from a backup.

Upgrade

Issue Description

MB-25909/ MB-25878

When the source node was upgraded in a unidirectional replication from 4.1 to 4.6, the GoGC global setting was set to 0 instead of a higher number.

Release 4.6.3

Couchbase Server 4.6.3, released in August 2017, is the third maintenance release in the 4.6.x series of Couchbase Server. This release has fixes related to data, index, and query services, security, cluster manager, tools and UI.

Fixed Issues

This section lists some of the notable fixed issues in this release, grouped by component.

Data Service

Issue Description

MB-25241

Requesting for the topkeys statistic without specifying a bucket resulted in a Memcached crash.

MB-24648

If a Data Service Couchbase Server node is added to a cluster using the same IP/host name of a node that has been a member of a cluster previously without first failing-over the old node, data loss can occur as the new node does not have the expected data. This has been fixed by first checking to see if the node is a part of the cluster before adding it.

Index Service

Issue Description

MB-25318

When using Memory Optimized Indexes (MOI), the index service crashed when trying to open the database and load the snapshot following a restart.

MB-25266

Error checks during the creation or load of snapshots for Memory Optimized Indexes (MOI) have been added.

MB-25253

Index Service file descriptor leak in the index service has been fixed by ensuring that responses obtained from any HTTP request in GSI are closed.

MB-25146

Malformed requests were not handled by the Query Service and resulted in a crash on the Index Service.

MB-23583

Using Standard Disk Based indexes, the index service crashed repeatedly as compression or decompression failures during block reclaim were not propagated, resulting in corrupted data being used during the next block reuse or file re-open.

Query Service and N1QL

Issue Description

MB-25395

The query engine panicked when a prepared statement using subquery expressions was executed using the encoded plan.

MB-25388

With N1QL, the UNNEST using an array index was using a covering index incorrectly. For an UNNEST index to be covered it needs ALL not DISTINCT, even though the whole array present as part of the index.

MB-25290

Long integers were truncated when used in the ToString() function in N1QL.

MB-25167

Query Service authentication failed when the password contained a colon (":") character.

MB-24871

The execution of ad-hoc N1QL queries with parameters provided at the time of query submission has been optimized and no longer require a prepare-execute step.. The parameters are substituted before optimization, thus ensuring the best possible index is selected.

MB-24594

N1QL with covered index joins returned incorrect results.

MB-21928

The command line shell for N1QL, cbq, now connects to 8091 with http and 18091 with https by default when the port is not specified.

Cluster Manager

Issue Description

MB-24870

Logging for the views engine has been improved to lengthen the amount of data stored and reduce the wrapping of logs.

MB-24314

Removed assertion in Server Side Moxi to allow the service to continue to operate in the event that expected connections are not found in the internal tracking. Additionally added improved logging to diagnose such issues.

Security

Issue Description

MB-24318

Improved error messages for TLS certificate validation.

Tools

Issue Description

MB-25464

When you run cbstats -a, if the statistics for one of the buckets in the list are unavailable, for example a Memcached bucket, the cbstats utility exits without collecting the statistics from the remaining buckets in the list.

MB-25245

The cbrestorewrapper utility now has a --add option that allows you to add so as to not overwrite existing items in the destination.

MB-25159

When the Couchbase cluster was overloaded and failed to respond to requests for the latest sequence numbers, or if a node in the cluster was unreachable when the backup started, the backup continued. However, this caused crashes or full re-streams in subsequent backups.

MB-24912

Two failover entries on the same server containing the same sequence number caused backups to not be incremental. This is a rare situation because Couchbase Server would need to be started and crash very quickly (before any items are written to it) in order for this issue to occur.

MB-24571

The cbbackupmgr utility now purges deletes during merge. Without purging, you would see an increase in your backup size during merges as deletes are always kept.

MB-24536

Transferring data using cbtransfer threw an exception and the cbtransfer utility hanged.

MB-21652

The error message "db is being used by another handle" was not known to cause any issues and has been handled to not appear any more.

MB-20403

The cbbackupmgr merge command did not function correctly and caused data corruption under the following circumstances:

  • The bucket being backed up was flushed between incremental backups.

  • The bucket being backed up was deleted and re-created in between incremental backups.

  • The bucket had not been backed up between a document’s deletion and the metadata for that deleted document being purged.

  • There had been a failover between incremental backups of the bucket .

UI - Web Console

Issue Description

MB-24197

When the Query Workbench failed to get the list of buckets, it resulted in a failure of all subsequent queries until the browser was refreshed and a valid list of buckets was received from the server. This has been fixed to report an error in the bucket analysis tab. Additionally, when the query engine starts working again, queries on non-password-protected buckets will work. However, if you want to query password-protected buckets, you need to either click the refresh button on the bucket analysis tab, or switch tabs away-from, and then back-to the query tab.

XDCR

Issue Description

MB-25364

The default number of XDCR checkpoint records has been reduced from 100 to 5 and the number of checkpoint records is now configurable at runtime using the parameter num_checkpoints.

MB-25013

When the host name in a remote cluster reference is unusable, XDCR picks an alternative target node in a more deterministic manner so that all source nodes would pick the same alternative target node.

MB-24832

XDCR incorrectly deletes replication streams. The replication periodically checks the source bucket status and if it detects a change in the source bucket UUID, which is caused by either bucket deletion or recreation, it deletes itself. However, replication incorrectly deleted itself when the source bucket check failed with an error that was not a change in the UUID. This has been fixed.

MB-24817

XDCR fails to replicate some documents during graceful failover of target cluster if the takeover stream was closed before all the items were streamed.

MB-24769

Computing sequence numbers in XDCR had an inefficiency when there were large gaps between sequence numbers and took much longer than needed to complete. This caused various issues such as stats missing from the log file and replication failing to stop for a while.

Known Issues

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

Issue Description

MB-25590

Summary: Query Service, Using N1QL incorrect results may be returned when the UNNEST expression does not match the array index expression. For example:

CREATE INDEX idx-mismatch
  ON default(all addr);

EXPLAIN SELECT v.seqno
FROM default
  USE index (idx-mismatch)
  UNNEST default.messages AS v
WHERE v.seqno >1;

Workaround: Do not use the simplified array index. Instead create a full array index as shown in the following example:

CREATE INDEX idx-fullarray
  ON default (ALL ARRAY v FOR v IN add END);

MB-25669

Summary: On Windows platform, the cbimport tool fails to import a tab delimited CSV file where the tab is specified using '\t' or '\\t'.

Workaround: Use Cygwin on the Windows platform to run the command as a Linux command. For example,

$ /cygdrive/c/Program\ Files/Couchbase/Server/bin/cbimport.exe csv
-c http://127.0.0.1:8091
-u Administrator -p 'password'
-b default
-d file://c:/tmp/csv_tab
--field-separator $'\t'

MB-25188

Replication from a timestamp-based conflict resolution bucket to Elasticsearch node is not supported and sequence number based conflict resolution will be used instead.

Release 4.6.2

Couchbase Server 4.6.2, released in May 2017, is the second maintenance release in the 4.6.x series of Couchbase Server. This release has fixes related to many different components.

Fixed Issues

This section lists some of the notable fixed issues in this release, grouped by component:

Backup

Issue Description

MB-23531

Sometimes cbbackupmgr would fail to get stats for a bucket when performing a backup. This results in some of the data from a bucket not being backed up.

MB-23105

cbbackupmgr might re-stream all mutations if there are multiple entries in a vBucket failover log. This causes cbbackupmgr to run a full backup every time, rather than incremental backups.

MB-22716

Using cbbackup with the command-line flag cbb_max_mx causes cbbackup to unexpectedly terminate.

MB-22325

cbbackupwrapper sometimes ends with a threading exception. Although this does not affect the backup, it would cause the incorrect exit code to be returned.

MB-20891

DCP rollbacks are sometimes not handled correctly, causing cbbackupmgr to unexpectedly terminate for subsequent backups using the same archive. This unexpected termination would be indicated by the message 'panic: runtime error: invalid memory address or nil pointer dereference'.

Cluster Manager

Issue Description

MB-24088

The secrets management feature fails to encrypt secrets larger than 4KB (such as SSL certificates). This causes the cluster manager to unexpectedly terminate when saving the cluster configuration to disk.

MB-23327

A race condition means that adding a node to a cluster shortly after node startup causes the cluster management process on the node to crash. This results in the failure of the node addition process.

MB-23268

The cluster management process' logging does not recover from situations where the disk that the logs are located on becomes full.

Data Service

Issue Description

MB-23591

A direct upgrade from 2.5.x to 4.6.x could result in a rebalance hanging or empty data files.

MB-23503

Previously removed items in replica vBuckets may be incorrectly restored during a failover. If a subsequent failover occurs then this could result in inconsistent/incorrect data.

MB-23269

The memcached process crashes when trying to write an audit event to a file with wrong permissions.

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

MB-22180

When a node is being rebalanced out of a cluster, its vBuckets are deleted. However, if there are pending disk fetches when the vBucket is deleted then they are not terminated correctly. This prevents the node from being accessible once it has been removed from a cluster.

MB-22044

Sub-document mutations using the CAS for optimistic concurrency fail on an item that is already locked.

Indexing Service

Issue Description

MB-22693

The indexer does not remove the old value for a key if the new value exceeds the maximum index length size.

MB-22692

Some corner cases in secondary key length checks cause the index to have inconsistent or incorrect results. This only affects indexes where there are keys which are close to the maximum key length.

Query Service

Issue Description

MB-23203

The wrong index may be chosen when using JOIN.

MB-22831

Inserting a numerical value using a N1QL query causes the value to be stored in scientific notation

MB-22630

Cipher AES128-SHA is incorrectly categorized as a medium-level cipher.

MB-22578

UNNEST queries do not consider the WHEN clause when selecting an index to use.

MB-22577

Producing an array by ranging over objects does not work.

MB-22536

DATE_RANGE_STR() and DATE_RANGE_MILLIS() may give wrong results when using very large or very small values.

MB-22530

The functions ARRAY_RANGE(), ARRAY_REPEAT(), DATE_RANGE_MILLIS(), DATE_RANGE_STR(), REPEAT() do not have bounds enforced. This causes the query engine to crash when very large arrays are generated.

MB-22362

Using LET with MISSING incorrectly sets the value to NULL.

MB-22273

In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes.

MB-22119

In rare cases, the query engine may panic when evaluating ARRAY expressions (for example ARRAY x FOR x IN ... END;)

MB-21284

Incorrect error message when non-JSON arguments are passed to the TOKENS() function.

MB-20677

REGEXP_LIKE() does not return an error when an invalid pattern string is passed.

Web Console

Issue Description

MB-23541

When the web console has been disabled over port 8091, in certain circumstances a login page will still be shown.

MB-23308

Using the REST API and web console over SSL (port 18091) does not work correctly in recent versions of Google Chrome (56.0 onwards) and Mozilla Firefox (51.0 onwards).

MB-23244

If a bucket password contains semicolon, the web console will truncate the password to the semicolon when saving the bucket setting.

MB-20741

The web console login page has character limit of 24 characters for the password, but this limit is not enforced in other components.

XDCR

Issue Description

MB-23228

Replication frequently restarts when a node is removed from target cluster.

MB-22997

XDCR sometimes has a backlog of items in its DCP queue due to a deadlock. This causes increased memory usage and issues with replication progress.

MB-22754

XDCR may not be able to detect if a bucket is deleted and then recreated on a target cluster.

MB-22678

XDCR is not able to connect to an elasticsearch target due to an incorrect endpoint.

MB-22382

In some cases, the thread handling a DCP stream may exit before closing its stream. This results in the XDCR process unexpectedly terminating.

MB-22224

XDCR does not set the snapshot start sequence number and vBucket uuid correctly when starting a DCP stream request. This results in the whole vBucket being re-streamed when replication is restarted, rather than from the most recent checkpoint.

Improvements

This section lists some of the notable improvements in this release, grouped by component:

Cluster Manager

Issue Description

MB-22252

Change the default behavior of the cluster manager to wait for the master password by default. This new behavior is detailed in Secret Management and Hardening.

Query

Issue Description

MB-22750

Add CONTAINS_TOKEN_LIKE() and CONTAINS_TOKEN_REGEXP().

MB-22646

Allow arbitrary variable names in array index selection.

MB-22645

Support simpler syntax for array indexing when all array elements are indexed.

MB-22644

Enable the string function CONTAINS() to use the functional index created with SUFFIXES().

MB-22629

Performance improvement for CONTAINS_TOKEN().

MB-22606

Enable DATE_RANGE_STR() to accept different supported date formats as parameters.

MB-22550

Add OBJECT_RENAME() and OBJECT_REPLACE() functions.

MB-22470

Improve pattern matching speed with LIKE and HAS_TOKEN().

MB-22417

Add weekday part to N1QL datetime functions.

MB-22332

Push down ORDER, COUNT(), MIN() to covering UNNEST index.

MB-22321

Add OrderedIntersectScan for pagination.

MB-22315

Push down LIMIT to IntersectScan and UnionScan.

MB-22309

Push down LIMIT to DistinctScan.

MB-22285

Infer IS NOT MISSING term for INNER UNNEST expressions on primary keyspace

MB-22148

Variable length sarging for OR predicates.

MB-22143

Index scans for OR predicates on disjoint terms.

MB-22124

Allow NOT IN/WITHIN queries to use secondary indexes.

MB-21770

Relax the mandatory array index-key, to create covering array-index.

MB-20626

Avoiding full index scan and optimize processing of queries with whole IN clause as a query parameter.

MB-19916

Add support for N1QL expressions in SELECT from-clause, and subqueries over nested collections.

MB-19078

Add quiet mode option to cbq to not echo the content of input file.

XDCR

Issue Description

MB-23305

Make capi nozzle runtime parameters externally configurable.

MB-22832

Do not refresh metadata about a target cluster reference in every replication. This reduces the number of requests to a target cluster in situations where there are multiple buckets being replicated from the source.

MB-22514

Reduce the number of outgoing connections to the target cluster.

Known Issues

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

Issue Description

MB-24066

When upgrading from Couchbase Server 2.5.x to Couchbase Server 4.6.2 directly on a Couchbase Server cluster using views, rebalances may hang.

Workaround: Upgrade the cluster fully to Couchbase Server 3.1.6 as an intermediate step, before upgrading the cluster to Couchbase Server 4.6.2.

MB-22178

VBuckets may be incorrectly identified as in a backfill state and never leave this state. This may result in a rebalance hanging as the rebalance waits for the vBucket to leave the backfill state.

MB-20403

The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:

  • The bucket being backed up is flushed between incremental backups

  • The bucket being backed up is deleted and re-created in between incremental backups

  • The bucket has not been backed up between a document’s deletion and the metadata for that deleted document being purged

  • There has been a failover between incremental backups of the bucket

For more information about the Merge functionality, see cbbackupmgr merge.

Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to the aforementioned issue.

MB-20338

When any topology changes occur on source cluster, such as when a node is removed, in some cases the outbound XDCR mutation statistics show a negative number on the monitoring page.

Release 4.6.1

Couchbase Server 4.6.1, released in March 2017, is the first maintenance release in the 4.6.x series for Couchbase Server. This release has fixes related to N1QL query, XDCR, indexing, and backup.

Fixed Issues

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

Issue Description

MB-23114

Under certain circumstances the cbbackupmgr merge command may not properly display an error on the command line when merge fails.

MB-23112

When using XDCR from a cluster running Couchbase Server 4.x (prior to 4.6.0) to a 4.6.0 cluster, XDCR stops when it tries to replicate tombstones (deletes) and fails with an error message EINVAL.

MB-23032

When the query engine receives many syntactically incorrect N1QL statements, the Query Service processes may leak memory resulting in query engine crash with multiple goroutine stacktraces, or unexpected or unresponsive behavior.

MB-22409

The Indexer Service crashes while indexing an array whose size is close to the maximum index array size.

MB-22389

The Indexer Service crashes when there is a buffer overrun in secondary key length check.

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

MB-22273

In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes.

Workaround: The following two options can be used to avoid this problem:

  • Do not use prepared statements.

  • If using the Java SDK, set the undocumented property N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY to "false" before opening the bucket. For example,

System.setProperty(N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY, "false") .. cluster.openBucket(bucketname)

MB-20403

The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:

  • The bucket being backed up is flushed between incremental backups

  • The bucket being backed up is deleted and re-created in between incremental backups

  • The bucket has not been backed up between a document’s deletion and the metadata for that deleted document being purged

  • There has been a failover between incremental backups of the bucket

For more information about the Merge functionality, see cbbackupmgr merge.

Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to to the aforementioned issue.

MB-20338

When any topology changes occur on source cluster such as ‘when a node is removed’, in some edge cases the outbound XDCR mutation statistics show a negative number on the Monitoring page.

Release 4.6.0

Couchbase Server 4.6.0 was released in February 2017.

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

When using XDCR from a cluster running Couchbase Server 4.x (prior to 4.6.0) to a 4.6.0 cluster, XDCR stops when it tries to replicate tombstones (deletes) and fails with an error message EINVAL.

We recommend you wait for the upcoming bug-fix version 4.6.1 to upgrade.

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

MB-22273

In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes.

Workaround: The following two options can be used to avoid this problem:

  • Do not use prepared statements.

  • If using the Java SDK, set the undocumented property N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY to "false" before opening the bucket. For example,

System.setProperty(N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY, "false") .. cluster.openBucket(bucketname)

MB-20403

The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:

  • The bucket being backed up is flushed between incremental backups

  • The bucket being backed up is deleted and re-created in between incremental backups

  • The bucket has not been backed up between a document’s deletion and the metadata for that deleted document being purged

  • There has been a failover between incremental backups of the bucket

For more information about the Merge functionality, see cbbackupmgr merge.

Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to to the aforementioned issue.

MB-20338

When any topology changes occur on source cluster such as ‘when a node is removed’, in some edge cases the outbound XDCR mutation statistics show a negative number on the monitoring page.

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

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.