Release Notes for Couchbase Server 6.0
Couchbase Server 6.0 is an important release that adds the Analytics service to the Couchbase Data Platform. It also includes enhancements to the Eventing and Search services.
Take a look at What’s New? for a list of new features and improvements that are available in this release.
Release 6.0.5
Couchbase Server 6.0.5, released in January 2021, is the fifth maintenance release in the 6.0.x series for Couchbase Server. This release includes bug fixes related to many components.
Fixed Issues
The notable fixes in this release are listed below.
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Summary: In a high bucket density test (with 30 buckets) with replication on, goxdcr process on source cluster data node was observed to exit multiple times with |
|
Summary: Fixed an incorrect XDCR stream request rollback caused by a consumer ahead of producer error. |
Data Service
Issue | Description |
---|---|
Summary: Fixed an issue where ephemeral buckets set to |
|
Summary: Fixed an issue where the replication of deletes with XATTRS failed if the affected document was non-resident. |
|
Summary: Fixed a performance regression where the HiFi-MRU Item Pager (added in 5.0) would evict more active items compared to previous LRU ItemPager under certain workloads. |
|
Summary: The frequency at which the expiry pager runs can be set using a configuration parameter |
|
Summary: Fixed an issue where Memcached log wrapped due to excessive DCP "no memory" messages. |
|
Summary: Fixed a theoretical race condition where if a vBucket changed state away from active at the same time as a Delete operation, the delete could incorrectly report success; but would not be applied to new active vBucket. |
Index Service
Issue | Description |
---|---|
Summary: Fixed the memory growth observed when the index service performs many metadata operations. |
|
Summary: Fixed a runtime error in Plasma caused by invalid memory address or nil pointer dereference. |
|
Summary: To safeguard from scenarios like missing TCP notifications, read deadline to connections between Memcached and projector data paths have been set. |
|
Summary: Zero-out memory before returning to Go to avoid sudden increase in disk space usage by the index service. |
|
Summary: The projector incorrectly went into a stream termination loop while trying to stream a near 20 MB document. This has been fixed by removing doc size checks in projector. |
|
Summary: Fixed an issue where Views did not handle compressed raw documents. |
|
Summary: Fixed an issue where index restore failed with a |
|
Summary: Fixed an issue where index creation failed in case one or more watchers were not available.ß |
|
Summary: Increased the size of the change notification channel in leader to avoid possible deadlock in removeListener in gometa leader. |
|
Summary: Fixed an issue where |
|
Summary: Fixed an issue where a rollback after the compactor finished returned an |
|
Summary: Fixed a View index build failure by resetting the index file when writer detects a corrupt file. |
Release 6.0.4
Couchbase Server 6.0.4, released in February 2020, is the fourth maintenance release in the 6.0.x series for Couchbase Server. This release includes bug fixes related to many components.
Known Issues
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 (MB-37269) and it was released after 6.5.0 which doesn’t recognize the migration.
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.
Fixed Issues
The notable fixes in this release are listed below.
Analytics Service
Issue | Description |
---|---|
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 is 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. |
|
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. |
|
Summary: Fixed an ArrayIndexOutOfBoundsException in BTreeAccessMethod.createIndexSearchPlan() when there’s a composite key index and a query predicate that operates on a subset of its key fields. For example,
|
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Summary: Fixed an issue where a quick replication addition operation after a replication deletion in a large cluster (cluster with > 10 nodes) caused the particular replication to be ineffective in few of the nodes in the cluster. |
|
Summary: Fixed an issue where the Elastic Search Engine and the Couchbase Cluster were sometimes found to have a document count mismatch. |
Data Service
Issue | Description |
---|---|
Summary: When couchstore writes out modified node elements during document saves, it is supposed to limit the number of bytes written in a single node to a _chunk_threshold - by default 1279 bytes. If the node is larger than the limit, it should be split into multiple sibling nodes. However, this limit was not respected, resulting in overly-large nodes being written out. In the case of the by-seqno B-Tree (which always writes values to the rightmost leaf as seqnos are increasing), it resulted in all leaf elements residing in a single leaf node. Moreover, this meant that adding another element to the B-Tree effectively re-writes the entire tree, resulting in a massive Write Amplification. This has been fixed |
|
Summary: Fixed an issue where |
|
Summary: Fixes an issue with bucket-level expiry. When bucket-level expiry is enabled and the bucket(max) TTL is set to more than 30 days, then it uses an expiry offset based from when the Data Service is started, instead of an offset based from the current time. This can result in documents that use the bucket TTL being expired prematurely. |
Eventing Service
Issue | Description |
---|---|
Summary: N1QL statements in Eventing were automatically prepared in 6.0.3 but will no longer do so due to the performance impact on statement cache. The option to automatically prepare all statements may be introduced in a future release. |
|
Summary: Fixed an issue where Eventing service returned a JSON parse error and the query metadata was empty. The service now returns SDK and query errors for N1QL. |
Index Service
Issue | Description |
---|---|
Summary: Fixed an issue where view queries were stuck due to merge connection timeouts. |
|
Summary: If the index service received a rollback (either rollback to zero (or) rollback to a seqno), and then a rollback to zero, the rollback to zero was not handled by trying with disk snapshot first. This has been fixed. |
|
Summary: Fixed an issue where a StreamEnd message for a vBucket was processed before a StreamBegin message in feed’s backch. This lead to inconsistent book-keeping and caused the index service to enter into a infinite loop. |
|
Summary: Fixed an issue where the Forestdb reserve bitmap revision number was not set correctly. |
Install and Upgrade
Issue | Description |
---|---|
Summary: The upgrade script ( |
Search Service
Issue | Description |
---|---|
Summary: A busy persister within scorch can cause the number of files to grow by a lot due to the merger lagging behind. This has been fixed by having the persister remove old files as part of its operation to avoid the situation. |
Release 6.0.3
Couchbase Server 6.0.3, released in October 2019, is the third maintenance release in the 6.0.x series for Couchbase Server. This release includes updated platform support in addition to bug fixes related to many components.
New Supported Platforms
This release adds support for the macOS 10.14 "Mojave" platform.
See Supported Platforms for the complete list of supported platforms.
Fixed Issues
The notable fixes in this release are listed below.
Analytics Service
Issue | Description |
---|---|
Summary: Fixed an issue so that data files are recreated on ALL keep nodes when failing over datasets and not just the intersection of keep nodes and nodes where the datasets were previously located. |
|
Summary: Added the ability to filter datasets based on document keys and not just fields. |
|
Summary: A cancelled rebalance-in left an Analytics cluster without any metadata replicas. Upon attempt to failover and remove the remaining node, the cluster became permanently unusable unless you removed all Analytics nodes from the cluster and re-added the service, which resulted in an uninitialized Analytics cluster. This has been fixed so that metadata replica addition is not skipped on a cancelled rebalance-in. |
|
Summary: During node startup, the system latest checkpoint files are read to determine the system state and complete the startup based on that state. If all the checkpoint files found were corrupted, then the node was bootstrapped as a new node and as a result, all data was deleted. This has been fixed to distinguish between a real bootstrap scenario (where there are no checkpoint files) and a scenario where the checkpoint files could not be read successfully, and in the latter case, force recovery from the start of the available transaction logs. |
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Summary: XDCR has been enhanced to be aware of target nodes' setups and only restart pipelines if the target and remote cluster reference are both set up for mixed mode encryption, and the target node’s mode really changed. |
|
Summary: Fixed an issue so that the topology change detector does not delete the replication spec when a target bucket is not found. |
Data Service
Issue | Description |
---|---|
Summary: Fixed an issue where DeleteWithMetadata against an XATTR document could result in a mutation. |
|
Summary: Fixed an issue when DeleteWithMeta against a value evicted XATTR document crashed kv-engine. |
|
Summary: SSL write failures may not reset the connection in the write phase. This has been fixed by propagating SSL write errors from sendmsg. |
|
Summary: Fixed an issue where the audit config reload was stuck due to the drive (or path) being unavailable. |
|
Summary: An error was thrown when performing a GET on a document that is both compressed and has extended attributes(XATTRs) if the client supported compression and the uncompressed document is sent to the client with the compressed flag still set. This has been fixed. |
Index Service
Issue | Description |
---|---|
Summary: In rebalance_service_manager, the default value of the |
|
Summary: The collatejson package’s JoinArray has been optimized to mitigate high memory usage. |
|
Summary: Fixed a rare issue where the Plasma storage log grew indefinitely. |
|
Summary: Fixed an issue that caused a Write Bucket Failure and corrupted the vBucket file. |
|
Summary: Fixed an issue in ForestDB where renaming a compacted file led to the file getting deleted. |
|
Summary: When querying on a ddoc that is deleted, the views query incorrectly returned HTTP error code 500 suggesting an internal sever error. This has been fixed and the views query now returns an error message suggesting that the ddoc has been deleted. |
|
Summary: Fixed a memory allocation failure in Forestdb that caused a system crash under pressure. |
|
Summary: Added the ability to trace operations on a file. |
Query Service
Issue | Description |
---|---|
Summary: Fixed a connection pool leak observed when querying system:indexes. |
|
Summary: When scanning through all n1ql nodes to perform a distributed command, the query engine memory grew until it crashed. This has been fixed. |
|
Summary: COUNT on an index FullScan returned incorrect results when it included DESC order. This has been fixed by updating the code to handle Inclusion getting flipped due to the DESC order. |
|
Summary: The query service returned incorrect results as the implict covering of ANY predicate did not handle any part that was not covered. This has been fixed. |
|
Summary: Avoid IntersectScan when the index is a subset. |
|
Summary: Improved performance for count aggregate on full index scan by using CountTotal. |
|
Summary: Better identifier handling to determine whether an identifier should be covered or not. |
|
Summary: Fixed an issue where the implicit cover of nested array did not work as expected with arbitrary variables. |
|
Summary: When schema inferencing is run, document field names are no longer included in the log file. |
|
Summary: The query service now generates a special error for subquery build failures and sets the HTTP error code appropriately. |
|
Summary: Fixed an issue where the query engine returned incorrect results when using a partition index and the ORDER BY clause. |
Tools, Web Console (UI), and REST API
Issue | Description |
---|---|
Summary: Fixed the UI to display View index build progress status on the Views page. |
|
Summary: The |
|
Summary: The |
|
Summary: Fixed an issue where a |
Release 6.0.2
Couchbase Server 6.0.2, released in June 2019, is the second maintenance release in the 6.0.x series for Couchbase Server. This release includes updated platform support and a few improvements in addition to bug fixes related to many components.
New Supported Platforms
This release adds support for the Red Hat Enterprise Linux (RHEL) 8 platform.
See Supported Platforms for the complete list of supported platforms.
Fixed Issues
The notable fixes in this release are listed below.
Analytics Service
Issue | Description |
---|---|
Summary: The analytics service on one node failed to startup repeatedly due to a failure while performing a rollback and threw an exception. This has been fixed. |
|
Summary: Variables bound by a QuantifiedExpression were incorrectly included when computing free variables for that expression. This has been fixed and these variables will now be excluded from the free variable set. |
|
Summary: Fixed an issue where the predicate in the WHERE clause was incorrectly pushed through the running aggregate operator (AT subclause), which then lead to wrong results. |
|
Summary: It was observed that a rebalance in of new analytics nodes hangs indefinitely on a firewall misconfiguration where newly added nodes were unable to contact the CC. This has been fixed so that rebalance fails if the Keep-Nodes do not join within a reasonable timeframe (2 minutes). |
|
Summary: Fixed an issue where the analytics HTTP server incorrectly assumed that all request payloads are UTF-8 encoded. The analytics HTTP responses are encoded using system-default encoding and the service will now attempt to honor any requested encodings (Accept-Charset), or default to UTF-8. |
|
Summary: Fixed an internal compiler error caused by index selection when the search expression was not constant. |
|
Summary: Fixed an issue where array functions, most notably the array_intersect() function, caused an out of memory exception due to object creations, especially for large datasets. |
|
Summary: Fixed an issue to catch all unexpected exceptions on network threads and close the connection in such cases to avoid attempting to process the message causing the exception forever. |
|
Summary: The analytics service now uses the Couchbase temp directory, which is set to |
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Summary: By default, XDCR will prevent replications from being created on a source ephemeral bucket with NRU policy. This specific release of Couchbase Server includes a special XDCR internal settings flag, ---- curl -X POST -u Administrator:password http://127.0.0.1:9998/xdcr/internalSettings -d AllowSourceNRUCreation="true" ---- WARNING: Changing the internal replication setting will cause all XDCR processes to restart. This causes temporary disruption as all existing replications will have to restart. |
|
Summary: Following an issue on a remote cluster, XDCR failed to recover and threw an exception. |
|
Summary: After upgrading to 6.0.x, it was observed that the compression type field in the UI was not populated automatically. This has been fixed. |
|
Summary: Fixed REST endpoint error handling for settings errors and nil value types. |
Cluster Manager
Issue | Description |
---|---|
Summary: Fixed a race condition that was exposed when a supervisor that is shutting down normally, is for some reason brutally shutdown leaving an orphan child process. This rogue lease acquirer interfered with the operation of the orchestrator causing, for instance, rebalance to fail. |
|
Summary: Fixed an issue to prevent map corruption due to a change in |
Data Service
Issue | Description |
---|---|
Summary: Fixed an issue where documents with a TTL, containing system XATTRs, and which are compressed, may have their datatype metadata incorrectly set. This prevents any subsequent modification of the XATTRs on the deleted document, until the document is re-created. |
|
Summary: Follow-on to MB-33919. Fixed issue where erroneous tombstone delete times could get used when performing a DCP backfill on ephemeral buckets. |
|
Summary: Fixed an issue where recovery failed due to invalid snapshot start (or end) on disk. |
|
Summary: The tombstone |
|
Summary: Fixed excessive triggering cursor dropping issue which caused Couchbase Server to attempt to recover more memory than required. |
|
Summary: Fixed an issue where the response to a getReplica command could be significantly delayed. |
|
Summary: Fixed an issue where the KV-Engine may incorrectly return ENGINE NOT_STORED to the client after trying to perform arithmetic operations if another client concurrently modified the same key. |
|
Summary: Fixed an issue where the KV-Engine may crash due to a race between DCP Consumer message processing and stream shutdown. |
|
Summary: Fixed an issue where the breakpad did not catch the memcached segfault. |
|
Summary: Fixed an issue where the audit daemon asserted when rotating an empty audit log causing a crash. |
|
Summary: Fixed an issue where signalling a connection could result in deadlock. |
|
Summary: Introduced a delay in updating the RBAC database revision number to avoid returning AUTH_STALE during a refresh of the RBAC database. |
|
Summary: Memcached connections may hang due to |
|
Summary: Improve the effectiveness of the active defragmenter to also defragment Document metadata (StoredValue objects) in addition to document values. This should reduce memory fragmentation for workloads which have multiple document metadata sizes (i.e. a range of key lengths). |
Eventing Service
Issue | Description |
---|---|
Summary: The cbevent tool provides a way to recover the eventing service when eventing specific metakv contents and metadata bucket contents were corrupted or lost. This tool clears all the Functions (deployed and undeployed) and restores Eventing service to a clean state. To use the tool, run the following command:
|
Full-Text Search Service
Issue | Description |
---|---|
Summary: Fixed an erratic crash issue observed with the use of queries like facets or sort on a custom field. |
Index Service
Issue | Description |
---|---|
Summary: Fixed a race condition on feed cleanup that caused the projector to panic. |
|
Summary: Fixed a memory leak caused by snapshot metadata objects linked list references. |
|
Summary: Fixed an issue where the admin console incorrectly displayed the node UUID instead of name in index definition after upgrade. |
|
Summary: Fixed a race condition while handling an error during move index. |
|
Summary: Fixed an issue where new index builds remained stuck if indexes on MAINT_STREAM were dropped before indexes on INIT_STREAM during rebalance. |
|
Summary: Fixed an issue where the index node crashed with too many open files. |
|
Summary: Index created failed as the index service was unable to create index replicas. This has been fixed. |
|
Summary: Fixed an issue where the Views engine returns a server error when bucket data is compressed and doc is not used in the view definition. |
|
Summary: It was possible to create an index with fewer replicas than the default num_replicas if you used nodes_list in the WITH clause with fewer nodes than the default number of replicas. |
|
Summary: Fixed an issue where frequent processing of old create tokens caused high CPU usage on index nodes. |
|
Summary: Fixed an issue where the projector took a long time to process admin requests if data flow was blocked. |
|
Summary: Fixed an issue to terminate all watcher goroutines upon close of MetadataProvider. |
|
Summary: The index service crashed during index creation if unicode special characters were used. This has been fixed. |
|
Summary: For non-partitioned indexes, the planner did not always use all the indexer nodes in cluster for planning. This has been fixed. |
|
Summary: Fixed an issue where the index planner could end up assigning the same instance id to lost replicas when more than 1 replica was lost. |
Install and Upgrade
Issue | Description |
---|---|
Summary: Sometimes, the Windows uninstaller left behind registry entries and subsequently this blocked upgrades on these machines. This has been fixed. |
Query Service
Issue | Description |
---|---|
Summary: Fixed an issue where the query engine returned incorrect results when using a partition index and the ORDER BY clause. |
|
Summary: Fixed an issue so that partition UNNEST scans do not use DISTINCT index aggregation. |
|
Summary: Queries with multiple array indexes caused inconsistent query plans, which then led to inconsistent and sometimes incorrect results. This has been fixed. |
|
Summary: Fixed an issue with connection pool leak that caused queries to fail. |
Security
Issue | Description |
---|---|
Summary: Fixed an issue where changing cluster CA and node certificates and incorrectly needed separate RBAC roles. |
|
Summary: The builtin Administrator user can now be authenticated via a client certificate. |
Tools, Web Console (UI), and REST API
Issue | Description |
---|---|
Summary: The |
|
Summary: The |
|
Summary: The |
|
Summary: The |
Release 6.0.1
Couchbase Server 6.0.1, released in February 2019, is the first maintenance release in the 6.0.x series for Couchbase Server.
New Supported Platforms
This release adds support for the following platforms:
-
Amazon Linux 2
-
Ubuntu 18.04
See Supported Platforms for the complete list of supported platforms.
Deprecated and Removed Platforms
Starting with this release, the following platforms are no longer supported:
-
Ubuntu 14.04
Support for the following platforms will be removed in a future release:
-
macOS 10.12 (Sierra)
Fixed Issues
The notable fixes in this release are listed below.
Analytics Service
Issue | Description |
---|---|
Summary: Index creation on meta fields is not allowed and trying to do so will result in an error. |
|
Summary: Fixed an issue where rebalance failed to complete with a badmatch error. |
|
Summary: Fixed an issue where a rebalance operation could fail due to the reuse of dataset IDs internally. |
|
Summary: When a dataverse was dropped, bucket listeners were not unregistered. Consequently, when the dataverse was re-created, the CONNECT LINK statement failed as it picked up the old bucket listeners. This has been fixed. |
|
Summary: Fixed an issue where the AnalyticsReader role, a read-only role, was incorrectly able to change the metadata and drop dataverses. |
|
Summary: Starting this release, the OpenJDK version 11 is bundled with the service. See Additional Requirements for details. |
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Summary: XDCR failed to replicate files larger than the network usage limit. This has been fixed so the bandwidth throttler can handle large documents with sizes greater than the usage limit. |
|
Summary: Uncompressed replication from 6.0 nodes to 5.0 nodes failed due to partial information being returned from the parts. This has been fixed to enable accurate detection of compression error code. |
|
Summary: Fixed an issue where replication stops and throws an exception due to a nil error. |
|
Summary: Fixed an issue where the XDCR log level setting was not retained when upgrading Couchbase Server from version 4.x to newer version. |
|
Summary: Fixed an issue where encrypted XDCR was incorrectly using port 8091. |
|
Summary: An error was thrown when DNS alternate addresses were used. This has been fixed so utilities return the hostname even if they can’t find the port numbers. |
|
Summary: The unit of interval for XmemSelfMonitorInterval was incorrectly set to millisecond instead of second, causing an increase in the frequency of Xmem self monitor and the spurious Xmem is stuck error. This has been fixed. |
Data Service
Issue | Description |
---|---|
Summary: Fixed an issue where a chain of events, active compression of an extended attribute value followed by eviction and then expiry, triggered an exception. |
|
Summary: Sub-document API single-path mutation ignored expiry if doc_flags included extras. |
|
Summary: If one or more Ephemeral buckets were present, then nonIO background tasks could be incorrectly scheduled, potentially resulting in DCP connection instability (premature disconnection). This has been fixed. |
|
Summary: When data corruption is detected on a data service node, relevant information that can help troubleshoot is now being logged. |
|
Summary: In some cases, the memory allocation failures were not handled causing "Write Commit Failure" errors or corruption in vBucket files. |
|
Summary: If an append/prepend request contended with another request at the Server, instead of automatically retrying on the Server (as expected), it returned EEXISTs back to the application. |
|
Summary: Audit logging has been updated to capture the user name when documents are created, updated, or deleted from the web console. |
|
Summary: Fixed an issue where the datatype field when using the DCP_OPEN flags incorrectly reflected the contents of the body payload and not the original datatype. |
|
Summary: If bucket memory usage exceeded the high watermark and reached 99% of the bucket quota, a race condition in KV-Engine DCP consumer was exposed. This could result in DCP messages being processed out-of-order. |
Eventing Service
Issue | Description |
---|---|
Summary: Reduced excessive logging by Eventing service when the debugger is turned on. |
|
Summary: Following the failover of a vBucket, the Eventing service restarted streams with seqno from the latest failover log entry instead of using the entry where seqnoInFailoverLog ⇐ lastProcessedSeqno. This resulted in missed events. |
|
Summary: Fixed an issue where some events were missing after a source bucket flush operation. |
Index Service
Issue | Description |
---|---|
Summary: Fixed an issue where the index service exceeded the memory quota even though only the number of items that were indexed was low. |
|
Summary: In a cluster with duplicate index names across buckets, replica repair failed after a node was added back to the cluster. This has been fixed. |
|
Summary: Plasma memory tuner will now increment indexer memory quota only if the indexer process' RSS is below the memory quota. |
|
Summary: The DCP noop interval has been lowered to 20sec to improve the chances of the projector receiving the noop message early and thus avoiding frequent roll backs. |
|
Summary: During warmup, one of the indexes with low number of items triggered an issue and caused the internal garbage collector to run forever. Thus causing the entire index service to stall during warmup. This issue was observed when using Plasma storage engine. |
|
Summary: Improved the DCP rollback handling mechanism. Instead of ignoring the disk snapshots before rolling back, the index service will now exhaust trying DCP stream requests with all the disk snapshots before rolling back to 0. |
|
Summary: An error is seen during a SUM aggregate pushdown when the entry value is greater than MaxInt64. |
|
Summary: Fixed an issue to enable creating secondary indexes on binary documents on meta.id(), meta.cas(), and meta.expiration(). |
|
Summary: The index service would crash under some conditions if the data bucket was flushed while the index was being built. |
Query Service
Issue | Description |
---|---|
Summary: Starting this release, you can use the UNNEST scan to generate index spans on non-leading keys (non-array-index keys) if appropriate predicates exist on those keys. |
|
Summary: Index creation using the IN clause did not work as expected. This has been fixed. However, when using the IN clause, ensure that your queries use the same IN terms in the same order as in the index. |
|
Summary: Fixed an issue so that when an on connection error is encountered, certain operations are retried before returning an error. |
|
Summary: Fixed an issue so that connections are properly discarded when an Out of Bound data error is encountered. |
Tools, Web Console (UI), and REST API
Issue | Description |
---|---|
Summary: Fixed an issue where the Views UI was unable to process the "undefined" value in a binary JSON document. |
|
Summary: The cbbackupmgr utility would hang and not return an error when trying to backup a cluster in which at least one node was down and had not failed over. |
|
Summary: All requests originating from the UI were authenticated using token based authentication, even when client certificate authentication is enabled on the Server and a client certificate is configured in the browser. This has been fixed to use client certificates for authentication in such scenarios. |
Release 6.0
Couchbase Server 6.0 was released in October 2018.
Major Behavior Changes
Analytics Service
There are a few significant changes to the production-ready version of the Analytics service. You’ll find this information handy if you’ve used the Analytics service in any of the Developer Preview versions of Couchbase Server.
-
Bucket association is now automatic
The Developer Preview versions required you to explicitly associate the Couchbase Server buckets and Analytics buckets. For example:
CREATE BUCKET ha WITH {"name":"health"}
The Analytics service buckets now automatically mirror Couchbase Server buckets and no special configuration is required to be able to create a dataset on a bucket.
-
Dataset definitions no longer require the SHADOW keyword
The early Developer Preview releases (earlier than Couchbase Server 5.5) required the SHADOW keyword.
The Analytics service (Developer Preview version) was integrated with Couchbase Server during release 5.5 and the SHADOW keyword was made optional.
Starting with this release, using the SHADOW keyword is no longer allowed, and using it will return an error.
CREATE DATASET ((dataverse_name.)? dataset_name)? ON bucket_name (WHERE where_exp)?.
-
CONNECT/DISCONNECT BUCKET
have been replaced byCONNECT/DISCONNECT LINK
The
CONNECT
andDISCONNECT
commands would activate or deactivate the dataset processing of data from Couchbase Server buckets.You can now use the following syntax to connect all datasets in a dataverse:
CONNECT LINK (dataverse_name.)? Local (, (dataverse_name.)? Local)*
Analytics data from Developer Preview releases cannot be upgraded. If you plan to use the production release of Couchbase Analytics in version 6.0, you must perform a fresh installation of Couchbase Server 6.0 on any existing Analytics nodes that are running a previous version; otherwise, the Analytics Service will not function properly. When upgrading from Couchbase Server 5.5 to Couchbase Server 6.0 or later, any existing Analytics datasets must be removed before the upgrade and recreated afterwards, and data must be ingested again from the Data Service. |
Full-Text Search Service
The following changes have been made to the Full-Text Search Service:
-
Scorch is now the default index type for all new Full Text Indexes.
After upgrading to Couchbase Server 6.0, existing Full Text Indexes will continue to use the Moss index type, while new Full Text Indexes will use the Scorch index type by default. These Moss indexes can be upgraded to Scorch by updating their respective definitions with the new index type.
Existing indexes that do not have indexType
explicitly specified in the index definition are considered to use the default index type. These indexes will continue to use the Moss index type after upgrading to Couchbase Server 6.0. However, any further updates to the index definition will result in the index being upgraded to Scorch. Indexes created through the Couchbase Web Console automatically include the index type, therefore this issue only applies to indexes that were created using the command line. -
In Couchbase Server 6.0 Enterprise Edition, the Search Service explicitly requires encrypted port 18094 (
fts_ssl_port
) for scatter-gather operations between nodes that are running the Search Service (even if you’re still using unencrypted port 8094 for client-to-node traffic). The node-to-node traffic uses the HTTP/2 protocol and is encrypted with either the auto-generated certificate from installation, or with a custom node certificate if one has been specified.For more information, refer to Network and Firewall Requirements.
Deprecated Platforms and Features
Support for the following platforms will be removed in a future release:
-
Amazon Linux AMI 2018.03, 2017.09
-
CentOS 6
-
macOS 10.11 (El Capitan)
-
Oracle Linux 6
-
Red Hat Enterprise Linux 6
-
SUSE Linux Enterprise Server (SLES) 11
-
Ubuntu 14.04
-
Windows Server 2012
The use of view indexes is deprecated in N1QL only and will be removed in a future release.
New Supported Platforms
There are no new supported platforms in this release.
See Supported Platforms for the complete list of supported platforms.
Known Issues
Administration/Cluster Management
Issue | Description |
---|---|
Summary: Performance issues may be observed when running Couchbase Server on CentOS 7.3 with kernel 3.10.0-514.6. |
Analytics Service
Issue | Description |
---|---|
Summary: Backup and restore for the Analytics service artifacts using the |
|
Summary: It is possible for a CONNECT BUCKET statement to fail temporarily with the error message "The vbucket belongs to another server(0x7)" when rebalancing Data nodes. Workaround: Retry the operation. |
|
Summary: Currently, the Analytics service supports index creation only when a dataset is disconnected. |
|
Summary: The UNION ALL operation does not work for all query types. For example, a query of the form shown below is not parsed correctly. ---- (SELECT … FROM … WHERE …) UNION ALL (SELECT … FROM … WHERE …) ---- Workaround: Remove the parentheses around the first subquery block. ---- SELECT … FROM … WHERE … UNION ALL (SELECT … FROM … WHERE …) ---- |
Data Service
Issue | Description |
---|---|
Summary: If bucket memory usage exceeds the high watermark and reaches 99% of the bucket quota, a race condition in KV-Engine DCP consumer is exposed. This may result in DCP messages being processed out-of-order. |
|
Summary: If the memcached process crashes while indexes are being rebalanced, the memcached process can fail to be brought online and the rebalance can get stuck. Manually stopping rebalance will bring the memcached process online. |
|
Summary: The |
|
Summary: When bucket-level expiry is enabled and the bucket(max) TTL is set to more than 30 days, then it uses an expiry offset based from when the Data Service is started, instead of an offset based from the current time. This can result in documents that use the bucket TTL being expired prematurely. |
Eventing Service
Issue | Description |
---|---|
Summary: Killing an Eventing process externally may result in a loss of timers that have been dequeued but not run to completion. |
|
Summary: When Sync Gateway is deployed against a bucket, a single document update can be seen over DCP as multiple mutations, some modifying body and others modifying XATTRs. The Eventing service invokes OnUpdate for each such mutation as it does not distinguish at the DCP level if an update modified the body of a document, the XATTRs, or both. Workaround: When both Eventing service and Sync Gateway are deployed against the same bucket, you must ensure that the Eventing code written is idempotent. |
Full-Text Search Service
Issue | Description |
---|---|
Summary: The Search index file deletions take longer time than expected especially when the index is very large and is in a building-up phase while deleting. This delays the expected freeing up of the actual disk space right after an index deletion. No file leaks have been observed yet. Workaround: If you wait long enough, all the index files will get cleaned up eventually. Hence in a tight disk space situation, you should be careful of this fact while performing subsequent index deletions and creations. With enough disk space configured, everything ought to work without much perceivable problems. |
|
Summary: This problem becomes a concern when the system is under heavy DGM (Disk Greater than Memory) condition. In such cases, the Search service ends up having too many files in the system and due to concurrent file compactions, the overall indexing and querying becomes very slow. Workaround: While there is no proper workaround for this issue, lowering the FTS memory quota (< 10GB) seems to help maintain a reasonably high average indexing throughput. |
|
Summary: Scorch indexes were found to contain duplicate pindexes. |
Index Service
Issue | Description |
---|---|
Summary: A disk usage spike is observed during the initial index build. The disk usage comes down once the log cleaner catches up. |
|
Summary: The rebalance progress (in percentage) during a GSI swap rebalance does not always increase linearly. Note that this issue does not persist and the percentage displayed returns to normal quickly. |
|
Summary: Rebalance fails when taking out failed over nodes running views, in certain circumstances. |
Install and Upgrade
Issue | Description |
---|---|
Summary: In some instances, the Windows Uninstaller can leave behind registry entries and subsequently block upgrades on these machines. Workaround: Remove the registry entries manually before installing newer versions of Couchbase Server. |
|
Summary: On an undersized node, the default memory quota assigned to all the selected services by the server might result in a failure. Workaround: Manually adjust the memory allocations appropriately. |
Query Service
Issue | Description |
---|---|
Summary: Large numeric values are reported incorrectly. For example, the modulo operation or a scan for min int64 value returns an incorrect result in case of int64. |
Security
Issue | Description |
---|---|
Summary: All requests originating from the UI are currently authenticated using token based authentication, even when client certificate authentication is enabled on the Server and a client certificate is configured in the browser. |
|
Summary: The Security > Users tab in the UI does not list the default "administrator" user. |
Fixed Issues
The notable fixes in this release are listed below. See the Couchbase issue tracker for the complete list of enhancements and fixes in this release.
Data Service
Issue | Description |
---|---|
Summary: The Memcached logs always use Z (UTC) for timezone when logging instead of the current system timezone offset. |
|
Summary: Fetching a random key from the Data service may hang if the bucket contains zero documents. |
|
Summary: The data service engine may not send STREAM_END message to consumers if non-infinity end sequence number and cursor dropping occurs. This could cause clients such as cbbackupmgr to hang indefinitely. |
|
Summary: Ephemeral buckets can have tombstones purged before the configured metadata purge interval. Ephemeral buckets can prematurely purge (discard) tombstones when under high memory and op/s load. As a consequence, DCP consumers fed by KV-Engine (such as replication, secondary indexing, views) may have tombstones not sent to them, meaning their dataset diverges from the Data Service - documents are not deleted from the DCP consumer. |
|
Authenticated users with full administrative privileges were able to access the diagnostic endpoint, Note that the |
Full-Text Search Service
Issue | Description |
---|---|
Summary: Fixed an issue where documents were missing from the Scorch index but were intact in an upside_down index. |
|
Summary: Fixed an issue where the memory usage during search index build was found to overshoot the RAM quota. |
|
Summary: Scorch indexes were found to contain duplicate pindexes. |
|
Summary: On Windows platform, a very high memory/CPU usage was observed when search service was indexing using the fts index. This issue is not seen with the new default 'Scorch' index. |