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 using cbbackupmgr, cbimport, and cbexport. See Host Formats information in cbbackupmgr, cbimport, and cbexport.

      • You can now download the cbbackupmgr, cbimport, and cbexport 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

      MB-54396

      Reporting wrong fragmentation and data size stats.

      MB-55769

      Buckets page should load even if the browser machine is slow or bandwidth is low.

      Cross Datacenter Replication (XDCR)

      Issue Description

      MB-53065

      Prolonged TMPFAIL or ENOMEM causes memory bloat.

      MB-54332

      Inter Cluster XDCR failing in Server 7.1.2 and Capella.

      MB-55060

      XDCR on non-KV node freezes when replication settings changed several times.

      Query Service

      Issue Description

      MB-54034

      Display the number of uses for prepared statements accurately.

      MB-54040

      [SQL++] insert does not trigger a memory quota exceeded.

      MB-54043

      Potential for request stall if stream operator fails to notify request that it has terminated.

      MB-54044

      Optimizer hints are not displayed in EXPLAIN statements for subqueries.

      MB-54326

      Disable impersonate if KV node does not support collections to prevent Query service errors when upgrading from 6.6.5.

      MB-54514

      ORDER BY after UNION requires explicitly aliased terms.

      MB-54596

      Covered FTS SEARCH() with memory_quota fails.

      MB-54705

      Active requests and queued requests in SQL++ metrics are gauges, not counters.

      MB-55864

      Memory exceeded quota error with ARRAY_AGG.

      Index Service

      Issue Description

      MB-54348

      When an index drop is immediately followed by bucket delete, the indexer can deadlock when a rare race condition occurs.

      MB-55195

      A scanning issue occurs when an index is on a node and the replica index is on a different node.

      MB-55216

      Index build hangs in mixed mode when the projector skips transaction records.

      MB-55217

      Index build stuck on "Check pending stream" during shard rebalance testing.

      MB-55228

      Report aggregated node level statistics information using prometheus.

      MB-55218

      Use streamId instead of index.Stream to determine stream catchup pending.

      MB-55243

      cbindex did not execute the build index and the performance test is stuck.

      MB-55246

      Change log level when using watchers to connect to indexer services in a cluster.

      MB-55248

      "FlushTs Not Snapshot Aligned" message incorrectly displayed in Log multiple times.

      MB-55312

      Nil value in the Node table causes a panic issue in the logs.

      MB-55512

      Orphaned watcher background thread in logs following a Server upgrade.

      MB-55517

      RedistributeIndexes flag should consider partitioned and non-partitioned indexes.

      Storage

      Issue Description

      MB-55426

      Address plasma RP Version 16 bit overflow, and recovery and data logs.

      MB-56016

      Ensure rows that were previously compacted do not return when a crash and recovery occurs in the Magma storage engine.

      Eventing Service

      Issue Description

      MB-53270

      Use "_txn:" so the Eventing service detects and rejects transaction documents.

      MB-53393

      Restoring Eventing Functions to new scope in the same bucket upgrades and overwrites the admin or global Function Scope.

      MB-54315

      Running "advancedGetOpWithCache" returns an incorrect meta.id on the second call when accessing a document twice.

      MB-55193

      FunctionOverload parser results in false positives when it incorrectly flags function names with reserved function names as their prefix.

      MB-56748

      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}.

      MB-56749

      Eventing writes to the wrong keyspace (_default._default) if the collection name is long (over 30 characters).

      MB-56750

      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.

      Backup Service

      Issue Description

      MB-54549

      Backup and restore fails when a bucket name contains a "." character.

      Views

      Issue Description

      MB-53646

      View engine queries should filter out transaction documents inserted into buckets.

      MB-54172

      Ensure all data is returned when DCP stream starts in disk-only mode.

      MB-54173

      Handle json and raw compressed XATTR document types in the View engine.

      Known Issues

      This release contains the following known issues.

      Couchbase CLI

      Issue Description

      MB-56321

      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

      MB-56429

      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

      MB-56226

      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

      MB-56058

      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 0. Such queries will still have valid plans and will execute correctly, but their plans may not be as optimal as desired.

      Workaround: There is no workaround for this display issue.