Release Notes for Couchbase Server 7.6

      +

      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

      MB-63070

      An issue occurred where cbcollect_info did not process some <ud>…</ud> tags, especially when they were present at the end of the file or inside binary data. As a result, some logs that should have been redacted were not redacted.

      Issue resolved.

      Storage Engine

      Issue Description Resolution

      MB-62984

      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.

      MB-63261

      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

      MB-63024

      A query sometimes returned the error: Nested aggregates not allowed under the following conditions:

      • query contains in its FROM clause a subquery used as the inner of a join

      • the subquery is used as an inner of a nested-loop join in query plan

      • the subquery only accesses a single keyspace (i.e., no joins/nests/unnests)

      • the subquery contains one or more aggregates (e.g., COUNT) in its projection

      • the subquery contains a GROUP BY clause, and the GROUP BY list does not match index key order of any secondary indexes defined

      • a secondary index exists that allows index group/aggregate pushdown for the subquery

      • the cost-based optimizer is ON (which is the default), and a previous UPDATE STATISTICS/ANALYZE command has been run on the keyspace referenced in the subquery.

      Issue resolved.

      MB-63060

      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.

      MB-63078

      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.

      MB-63147

      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 <with_alias> is not allowed.”

      Issue resolved.

      Index Service

      Issue Description Resolution

      MB-63193

      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

      MB-62923

      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.

      MB-62949

      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

      MB-63414

      If memory_quota is set to a value and Query uses a non-covered array index, it can result in Request has exceeded memory quota error.

      Disable memory quota or contact support for alternatives.

      This issue is fixed on Capella.

      Index Service

      Issue Description Workaround

      MB-62220

      Dropped replicas are not rebuilt during swap rebalance

      Drop and then recreate the indexes.

      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

      MB-60621

      The sys_cpu_cgroup_seconds_total{mode="usage"} stat also included the amount of time for sys_cpu_cgroup_seconds_total{mode="user"} and sys_cpu_cgroup_seconds_total{mode="sys"}. As a result, using certain functions e.g. sum(sys_cgroup_seconds_total) would double the user count and sys time.

      To prevent this, the sys_cpu_cgroup_seconds_total{mode="usage"} is no longer returned and is replaced with sys_cpu_cgroup_usage_seconds_total.

      MB-60883

      The Cache Miss Ratio metric showed the number of background fetch operations over the total number of read operations. However, the implementation meant that:

      1. the value did not represent a meaningful quantity to the user in all configurations.

      2. the meaning of the value changed between different bucket types and eviction policies.

      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:

      kv_ops{op="get", result="miss"} / kv_ops{op="get"}.

      Storage Engine

      Issue Description Resolution

      MB-60879

      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 kv_vb_ht_avg_size and kv_vb_ht_max_size which summarizes the current HT sizes across vBuckets.

      MB-61525

      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:
      checkpoint_mem-usage limit = checkpoint_memory_ratio + dcp_consumer_buffer_ratio.

      MB-62547

      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

      MB-61014

      The planner may not pick a covering index if the index is defined with a complex WHERE clause (e.g. AND or OR clauses involving !=, NOT or IN predicates).

      Issue resolved.

      MB-61171

      In rare circumstances with high-load Query, requests can fail to complete, blocking rebalance attempts.
      Such requests don’t affect other regular processing beyond occupying a servicer, but a rebalance can’t complete until they do. By the time it is an issue, it is likely that the client that submitted such a request has already terminated, and the request is just stuck in Query processing. Deleting such a request from system:active_requests using the REST API may release it.
      Forcibly restarting the Query service will clear the issue.

      Issue resolved.

      MB-61564

      Incorrect return code when attempting to create an index that already exists. The system returns the error: 200: index already exists.

      Issue resolved: the system will now return: 409: index already exists.

      MB-61764

      In rare cases, Couchbase Server could report an IndexOutOfBoundsException error if a SQL++ query contained a subquery with an IN clause.

      Issue resolved.

      Eventing Service

      Issue Description Resolution

      MB-61488

      When performing a Sub-Document operation using the Eventing couchbase.mutateIn Sub-Document API, the operation sometimes caused exceptions in the JavaScript code and failed with the error code LCB_ERR_SUBDOC_XATTR_UNKNOWN_MACRO.

      Issue resolved.

      MB-50944

      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

      MB-61387

      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.

      MB-61793

      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.
      For any rebalance or index planning calculation, the memory usage of all indexes at the recommended resident ratio is estimated and used. During these estimations, the memory taken by the fixed in-memory component was also scaled up with the respective resident ratio, which caused overestimation. This overestimation is only evident at very low resident ratios and could sometimes cause rebalance failure.

      Now, a more accurate calculation is made to avoid overestimating the memory of the indexes.

      MB-62199

      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.
      This causes restore operation failures.

      Issue resolved.

      Search Service

      Issue Description Resolution

      MB-60719

      Running a query with score:none results in response containing score:0. The score is incorrectly added to the response.

      If a user runs a query with score:none then the query response will no longer contain score:0.

      MB-61043

      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.

      MB-61310

      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 KV’s view.
      This progress monitoring procedure was only for active partitions

      You can now optionally monitor the replicas as well

      MB-61654

      Prometheus fails to scrape the new xattrs fields)

      Problem caused by the use of *num_vectors which uses Prometheus-reserved character; num_vectors will no longer show up in the stats.

      Tools

      Issue Description Resolution

      MB-60630

      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 restore didn’t fail, which would be the expected behavior; instead, the restore hangs.

      The problem occurs because cbbackupmgr always retries on 403s responses when using a GCP client, since it considered them intermittent.

      cbbackupmgr no longer considers 403s as temporary errors, and will not always retry when receiving them.

      MB-61630

      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.

      MB-61631

      Previously, passing a relative path to cbbackupmgr as --obj-staging-dir, the backup or restore would fail with an empty object name.

      Issue resolved.

      Known Issues

      This release contains the following known issues:

      Query Service

      Issue Description Workaround

      MB-63414

      If memory_quota is set to a value and Query uses a non-covered array index, it can result in Request has exceeded memory quota error.

      Disable memory quota or contact support for alternatives.

      Index Service

      Issue Description Workaround

      MB-62220

      Dropped replicas are not rebuilt during swap rebalance

      Drop and then recreate the indexes.

      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:

      Storage Engine

      Issue Description Resolution

      MB-61154

      When bucket data exceeded 4 TB and Magma was used as the storage engine, rebalance sometimes hung and failed to run to completion.

      Issue resolved.

      Known Issues

      This release contains the following known issue:

      Storage Engine

      Issue Description Workaround

      MB-61076

      Scheduled merges – that is merges which are done due to a task in a plan – will always fail.
      The system will not perform the merge, and it will leave the backups that should have been merged in place, ensuring no data is lost.

      You can perform manual merges through the UI, or using the API.

      Index Service

      Issue Description Workaround

      MB-62547

      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.

      Using these methods to upgrade Index Service nodes to these versions corrupts existing indexes that require you to drop and rebuild them.

      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.

      Search Service

      Issue Description Workaround

      MB-60719

      Older SDKs might have failed operations when you access the Search Service with the disableScoring option set to false. This is a breaking change due to a change in the response payload.

      Set the disableScoring option in SDKs to true.

      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 and 1.1. Both the standards bodies and Couchbase have already deprecated these versions due to their lack of security. (MB-58045)

      • The cbbackup and cbrestore utilities have been removed from Couchbase Server 7.6. The same functionality is provided in cbbackupmgr.

      • Removed support for password-less buckets.

      • Customers using the Couchbase yum or apt repositories to install Couchbase Server on Linux must ensure they are using the latest version 1.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 return couchbase-release-1.0-13.noarch)

        • On Debian-based systems: dpkg -s couchbase-release|grep Version (should return Version: 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

      MB-60568

      CPU utilization rate may be incorrect in a VM.
      When running a VM on a XEN hypervisor, stats were computed using the number of processors configured for the entire system.

      Stats now use the number of logical processors online on the system. This correction affects the following stats:

      • sys_cpu_host_cores_available

      • sys_cpu_utilization_rate

      • sys_cpu_host_utilization_rate

      Data Service

      Issue Description Resolution

      MB-58088

      When the client sends an unlock request for a document that is not locked, the server returns a "temp fail" error code. This causes the client to retry until the operation times out.

      The server returns a new "not locked" error code.

      MB-59060

      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

      MB-58671

      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.

      MB-59233

      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.
      This ensures replication continues.

      MB-59320

      Race condition in starting and stopping XDCR source nozzle could lead to a memory leak

      Fixed the race condition

      MB-59416

      If the Bandwidth throttler is used, race condition may occur during pipeline shutdown where the Out nozzle is unable to exit

      Fix race condition during shutdown to ensure out nozzle closes properly.

      MB-59499

      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.

      MB-59669

      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

      MB-59745

      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

      MB-39484

      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.

      MB-58648

      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.

      MB-59501

      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

      MB-59138

      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

      MB-57657

      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: No index available on keyspace.

      The non-analytical queries are:

      • TermQuery

      • PhraseQuery

      • MultiPhraseQuery

      • FuzzyQuery

      • PrefixQuery

      • RegexpQuery

      • WildcardQuery

      This restriction has been lifted in 7.6.0.
      The user will now be able to run queries via SQL++ without having to run the keyword analyzer.

      MB-59858

      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.

      MB-60718

      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).
      The service also de-duplicates index targets.

      Tools

      Issue Description Resolution

      MB-57988

      cli should allow modifying existing collection’s maxTTL

      The Couchbase CLI has been extended to allow the maxTTL (maximum time-to-live) to be modified for a collection.

      Known Issues

      This release contains the following known issues:

      .NET SDK Compatibility

      Issue Description Workaround

      NCBC-3724

      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

      MB-59352

      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

      MB-60062

      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

      MB-61076

      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

      MB-61154

      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

      MB-62547

      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.

      Using these methods to upgrade Index Service nodes to these versions corrupts existing indexes that require you to drop and rebuild them.

      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.

      Search Service

      Issue Description Workaround

      MB-60719

      Older SDKs might have failed operations when you access the Search Service with the disableScoring option set to false. This is a breaking change due to a change in the response payload.

      Set the disableScoring option in SDKs to true.

      Documentation for Older Versions

      Documentation for older versions of Couchbase software can be found in the Documentation Archive.