Release Notes for Couchbase Server 7.6
Release 7.6.4 (December 2024)
Couchbase Server 7.6.4 was released in December 2024. This maintenance release contains new features and fixes several known issues.
For detailed information on new features and enhancements, please see What’s New in Version 7.6.
Deprecated Platforms
Windows 10 is deprecated in Couchbase Server 7.6.4. A future version will remove support for this operating system.
Fixed Issues
This release contains the following fixes:
Cluster Manager
Issue | Description | Resolution |
---|---|---|
The cluster manager was unable to rotate the root certificate when a new root uses the same private key as the old root. |
Issue resolved. |
|
When a username is extracted from a client certificate, the candidate username is checked for its existence in couchbase-server. If such a user doesn’t exist, the algorithm now doesn’t stop but tries to extract another candidate username. |
Issue resolved. |
|
The /prometheus_sd_config endpoint provides a new option |
This provides a method to guarantee uniqueness for stats with the same name gathered from multiple clusters. |
Storage Engine
Issue | Description | Resolution |
---|---|---|
An issue occurred caused by a race condition in the index recovery code path, which may result in item count mismatch and wrong query results. |
The race condition has been addressed and the issue is resolved. |
XDCR
Issue | Description | Resolution |
---|---|---|
In rare situations, a document with a very large CAS could be inserted into a bucket. It was possible for XDCR to replicate this document with malformed CAS to other clusters. |
XDCR now has built-in guardrails to prevent documents with malformed CAS beyond a certain drift threshold from being replicated and then to notify the user if this situation occurs via UI and logs. |
|
Connection Pre-check did support all inputs normally accepted by XDCR |
XDCR connection pre-check now supports alternate addresses, DNS SRV, and works identically to XDCR remote cluster references. |
|
The XDCR dashboard on Source cluster now shows a UI alert when a pipeline is stuck due to EACCESS errors while writing to Target cluster. |
Issue resolved. |
Query Service
Issue | Description | Resolution |
---|---|---|
The execution of prepared statements containing ( |
Issue resolved. |
|
If an index is defined with a |
The issue is fixed, and we now use covering index scan appropriately. |
|
In versions |
Issue resolved. |
|
If |
Issue resolved. |
|
In previous versions of Couchbase Server, a clear delimiter between a numeric constant and a keyword was not required. |
From version |
|
An API issue has been resolved where attempting to set the completed-stream-size to zero when it was already zero via the administrative REST API would:
|
Issue resolved. |
|
A server panic was resolved when processing an aggregate function with a less-common reference structure, such as MAX([d.date, d][1]). The more standard form MAX([d.date, d])[1] was not impacted. The fix ensures stable query processing for this edge case. |
Issue resolved. |
Eventing Service
Issue | Description | Resolution |
---|---|---|
In earlier versions of Couchbase, during eventing function deployment or resumption, KV service disruptions (like network partitions) could leave LCB instances in an unrecoverable, unhealthy state. This caused the eventing function to become permanently stuck, with subsequent operations failing to return control, rendering the function non-functional. |
This issue has been resolved. Couchbase Eventing now actively monitors LCB instance statuses and implements a "lazy" retry mechanism for bootstrapping unhealthy instances. The retry process continues until the operation times out, which is dynamically determined by the script timeout. This ensures that JavaScript code remains responsive, with mutations timing out gracefully if bootstrap attempts fail, instead of causing a complete function lockup. |
Index Service
Issue | Description | Resolution |
---|---|---|
To speed up the initial process of building the index, the index service has an optimization that skips checking for existing entries and directly adds new ones. This optimization is crucial for the initial build but should not be used for updates to existing indexes. Unfortunately, in a rare sequence of events, all indexes might be enabled for this optimization, leading to duplicate entries in the storage layer, leading to incorrect results. |
The optimization is now only enabled for those indexes that are undergoing an initial build process. |
|
We have an optimization in place which avoids unnecessary index movements when a swap rebalance is performed. A minor bug in this optimization interfered with rebuilding user-dropped replicas/lost replicas during such a rebalance where we didn’t consider new nodes coming in when placing lost indexes. |
Adds a sorted pseudo-random order where we give higher priority to new incoming nodes followed by old nodes staying in the cluster when we try to place lost indexes. Hence, we can repair lost replicas. |
|
After enabling GSI shard-based rebalance from the Web UI and saving the settings, it was not possible to disable the same setting by unticking the box. The box is greyed out and cannot be interacted with. |
Issue resolved. |
|
An issue in the rebalancer caused several partitions to miss streaming mutations when partitioned indexes were moved during file-based rebalances. This issue resulted in corrupt indexes as not all data was processed. |
Issue resolved. |
Search Service
Issue | Description | Resolution |
---|---|---|
In index definitions from version 6.x, the An issue in the v16 code while interpreting data with no vector fields caused an alignment panic. This panic is fixed with 7.6.4, allowing 6.x index definitions to work ok in 7.6.4.
|
In summary, version 7.6.4 now supports upgrades of 6.x index definitions.
However,
Couchbase recommends upgrading indexes to 15+ segment version format for improvements in indexing footprint and performance. |
Release 7.6.3 (September 2024)
Couchbase Server 7.6.3 was released in September 2024. This maintenance release contains new features and fixes several known issues.
For detailed information on new features and enhancements, please see What’s New in Version 7.6.
Deprecated Platforms
The use of x86 processors that do not support Advanced Vector Extensions 2 (AVX2) is deprecated in version 7.6.3. Future versions of Vector Search will rely on these instructions to improve performance. These instructions are available in most Intel processors produced since 2013 and AMD processors produced since 2015.
Fixed Issues
This release contains the following fixes:
Cluster Manager
Issue | Description | Resolution |
---|---|---|
An issue occurred where |
Issue resolved. |
Storage Engine
Issue | Description | Resolution |
---|---|---|
When a Couchbase Data Service experienced a hard failover or crashed with data loss, DCP clients (like those used with Elasticsearch and Kafka) sometimes received incomplete or partial snapshots of the data. This incomplete data sometimes leads to rare situations where the Data Service crashed repeatedly. |
Issue resolved. |
|
An issue caused by a race condition in the index recovery code path sometimes resulted in an item count mismatch and wrong query results. Prior to Release 7.6.0, this issue sometimes occurred during Indexer restart. However, as part of the file-based rebalance process introduced in 7.6.0, a recovery of the index is performed after the index is moved, which increases the likelihood that this race condition might be reached. |
Issue resolved. |
Query Service
Issue | Description | Resolution |
---|---|---|
A query sometimes returned the error:
|
Issue resolved. |
|
An issue occurred when migrating nested UDFs to any 7.6.x release from a previous version. In cases when an inline UDF called another UDF, query nodes became unresponsive. |
Issue resolved. |
|
When upgrading to a 7.6.x release, if buckets were loaded by Query nodes before they were fully migrated to 7.6.x format, Query continually reloaded the bucket on access, leading to degraded performance. This issue has been resolved in 7.6.3. |
Issue resolved. |
|
An issue occurred with user-defined functions (UDFs) that contained queries defined with a common-table expression (CTE). If the CTE contained references to the UDF arguments, the execution of the UDF returned an error indicating “correlation reference |
Issue resolved. |
Index Service
Issue | Description | Resolution |
---|---|---|
An issue in the rebalancer code caused several partitions to miss streaming mutations when partitioned indexes were moved during file-based rebalance. This issue resulted in corrupt indexes, as not all data will be processed. The issue occurred only with partitioned indexes when file-based rebalance was enabled. |
Issue resolved. |
Analytics Service
Issue | Description | Resolution |
---|---|---|
An issue with the HTTP client lifecycle resulted in leaked TCP connections between the Analytics service processes during internal credentials rotation, eventually leading to ephemeral port exhaustion. |
Issue resolved. |
|
When a query encounters a failure, the details of the exception can get masked by subsequent exceptions, leading to the loss of the root cause of the query failure. |
Issue resolved. |
Known Issues
This release contains the following known issues:
Query Service
Issue | Description | Workaround | ||
---|---|---|---|---|
If |
Disable memory quota or contact support for alternatives.
|
Release 7.6.2 (July 2024)
Couchbase Server 7.6.2 was released in July 2024. This maintenance release contains new features and fixes several known issues.
For detailed information on new features and enhancements, please see What’s New in Version 7.6.
Fixed Issues
This release contains the following fixes:
Cluster Manager
Issue | Description | Resolution |
---|---|---|
The |
To prevent this, the |
|
The Cache Miss Ratio metric showed the number of background fetch operations over the total number of read operations. However, the implementation meant that:
The value could also show as being greater than 100%, as it did not account for all cases of background fetch. |
The metric now shows the ratio between the number of read operations which failed due to the key not being present, and all read operations:
|
Storage Engine
Issue | Description | Resolution |
---|---|---|
HashTable resizing can be avoided by setting the minimum size to be large enough, but there was no metric to indicate what that should be. |
Added |
|
With the removal of the dedicated DCP consumer buffer in 7.6.0 in a temporary out-of-memory scenario, a consumer node could continue to consume DCP mutations and add to the checkpoint beyond the allocated checkpoint memory quota. This is limited by the dcp consumer buffer quota. |
A new metric has been added to track the sum of the checkpoint quota and the DCP consumer buffer quota. This is used to make
sure the memcached
memory allocation on a consumer node isn’t exceeding the allocated memory quotas: |
|
A critical issue occurs when performing an off-line-upgrade, graceful failover, or delta-recovery upgrade methods on index service nodes from Couchbase Server versions 7.1 through 7.2 to versions 7.6.0 or 7.6.1. The upgrade corrupted existing indexes requiring you to drop and rebuild them. |
Issue resolved. |
Query Service
Issue | Description | Resolution |
---|---|---|
The planner may not pick a covering index if the index is defined with a complex |
Issue resolved. |
|
In rare circumstances with high-load Query, requests can fail to complete, blocking rebalance attempts. |
Issue resolved. |
|
Incorrect return code when attempting to create an index that already exists.
The system returns the error: |
Issue resolved: the system will now return: |
|
In rare cases, Couchbase Server could report an |
Issue resolved. |
Eventing Service
Issue | Description | Resolution |
---|---|---|
When performing a Sub-Document operation using the Eventing |
Issue resolved. |
|
Eventing did not properly support read-write bindings to collections with Sync Gateway attached at the source. Adding a new Eventing function failed if the bucket alias was set to read-write. |
Issue resolved. |
Index Service
Issue | Description | Resolution |
---|---|---|
To speed up the initial process of building the index, the index service has an optimization that skips checking for existing entries and directly adds new ones. This optimization is crucial for the initial build but should not be used for updates to existing indexes. Unfortunately, in a rare sequence of events, all indexes might be accidentally enabled for this optimization, leading to duplicate entries in the storage layer and causing incorrect results. |
Optimization is only enabled for those indexes that are undergoing the initial build process. |
|
The indexes made using the plasma storage engine have both in-memory and on-disk components.
There are some components which are always present in memory and are never evicted to disk, so they consume the same memory
even at varying resident ratios. |
Now, a more accurate calculation is made to avoid overestimating the memory of the indexes. |
|
During restore, the index planning operation adds replicas for lost replicas of indexes in the plan. If multiple indexes exist with the same name, there are lost replicas, and there are not enough indexer nodes to hold all the
index replicas in the plan, then extra replicas will not be removed from the plan, and can remain on the old node. |
Issue resolved. |
Search Service
Issue | Description | Resolution |
---|---|---|
Running a query with |
If a user runs a query with |
|
In scenarios where a rebalance is followed by a failover, the partitions are not evenly distributed across all nodes, causing a skewness. |
Skewness has been resolved. |
|
During rebalance, when moving partitions around, we track the progress of movement and then check the seq numbers the partition has caught up relative to the view of the partition on source node and also the |
You can now optionally monitor the replicas as well |
|
Prometheus fails to scrape the new |
Problem caused by the use of |
Tools
Issue | Description | Resolution |
---|---|---|
Moving a cloud backup archive in a normal GCP bucket to a locked GCP bucket (which allows creating new files but prohibits modifying or deleting pre-existing objects) and then performing a restore from that bucket. The problem occurs because |
|
|
Previously it was not possible to import an encrypted backup repository into the backup service as we did not accept the KMS parameters. |
Both the UI and REST API now allow users to specify the KMS and its authentication parameters so an encrypted repository can successfully be imported. |
|
Previously, passing a relative path to |
Issue resolved. |
Known Issues
This release contains the following known issues:
Query Service
Issue | Description | Workaround |
---|---|---|
If |
Disable memory quota or contact support for alternatives. |
Release 7.6.1 (April 2024)
Couchbase Server 7.6.1 was released in April 2024. This maintenance release fixes several known issues.
For detailed information on new features and enhancements, please see What’s New in Version 7.6.
Fixed Issues
This release contains the following fixes:
Known Issues
This release contains the following known issue:
Storage Engine
Issue | Description | Workaround |
---|---|---|
Scheduled merges – that is merges which are done due to a task in a plan – will always fail. |
You can perform manual merges through the UI, or using the API. |
Index Service
Issue | Description | Workaround | ||
---|---|---|---|---|
A critical issue occurs when using the offline-upgrade or graceful failover/delta-recovery upgrade methods on Index Service nodes from Couchbase Server versions 7.1 through 7.2 to versions 7.6.0 or 7.6.1.
|
If you have one or more Index Service nodes, Couchbase suggests you delay upgrading until the release of the next service patch for Couchbase Server (7.6.2) which resolves this issue. To work around this issue, use the Swap Rebalance method when upgrading to Couchbase Server 7.6.x. |
Release 7.6.0 (March 2024)
New Features and Enhancements
For detailed information on new features and enhancements, please see What’s New in Version 7.6.
Deprecated and Removed Features and Platforms
-
The following platforms are still supported, but deprecated in Couchbase Server 7.6:
-
Amazon Linux 2 LTS x86 & ARM
-
Microsoft Windows Server 2019
-
Ubuntu 20.04 LTS x86 & ARM
-
MacOS 12 (Monterey) x86 & ARM
-
-
We are removing these platforms from support (they are already deprecated):
-
CentOS 7.x
-
Debian Linux 10 (Buster)
-
MacOS 11 (BigSur)
-
Red Hat Enterprise Linux (RHEL) 7.x
-
-
Removed support for TLS
1.0
and1.1
. Both the standards bodies and Couchbase have already deprecated these versions due to their lack of security. (MB-58045) -
The
cbbackup
andcbrestore
utilities have been removed from Couchbase Server 7.6. The same functionality is provided incbbackupmgr
. -
Customers using the Couchbase
yum
orapt
repositories to install Couchbase Server on Linux must ensure they are using the latest version1.0-13
of the couchbase-release meta-package prior to upgrading to Couchbase Server 7.6.0 or later. To check which version you currently have installed:-
On RPM-based systems:
rpm -q couchbase-release
(should returncouchbase-release-1.0-13.noarch
) -
On Debian-based systems:
dpkg -s couchbase-release|grep Version
(should returnVersion: 1.0-13
)
If you have a version lower than
1.0-13
installed, please follow the instructions for Installing Couchbase Server on Red Hat or Installing Couchbase Server on Ubuntu and Debian to install the latest couchbase-release meta-package. -
Fixed Issues
This release contains the following fixes.
Cluster Manager
Issue | Description | Resolution |
---|---|---|
CPU utilization rate may be incorrect in a VM. |
Stats now use the number of logical processors online on the system. This correction affects the following stats:
|
Data Service
Issue | Description | Resolution |
---|---|---|
When the client sends an |
The server returns a new "not locked" error code. |
|
When the client sends an unlock request for a document that is not cached in Full Eviction mode, the server returns a "temp fail" error code, even if the document is stored on disk. This causes the client to retry until the operation times out. |
The metadata of locked documents are kept in the hashtable. The server returns a new "not locked" error code if the document exists, "not found" otherwise. |
XDCR
Issue | Description | Resolution |
---|---|---|
Erroneous network conditions could lead to checkpoint manager slow at stopping. |
Ensure the checkpoint manager stops, even if it has trouble starting due to network issues. |
|
In low-priority replications, it is possible for a Data Service stream to end temporarily and for XDCR to not handle it correctly. This will lead to a hung replication. |
Now, XDCR restarts the pipeline if a data service stream ends. |
|
Race condition in starting and stopping XDCR source nozzle could lead to a memory leak |
Fixed the race condition |
|
If the Bandwidth throttler is used, race condition may occur during pipeline shutdown where the |
Fix race condition during shutdown to ensure out nozzle closes properly. |
|
In a slow running backfill replication, XDCR could be too aggressive in restarting pipelines. |
Ensure XDCR does not restart backfill pipelines if some progress is observed periodically. |
|
If a replication is idle without mutations, XDCR is unable to detect that a target bucket failover occurred. |
Ensure target-side failover detection takes place, even if the source has no incoming mutations |
|
When a target document is locked, and a non-optimistic LWW replication is taking place, XDCR will retrieve a "locked CAS" of maxUint. This will cause the source mutation to lose, and lead to scenarios where the mutation is not replicated, even if it should have won conflict resolution. |
XDCR will retry conflict resolution for the duration that the document is locked in pessimistic replication. This will ensure that a valid CAS is used for source-side conflict resolution. |
Query Service
Issue | Description | Resolution |
---|---|---|
SQL++ will not support operations on legacy buckets without password specification. |
Users must authenticate first to connect to the query service and execute any SQL statement. |
|
Observed a memory leak with multiple executions of the same UDF function. |
Fix the condition whereby UDF functions are being re-loaded into cache from storage every time the function is executed. |
|
The system catalog allows users to see items without RBAC authentication or authorization. |
Valid RBAC permissions are required to query the system catalog, and to view items stored in the catalog. |
Index Service
Issue | Description | Resolution |
---|---|---|
The system did not support nested flattened array indexes when an entry was missing in nested arrays. |
The system now correctly expands null or missing entries for nested arrays. |
Search Service
Issue | Description | Resolution |
---|---|---|
When running non-analytic queries from SQL++ there was an expectation to use the keyword analyzer. If the user specified any other analyzer, then the analyzer expectation was not met, leading to the error: The non-analytical queries are:
|
This restriction has been lifted in 7.6.0. |
|
When a Search index name is too long, the index silently fails to ingest documents. |
The UI will now flag instances where the chosen index name is too long. |
|
Index alias queries not returning cumulative (duplicate) results from its targets. |
The fix prevents cyclic lockups within aliased index targets (aliases with the same targets pointing to each other to an infinite depth). |
Known Issues
This release contains the following known issues:
.NET SDK Compatibility
Issue | Description | Workaround |
---|---|---|
Versions of the .NET SDK earlier than 3.5.1 have compatibility issues with Couchbase Server 7.6. |
Use version 3.5.1 or later of the .NET SDK with Couchbase Server 7.6. |
User Interface
Issue | Description | Workaround |
---|---|---|
When the Load Metadata from File option is selected, the Couchbase Server UI does not disable two options that can’t be used: Validate metadata using trusted fingerprints and Verify Remote Peer. These two options are irrelevant during metadata upload. Selecting them will have no impact on the process. |
NA |
Failover
Issue | Description | Workaround |
---|---|---|
When the auto-failover timeout setting is set to fewer than 5 seconds (the recommended minimum), you can no longer modify any cluster settings using the Couchbase Server UI. |
Modify settings using the Nodes and Clusters REST API. For more information on the auto-failover settings, see the documentation. |
Tools
Issue | Description | Workaround |
---|---|---|
Scheduled merges (i.e. merges that are performed in a task in a plan) do not run. Note that backups scheduled for the merge are left in place so no data is lost. |
Merge backups manually using the UI or using the API. |
Storage Engine
Issue | Description | Workaround |
---|---|---|
In situations where bucket data exceeds 4 TB and Magma is being used as the storage engine, it is possible for rebalance to hang and fail to run to completion. |
NA |
Index Service
Issue | Description | Workaround | ||
---|---|---|---|---|
A critical issue occurs when using the offline-upgrade or graceful failover/delta-recovery upgrade methods on Index Service nodes from Couchbase Server versions 7.1 through 7.2 to versions 7.6.0 or 7.6.1.
|
If you have one or more Index Service nodes, Couchbase suggests you delay upgrading until the release of the next service patch for Couchbase Server (7.6.2) which resolves this issue. To work around this issue, use the Swap Rebalance method when upgrading to Couchbase Server 7.6.x. |
Documentation for Older Versions
Documentation for older versions of Couchbase software can be found in the Documentation Archive.