Release Notes for Couchbase Server 7.2
New Features and Enhancements
-
The following new platforms are supported:
-
Red Hat Enterprise Linux 9
-
Oracle Linux 9
-
Ubuntu 20 LTS (ARM64)
-
Ubuntu 22 LTS (x86, ARM64)
-
Amazon Linux 2023 (x86, ARM64)
-
macOS 12 Apple Silicon
See Supported Platforms for the complete list of supported platforms, and notes on deprecated platforms.
-
-
Cost Based Optimizer for Analytics (CBO). The cost-based optimizer for Analytics chooses the optimal plan to execute an Analytics query. The cost-based optimizer gathers and utilizes samples from Analytics collections, and then queries the samples at query planning time to estimate the cost of each operation.
The Analytics Service introduces new syntax for managing samples, and provides parameters and hints to help specify the behavior of the cost-based optimizer. See Cost-Based Optimizer for Analytics.
-
Time Series Queries. Time series data is any data which changes over time. It is usually collected frequently, in regular or irregular intervals, from a device or a process.
The Query Service provides a standard format for time series data, which promotes compact storage and quick processing, and introduces a _TIMESERIES function to query time series data. See Time Series Data and the _TIMESERIES Function.
-
Change History. A change history can be maintained for collections in a bucket. Changes to documents within the collections are included in the change history. A maximum size for the change history can be specified in bytes or seconds. See Change History.
For information on establishing change-history default settings, at bucket-creation time, see Creating and Editing Buckets. For information on switching the change history on or off for a specific collection, see Creating and Editing a Collection. To examine the change-history status for each collection in a bucket, see the collections option for
cbstats
. To read the change history, use the Kafka 4.1 Connector. -
New alerts are provided for change-history size threshold and Index Service low residence threshold. See Setting Alerts.
-
You can now configure block size for Magma storage when you create a bucket. See Creating and Editing Buckets.
-
New metrics are provided for tracking XDCR conflict resolution on the target cluster. See Monitoring Conflict Resolution on the Target Cluster.
-
Couchbase Server now checks node certificates to ensure a node-name is correctly identified with a Subject Alternative Name (SAN) when certificates are uploaded and when a node is added or joins a cluster. See Node-Certificate Validation.
-
The Analytics Service now supports external datasets on Google Cloud Platform (GCP) storage. You can manage these datasets using the UI or the Analytics Links REST API. See Managing Links and Analytics Links REST API.
-
When connecting from an external network, you can now use the
network=external
option to specify an alternate address when usingcbbackupmgr
,cbimport
, andcbexport
. See Host Formats information in cbbackupmgr, cbimport, and cbexport. -
You can now download the
cbbackupmgr
,cbimport
, andcbexport
tools from a tools package. This enables developers or testers to use the tools from machines on which Couchbase Server is not installed. See Server Tools Packages. -
Capella databases use Certificate Authorities (CAs), to establish secure connections: these CAs are now automatically trusted when you use Couchbase Web Console or the REST API to establish fully secure XDCR connections between Capella databases and Couchbase Enterprise Server 7.2+. See Capella Trusted CAs.
Deprecated and Removed Features and Platforms
-
The following operating systems are no longer supported:
-
SUSE Linux Enterprise Server 12 versions earlier than SP2
-
MacOS 10.15 Catalina
-
RHEL 7
-
CentOS 7
-
Oracle Linux 7
-
Ubuntu 18 LTS
-
-
MacOS 11 Big Sur is deprecated.
-
Debian 10 is deprecated.
See Supported Platforms for the complete list of supported platforms.
-
TLS 1.0 and 1.1 are deprecated. See Establishing the Minimum TLS-Version.
Fixed Issues
This release contains the following fixes.
Cluster Manager
Issue | Description |
---|---|
Reporting wrong fragmentation and data size stats. |
|
Buckets page should load even if the browser machine is slow or bandwidth is low. |
Cross Datacenter Replication (XDCR)
Issue | Description |
---|---|
Prolonged TMPFAIL or ENOMEM causes memory bloat. |
|
Inter Cluster XDCR failing in Server 7.1.2 and Capella. |
|
XDCR on non-KV node freezes when replication settings changed several times. |
Query Service
Issue | Description |
---|---|
Display the number of uses for prepared statements accurately. |
|
[SQL++] insert does not trigger a memory quota exceeded. |
|
Potential for request stall if stream operator fails to notify request that it has terminated. |
|
Optimizer hints are not displayed in EXPLAIN statements for subqueries. |
|
Disable impersonate if KV node does not support collections to prevent Query service errors when upgrading from 6.6.5. |
|
ORDER BY after UNION requires explicitly aliased terms. |
|
Covered FTS SEARCH() with memory_quota fails. |
|
Active requests and queued requests in SQL++ metrics are gauges, not counters. |
|
Memory exceeded quota error with ARRAY_AGG. |
Index Service
Issue | Description |
---|---|
When an index drop is immediately followed by bucket delete, the indexer can deadlock when a rare race condition occurs. |
|
A scanning issue occurs when an index is on a node and the replica index is on a different node. |
|
Index build hangs in mixed mode when the projector skips transaction records. |
|
Index build stuck on "Check pending stream" during shard rebalance testing. |
|
Report aggregated node level statistics information using prometheus. |
|
Use streamId instead of index.Stream to determine stream catchup pending. |
|
cbindex did not execute the build index and the performance test is stuck. |
|
Change log level when using watchers to connect to indexer services in a cluster. |
|
"FlushTs Not Snapshot Aligned" message incorrectly displayed in Log multiple times. |
|
Nil value in the Node table causes a panic issue in the logs. |
|
Orphaned watcher background thread in logs following a Server upgrade. |
|
RedistributeIndexes flag should consider partitioned and non-partitioned indexes. |
Storage
Issue | Description |
---|---|
Address plasma RP Version 16 bit overflow, and recovery and data logs. |
|
Ensure rows that were previously compacted do not return when a crash and recovery occurs in the Magma storage engine. |
Eventing Service
Issue | Description |
---|---|
Use "_txn:" so the Eventing service detects and rejects transaction documents. |
|
Restoring Eventing Functions to new scope in the same bucket upgrades and overwrites the admin or global Function Scope. |
|
Running "advancedGetOpWithCache" returns an incorrect meta.id on the second call when accessing a document twice. |
|
FunctionOverload parser results in false positives when it incorrectly flags function names with reserved function names as their prefix. |
|
Eventing Bucket Backed Cache in the Advanced Accessor couchbase.get() not efficient for very large documents. The final implementation returns small documents with a speed up is 20-25X while large documents are returned with a speed up of 400-500X when using {"cache": true}. |
|
Eventing writes to the wrong keyspace (_default._default) if the collection name is long (over 30 characters). |
|
As of 7.2, the curl() call no longer performs URL encoding. Older functions with a language compatibility of 6.6.2 still work. In some cases, an eventing function created in 7.1 might require a parameter added to the curl() call "url_encode_version": "7.1.0" as the 7.1 release changed the 6.6.2 URL encoding method. |
Known Issues
This release contains the following known issues.
Couchbase CLI
Issue | Description |
---|---|
Summary: 7.1.0 couchbase-cli may authenticate using either a username or password, or a mTLS (client certificate). The CLI argument validation does not handle the case where no authentication is required. For example, node-init. This results in a false positive where couchbase-cli requires authentication flags to be provided. Workaround: Before a node is initialized, use placeholders for the username and password. After the node is initialized, a username and password must be supplied. |
Index Service
Issue | Description |
---|---|
Summary: In Couchbase Server 7.2.0, the Indexing service specifies that it can consume data from the Data service in out-of-sequence order (OSO) when building indexes on non-default scopes and collections only. These OSO-enabled index builds may experience slowness compared to OSO-disabled index builds. As index rebalance uses index builds, overall index rebalance may also experience slowness for OSO-enabled index builds. Workaround: Use the following REST API command to disable the use of OSO: curl -u <username:password> https://<indexer_ip>:19102/settings \ -X POST -d '{"indexer.build.enableOSO":false}' |
Search Service
Issue | Description |
---|---|
Summary: Intermittent crashes and errors happen on Full Text Search at query time in term dictionary and postings list. This happens when attempting to access invalid addresses or out-of-bounds data. For example, when term dictionary might be an empty byte slice. Workaround: For the errors, a retry logic on the application layer might help. However, there is no workaround for the intermittent crashes which Couchbase are investigating. |
Analytics Service
Issue | Description |
---|---|
Summary: The first version of the cost-based optimizer (CBO) focuses on optimizing SPJ (select-project-join) queries, or multi-inner-join subgraphs of such queries.
For more complex queries, e.g. queries involving outer joins or complex correlated subqueries, some parts of the query will be handled by CBO and other parts will not be.
As a result, query plans currently displayed for such queries will be missing CBO-provided cost and cardinality estimates, instead showing those values as Workaround: There is no workaround for this display issue. |