A newer version of this documentation is available.

View Latest

Release Notes for Couchbase Server 7.1

      +

      Release 7.1.6 (November 2023)

      Couchbase Server 7.1.6 was released in November 2023. This release contains fixes to issues.

      Fixed Issues

      This release contains the fixes listed below.

      Cluster Manager

      Issue Description Resolution

      MB-58335

      When memcached restarted, for example, due to an OOM kill, the cluster configuration was not uploaded to memcached. As a result, SDKs did not bootstrap.

      When the terse_cluster_info_uploader starts again, the cluster configuration is now refreshed in memcached.

      Cross Datacenter Replication (XDCR)

      Issue Description Resolution

      MB-58546

      Checkpoint Manager could get stuck when stopping when it had not been started. This caused memory leak.

      Checkpoint Manager can now be stopped correctly even when it hasn’t been started.

      MB-59336

      When stopped during connectivity issues, Checkpoint Manager could hold onto resources longer than usual. This caused a temporary memory bloat.

      Checkpoint Manager does not now hold on to resources when it stops during connectivity issues.

      MB-59340

      A rare timing issue during a pipeline restart prevented the XDCR DCP client from closing. This caused memory leak.

      To prevent memory leak, the XDCR DCP client does not now start when the pipeline is stopped.

      Data Service

      Issue Description Resolution

      MB-57400

      The computation count for the items remaining DCP/Checkpoint stats exposed to Prometheus was the O(N) function. Where N is the number of items in a checkpoint. This caused various performance issues including Prometheus stats timeouts when checkpoints accumulated a high number of items.

      The computation count has now been optimized as O(1).

      Release 7.1.5 (August 2023)

      Couchbase Server 7.1.5 was released in August 2023. This release contains a new XDCR feature and fixes to issues.

      New XDCR Feature

      XDCR replications, specified by means of the REST API, can now use the filterBinary flag. This specifies whether binary documents should be replicated.

      Detailed information on the filterBinary flag is provided on the REST reference page Creating a Replication.

      Fixed Issues

      This release contains the fixes listed below.

      Cluster Manager

      Issue Description Resolution

      MB-57484

      An ns_server process crash meant the Delete Bucket memcached command was not always called before bucket files were deleted later in rebalance. This caused the memcached process to crash repeatedly causing data service downtime.

      The Delete Bucket command is now called on memcached before a file is deleted during rebalance. This ensures mencached doesn’t attempt to read the files.

      MB-57614

      When the REST API attempted to access unsupported stats, such as meta_latency_wt, "stats_reader" crashed on the ns_server side.

      ns_server now returns a "not_found" status when the REST API is called with unsupported stats.

      Cross Datacenter Replication (XDCR)

      Issue Description Resolution

      MB-56712

      XDCR did not process documents with a JSON array and Extended Attributes (XATTRs). When a document contained XATTRs, XDCR checked for XATTRs in transactions, transaction filters were enabled, and XATTRs were not checked.

      When documents contain arrays, XATTRs are now checked in the transaction XATTRs, and the document is not prevented from being parsed in an array.

      MB-56798

      Data streamed from the Data Service over XDCR should always be streamed in order by mutation id. However, in some scenarios, for efficiency, the Data Service streamed records that were not ordered by mutation id. In certain situations, this out-of-sequence-order [OSO] caused performance issues.

      OSO mode is now available as a global override to be switched off for any currently deployed replications to avoid performance issues.

      MB-56800

      Checkpoint Manager created checkpoint records out-of-sequence when many target nodes ran slowly.

      Checkpoint Manager now creates checkpoints in sequence when target nodes are slow.

      MB-56847

      There was an issue in the ns_server stats collector when the Resource Manager checked the pipeline status to obtain the replication priority to provide more resources for higher priority pipelines.

      Resource Manager does not now check replication pipeline statuses when all replication pipelines have either the exact same high or low priority.

      MB-56849

      XDCR on a non-KV node froze in the UI when the replication setting was changed multiple times. This caused the replication reload channel to be full.

      The replication reload channel does not now get full when changes are made multiple times to Non-KV nodes.

      MB-56850

      When target data nodes were undersized or consistently overwhelmed, XDCR memory usages could increase as it retried.

      Reallocated memory is now reused instead of generate garbage for GC to clean up.

      MB-57131

      A Checkpoint Manager Initialization error caused two memory leak types. These were a backfill pipeline and a main pipeline memory leak.

      The Pipeline Manager and backfill pipeline have both been modified to prevent the memory leaks.

      MB-57184

      XDCR Checkpoint Manager instances were not cleaned up under certain circumstances due to timing and networking issues when contacting target, or when an invalid backfill task was fed in as input.

      Checkpoint Manager instances are now cleaned up. A flag has been added to check for invalid backfill tasks.

      MB-57235

      When a replication spec change was made to a non-Data Service node, delete replication hung and caused the node to return an incorrect replication configuration.

      XDCR now checks that the node is running the Data Service and handles it correctly.

      MB-57413

      Running ipv6 only mode + non-encrypted remote resulted in invalid IP addresses being returned leading to connection issues.

      A valid IP address is now returned.

      MB-57463

      StatsMgr stopping could hang due to watching for notifications resulting in stranded go-routines.

      Go-routines are now stopped correctly.

      MB-57571

      When ipv4 only mode was used, and full encryption only had an alternate address configured where the internal address was unresolvable, XDCR resulted in an error when it contacted the target data nodes.

      The specific scenario has been fixed so that replication can now proceed.

      MB-57788

      A legacy race condition where metadata store could cause a conflict was exposed as part of the binary filter improvements.

      Legacy race conditions have all been resolved.

      Query Service

      Issue Description Resolution

      MB-56533

      Due to how nested dependencies were handled, a sudden rise in memory utilization of the query service on a node caused a memory alert issue. The node did not recover correctly following a restart.

      Nested dependencies are now handled appropriately in the ADVISE statement.

      MB-56563

      A query with multiple filters on an index key, one of which was a parameter, could produce incorrect results. This was caused by incorrectly composing the exact index spans to support the query.

      The way in which exact spans are set has been modified to correct this issue.

      MB-56579

      Covering FLATTEN_KEYS() on an array index generated incorrect results. This was because a modified version of the ANY clause was applied after the index which meant false positives were retained and Distinct scan rows were eliminated.

      The ANY filter is now applied on an index scan itself when covering an index scan with flatten keys.

      MB-56683

      Inter-service read timeout errors were not detected or handled accordingly. User requests consequently failed with timeout errors without retrying with a new connection.

      The error handling and retry mechanism has been modified to handle these types of timeout issues and errors.

      MB-56727

      Under certain circumstances, a query with UNNEST used a covering index scan and incorrect results were returned. Reference to the UNNEST expression should have prevented the covering index from being used for the query as the index did not contain the entire array.

      The logic to determine covering UNNEST scans has been changed to not use a covering index scan for such queries.

      MB-56937

      When an index scan had multiple spans, index selectivity was incorrectly calculated.

      Index selectivity for multiple index spans is now correctly calculated.

      MB-56940

      Incorrect results were returned when a filter contained conditional query parameters. This issue was due to a problem in an OR clause that depended on a named parameter and not a document.

      Constant filters in the subterms of the OR clause are now detected and marked. The extra check prevents index aggregation pushdown. For classifying expressions, when there is an OR clause under an AND, processing removes any constant subterms.

      MB-56941

      A query plan was changed between Server releases. This meant the filter did not update the index when an OR clause pushed variable spans.

      The OR clause has been modified to correct this issue.

      MB-57024

      Incorrect results were returned for a non-IndexScan on a constant false condition. This was due to incorrect handling of a FALSE WHERE clause.

      The FALSE WHERE clause is now correctly handled.

      MB-57029

      Querying system:functions_cache in a multi query node cluster returned incomplete results with warnings. The query result included entries in the local query node, but none from remote query nodes. This was due to a typographical error.

      The typographical error has been corrected.

      MB-57080

      A panic in go_json.stateInString under parsed value functions caused by incorrect concurrent access resulted in the state being freed whilst still in use.

      The concurrent access issue has been resolved.

      MB-57216

      The values returned by the OBJECT_ functions were erroneously pooled and reused by subsequent invocations. Depending on when values were reused, the original results were overwritten.

      Pooling has been removed eliminating the chance that values are overwritten.

      MB-57316

      cbq required a client authentication key file whenever a certificate authority file was used.

      cbq now accepts a certificate authority file without a client key file enabling use with username and password credentials.

      MB-57680

      When appropriate optimizer statistics were used in Cost-Based Optimizer (CBO), for a query with ORDER BY, if there were multiple indexes available for the query, CBO unconditionally favored an index that provided ordering. Such indexes were not always the best ones to use.

      CBO now allows cost-based comparison of indexes.

      Backup Service

      Issue Description Resolution

      MB-57039

      Backup and Restore did not complete successfully when bucket names contained a period or full stop character [.] This was due to a filtering issue where this character was not correctly validated.

      Backup and Restore has been fixed to correctly handle any period characters in bucket names.

      Index Service

      Issue Description Resolution

      MB-56195

      When indexer was under high memory pressure, queuing 256k mutations added to more memory pressure. For each bucket, indexer queued a minimum of 256k mutations before throttling for memory.

      The number of queued mutations has been reduced so that indexer can handle high memory pressure situations much better.

      MB-56340

      During scaling, an GSI indexer rebalance froze and did not successfully complete. This was because an index snapshot was not correctly deleted and recreated.

      A flag now handles snapshots to ensure they are correctly deleted or recreated when indexes are updated during rebalancing.

      MB-56341

      When the indexer was slow to process mutations, a rare race condition resulted in incorrect book-keeping for the indexer. This meant index builds did not complete.

      The race condition no longer happens.

      MB-56371

      When a partitioned key was based on a secondary field of a document and a delete mutation occurred, the Indexer could not determine which partition the document belonged to. This resulted in delete operations on all partitions.

      For partition indexes with document ID as the only partition key, delete mutations are routed only to the partition where the document belongs. This improves the performance of delete and expiration mutations.

      MB-56559

      The indexer.settings.rebalance.redistribute_indexes flag did not affect partitioned indexes. Partitioned Indexes were by default considered for movement during Rebalance.

      The indexer.settings.rebalance.redistribute_indexes flag has been modified to consider partitioned and non-partitioned indexes when restricting the number of index movements during a rebalance.

      MB-56604

      When alter index updated the replica count, new replicas were not built immediately when the original definition was {defer_build: true}. Existing replicas were built and new replicas were built in the next processing iteration.

      New replicas are now built when the replica count is updated for deferred indexes. The status of existing index instances is checked, and if ready, a new build of the instance is triggered.

      MB-57135

      Watcher threads were created by metadata_provider during rebalance but were not cleaned up.

      Threads are now closed after rebalance is finished.

      MB-57295

      Indexer contained incorrect logic to identify active indexer nodes during a multi-service rebalance. This caused potential downtime and failures in index creation, builds, or other DDL operations.

      The information used by TranslatePort has been updated to use the node Services endpoint to correct this issue.

      Data Service

      Issue Description Resolution

      MB-53898

      When expired documents were identified during compaction, the Data Service queued a read of the documents' metadata as part of expiry processing. No upper bound was imposed on the size of this queue. This could result in exceeding the Bucket quota for workloads when large amounts of documents expired in a short time.

      Metadata reads for TTL processing are not now queued. Instead, they are processed inline. Consequently, Bucket quota is no longer exceeded.

      MB-55268

      A shared allocation cache (tcache) between buckets resulted in a stats drift. This caused higher-than-normal memory fragmentation.

      Dedicated tcaches are now used for buckets. jemalloc has been changed to support increased numbers of tcaches.

      MB-55943

      Workloads involving bulk data ingestion or Time-To-Live (TTLs) expiring at the same time caused a sudden increase in memory fragmentation.

      The defragmenter now runs more frequently to better cope with sudden increases in fragmentation.

      MB-56084

      A rollback loop affected legacy clients when collections were used and a tombstone newer than the last mutation in the default collection was purged.

      The lastReadSeqno is now Incremented when the client is not collection-aware.

      MB-56644

      In rare cases, after a failover or memcached restart, a replica rollback while under memory pressure might have caused a crash in the Data Service.

      Memory pressure recovery logic (Item expelling) is now skipped when replica rollback is in progress.

      MB-56970

      XDCR or restore from backup entered an endless loop if attempting to overwrite a document which was deleted or expired some time ago with a deleteWithMeta operation. This was due to a specific unanticipated state in memory which increased CPU usage, and connection became unusable for further operations.

      deleteWithMeta is now resilient to temporary non-existent values with xattr datatype.

      MB-57002

      When using .NET SDK on Windows 10 client and client certs were enabled on CB Server, the Data-Service did not establish a connection and client bootstrap failed with a OpenSSL “session id context uninitialized" error.

      Data-Service has been updated to disable TLS session resume.

      MB-57064

      GET_META requests for deleted items fetched metadata in memory which was not evicted in value-eviction buckets.

      Metadata items are now cleaned when the expiry pager runs.

      MB-57106

      DCP clients streamed in OSO backfill snapshots under Magma observed duplicate documents received in the disk snapshot. This happened where the stream was paused and resumed when the resume point was wrongly set to a key already processed in the stream.

      OSO backfill in Magma now sets the correct resume point after a pause.

      MB-57609

      A spurious auto-failover could happen when Magma compaction visited a TTL’d document that was already deleted.

      Document not found does not now increment the number of read failures.

      Eventing Service

      Issue Description Resolution

      MB-57138

      A server regression in version 7.1.2 might have caused a cURL request encoding issue.

      The default behavior has now been reverted to that in version 7.1.0. In addition, there’s now an optional argument, "url_encode_version", with potential values of [6.6.2, 7.1.0, and 7.2.0]. This argument facilitates the selection of an encoding scheme during upgrades if necessary.

      MB-57164

      The eventing producer process terminated the eventing consumer process when it did not receive a heartbeat from the consumer process.

      The message receiver loop routine now only exits upon receiving a proper termination command.

      Analytics Service

      Issue Description Resolution

      MB-56957

      External collections could not be created using Azure Managed Identity.

      Azure dependencies have been updated to correct this issue.

      MB-57588

      Query results could be unnecessarily converted twice to JSON when documents were large.

      The Query result is now converted to JSON once for all documents.

      MB-57615

      When the Prometheus stats returned from Analytics exceeded four kilobytes, the status code was inadvertently set to 500 (Internal Error), and this resulted in a large number of warnings in the Analytics warning log. Couchbase Server discarded these statistics.

      This has been fixed to properly return a 200 (OK) status code when the size of Prometheus stats exceeds 4KiB, allowing these stats to be recorded properly. The warning is not displayed.

      Storage

      Issue Description Resolution

      MB-57156

      Inconsistencies were observed where a single Magma bucket in a database took a long time to warm up.

      The seq index scan has been optimized for tombstones of zero value size. Optimization is for look up by key, sequence iteration, and key iteration. Docs of 0 value size are placed in both key index and seq index.

      Release 7.1.4 (March 2023)

      Couchbase Server 7.1.4 was released in March 2023. This release contains fixes to issues.

      This release contains the fixes listed below.

      Cluster Manager

      Issue Description

      MB-55153

      Alerts reports "IP address seems to have changed" for nxdomain errors.

      XDCR

      Issue Description

      MB-55022

      XDCR panic when filtering

      MB-55406

      Backfill Request Handler deadlock

      MB-55072

      CheckpointMgr hang on P2P RespCh

      MB-54600

      bucket topology service concurrent map iteration and map write

      Query Service

      Issue Description

      MB-55379

      query using IntersectScan vs UnionScan

      MB-55423

      FTS SEARCH() with memory_quota fails

      MB-55720

      INSERT/UPSERT options should not be shared

      Index Service

      Issue Description

      MB-55247

      Log flooded with "FlushTs Not Snapshot Aligned."

      MB-55424

      Address plasma rpVersion (uint16) overflow

      MB-53425

      Panic in NodeTable::Get - Logging improvements

      MB-55244

      Change log level for watcher connection terminations

      MB-54347

      Rebalance is hung on a dataplane since >1 hour.

      MB-54560

      Optimise projector CPU during XATTR processing

      MB-55043

      perf tests stuck due to failed cbindex

      MB-53841

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

      MB-54286

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

      MB-54689

      Index build can hang in mixed mode due to projector skipping transaction records

      Eventing Service

      Issue Description

      MB-55192

      FunctionOverload parser resulting in false positives

      Analytics Service

      Issue Description

      MB-55018

      Rebalance failed in Capella Analytics rebalance-out runs

      Views

      Issue Description

      MB-54173

      Handle json/raw compressed xattr data type

      Release 7.1.3 (November 2022)

      Couchbase Server 7.1.3 was released in November 2022. This release contains fixes to issues.

      Fixed Issues

      This release contains the fixes listed below.

      Cluster Manager

      Issue Description

      MB-54428

      Cannot view Analytics Service from CB Server UI

      Data Service

      Issue Description

      MB-53922

      Ephemeral purger can delete a StoredValue which is still referenced

      XDCR

      Issue Description

      MB-54508

      XDCR - Unable to create replications

      MB-54416

      AdvFilter upgrade happens pre-emptively leading to missed documents

      MB-54332

      Inter Cluster XDCR failing

      MB-54431

      XDCR Metakv callbacks racing when remote cluster ref is added/changed

      Query Service

      Issue Description

      MB-54540

      LIMIT clause is not working properly with ORDER BY clause

      MB-54043

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

      Search Service

      Issue Description

      MB-54284

      Panic while calling math/rand

      Release 7.1.2 (October 2022)

      Couchbase Server 7.1.2 was released in October 2022. This release contains new features and fixes to issues.

      Features

      The following new features are provided.

      New Supported Platforms

      This release adds support for the following platforms:

      • ARM v8 now supported on Ubuntu 20.04 (AWS Graviton)

      See Supported Platforms for the complete list of supported platforms, and notes on deprecated platforms.

      Deprecated Platforms and Procedures

      The following platforms and procedures are deprecated:

      • SUSE Linux Enterprise Server 12 versions earlier than SP2 are deprecated: in the future, they will no longer be supported.

        See Supported Platforms for the complete list of supported platforms, and notes on deprecated platforms.

      Fixed Issues

      This release contains the fixes listed below.

      Data Service

      Issue Description

      MB-53046

      wait for seqno persistence won’t timeout on idle vbucket

      MB-51608

      Memcached crashes in 20 bucket throughput test due to exception

      MB-47267

      Vbucket stats call to KV can timeout during delta node recovery preparation

      Query Service

      Issue Description

      MB-52254

      Improve pagination queries with fetch

      MB-52764

      Race condition between stop signal and timeout

      MB-52253

      Push filters to index scan to potentially reduce fetch size

      MB-52959

      UNNEST query 'usedMemory' issue when using Query Memory Quota

      MB-52443

      Include missing key Index syntax on Index workbench doesn’t show include keyword in definition

      MB-31640

      subqueries should be advised, explained and monitored

      Index Service

      Issue Description

      MB-52063

      With Collection Indexer should index leading MISSING entries

      MB-51947

      indexer blocked during storage warmup on MOI storage, causing rebalance failure.

      MB-52443

      Include missing key Index syntax on Index workbench doesn’t show include keyword in definition

      Search Service

      Issue Description

      MB-51760

      GeoJSON Spatial Indexing support

      Analytics Service

      Issue Description

      MB-52783

      Select * query throws Failure contacting server for parquet files

      Eventing Service

      Issue Description

      MB-52808

      Eventing function deployment taking a long time

      MB-52365

      appcode rest api returns bytes instead of string

      MB-52367

      Log function scope for lifecycle operation audit logs

      MB-52372

      Unable to modify function settings when user has only eventing_manage_functions role

      MB-52587

      Eventing Multi Collection: Inter function recursion not detected in case of sbm handler

      MB-52369

      Eventing Service should honor the CPU & Memory limits set in cgroups

      MB-52745

      Memory limits are not checked while setting eventingMemoryQuota via REST API

      MB-52540

      multi-collection-eventing: eventing leaks source bucket mutation to eventing consumer

      MB-52705

      Function app-log Write hangs when called after Close

      MB-52370

      Incorrect query param encoding for curl binding and path param is not encoded

      MB-52645

      Change in error returned when non-existing bucket used in function creation

      MB-52364

      Eventing function should be able to listen to multiple collections in a bucket at the same time

      MB-52560

      Timers handler stuck in deploying state after offline upgrade from 6.6.5 to 7.1.1

      MB-52374

      Log a system event when an eventing function is auto undeployed due to RBAC changes

      MB-52746

      Number of cpu cores mentioned in UI warning does not take into account container limits

      MB-52371

      LCB_ERR_TIMEOUT thrown when keyspace for a bucket binding does not exist

      MB-52473

      Eventing Multi Collection: Function deployment successful for a function listening at scope level even though scope does not exist

      MB-52562

      Unable to modify function settings when user has only eventing_manage_functions role

      MB-52572

      Unable to modify function settings when user has only eventing_manage_functions role

      XDCR

      Issue Description

      MB-52282

      Support new cgroup API from sigar in XDCR

      MB-53102

      XMEM will leak memory if pipeline is paused with full buffer

      Release 7.1.1 (July 2022)

      Couchbase Server 7.1.1 was released in July 2022. This maintenance release contains fixes to issues.

      Fixed Issues

      This release contains the fixes listed below.

      Data Service

      Issue Description

      MB-52248

      Memcached hangs when no passphrase is passed for encrypted private key

      XDCR

      Issue Description

      MB-51939

      XDCR does not update memcached flag/body after txn xattribute removal if user xattr is not found

      MB-52431

      Add authType back to bucket properties in pools/default/buckets/bucket-name

      Query Service

      Issue Description

      MB-52413

      Negative integer in the 64bit range causes rounding

      MB-52255

      Stop session hangs

      MB-52178

      IN/NOT IN filters not using Hash for evaluation - continued

      MB-52179

      LEFT JOIN breaks with between operator on non-existing attribute

      MB-52412

      WITH clause distribution over union queries deviates from sql standard

      MB-52161

      Adhoc query index selection issue with LIKE as index condition and query parameters

      MB-52511

      Refresh_cluster_map fails with ERROR 199 : N1QL: Invalid query service endpoint

      Eventing Service

      Issue Description

      MB-52492

      Function causing recursion is missing from ERR_INTER_BUCKET_RECURSION error description

      Backup Service

      Issue Description

      MB-51892

      The Backup Service or cbauth can get stuck in a state where it will not reconnect to ns_server

      Release 7.1 (May 2022)

      Couchbase Server 7.1 was released in May 2022. This release contains new features, enhancements, and fixes.

      New Features

      This section highlights the notable new features and improvements in this release.

      • Analytics shadow data may now be replicated up to 3 times to ensure high availability. Refer to General Settings.

      • Analytics now supports Analytics views and tabular Analytics views. Refer to Analytics Views.

      • The new Tableau Connector provides integration between tabular Analytics views and the Tableau interactive data visualization platform. Refer to Couchbase Tableau Connector.

      • The Analytics Service now supports external datasets on Azure Blob storage. Refer to Managing Links and Analytics Links REST API.

      • Analytics now supports array indexes. Refer to Using Indexes and Data Definition Language (DDL).

      • The cost-based optimizer may now consider different join orders, and can choose the optimal join order based on cost information. Refer to Join Enumeration.

      • The Query service now supports optimizer hints within queries using a specially-formatted hint comment. Refer to Optimizer Hints.

      • Couchbase Server now permits multiple root certificates to maintained in a trust store for the cluster. See Using Multiple Root Certificates.

      • Couchbase Server now supports PKCS #1 and PKCS #8 — in each case, only for use with private keys. See Private Key Formats.

      • Use of encrypted private keys is now supported for certificate management. Registration procedures are provided for encrypted private keys associated with node-certificates. See JSON Passphrase Registration.

      • System Events are now provided, to record significant events on the cluster. See System Events.

      • New roles are provided for the administration of Sync Gateway, especially in the context of Couchbase Capella. These roles are listed at Roles.

      • TLS 1.3 cipher-suites can now by used by all services; and by the Cluster Manager, XDCR, and Views. See On the Wire Security.

      • Heightened security is now provided for adding nodes to clusters. Once a cluster is using uploaded certificates, a node that is to be added must itself be provisioned with conformant certificates before addition can be successfully performed. The new node is now always added over an encrypted connection. See Adding and Joining New Nodes.

      • The scalability of indexing is enhanced by the flattening of arrays. See Format of Query Predicate.

      • Automatic failover can now fail over more than three nodes concurrently. See Automatic Failover. This improvement has permitted the removal of pre-7.1 interfaces that were specific to triggering auto-failover for server groups. Consequently, in order now to ensure successful auto-failover of a server group, the maximum count for auto-failover must be established by the administrator as a value equal to or greater than the number of nodes in the server group.

        Note that the pre-7.1 interfaces for triggering auto-failover for server groups have been removed from 7.1: therefore, programs that attempt to use the pre-7.1 interfaces with 7.1+ will fail.

        Note also that in 7.1, automatic failover of the Index Service is supported.

      • Improvements have been made to rebalancing algorithms so that active buckets, services, and replicas will be spread across different server groups, even when server groups are unequal. See Server Group Awareness.

      • The Magma Storage Engine has been added to 7.1 as an Enterprise Edition feature, allowing for higher performance with very large datasets. Magma is a disk-based engine, so is highly suited to datasets that will not fit in available memory. You can find more details on Magma in Storage Engines.

      • The Eventing Service now has full RBAC support allowing non-administrative users to create and manage Eventing Functions subject to the user’s assigned resource privileges. You can find more details on Magma RBAC in Eventing Role-Based Access Control.

      • The Index Service now uses smart batching to reduce the time and resources required to move index metadata, and to rebuild indexes at their new locations during rebalance. See Smart Batching.

      Enhancements

      The following enhancements are provided in this release:

      • The Analytics function object_concat has been updated to support dynamic uses, similar to the more general OBJECT constructor functionality that is available in the Query Service. Refer to object_concat.

      • XDCR checkpointing is now entirely persistent through topology-changes on the source cluster. This provides improved performance when failover and rebalance occur on the source cluster.

      • The Plasma Storage Engine has been enhanced with per page Bloom filters and in-memory compression. For information, see Plasma Memory Enhancements.

      • Root and intermediate certificates can now be managed while node-to-node encryption is enabled. See Certificate Management and Node-to-Node Encryption.

      New Supported Platforms

      This release adds support for the following platforms:

      • Apple macOS v11.6 (Big Sur) for development only

      • Apple macOS v12.x (Monterey) for development only

      • Amazon Linux (ARM)

      • Debian 11.x

      • Microsoft Windows Server 2022

      See Supported Platforms for the complete list of supported platforms, and notes on deprecated platforms.

      Deprecated Features and Platforms

      Deprecated and Removed Platforms

      The following platforms are deprecated and will be removed in a future release:

      • Apple macOS v10.14 (Mojave) – removed

      • Apple macOS v10.15 (Catalina) – deprecated

      • CentOS 7.x – deprecated

      • CentOS 8.x – removed

      • Debian 9.x – removed

      • Microsoft Windows Server 2016 – removed

      • Microsoft Windows Server 2016 (64-bit, DataCenter Edition) – removed

      • Oracle Linux 7.x – deprecated

      • Red Hat Enterprise Linux (RHEL) 7.x – deprecated

      • Ubuntu 18.x – deprecated

      Deprecation of Certificate Upload API

      The POST method and /controller/uploadClusterCA URI, which historically have been used to upload an appropriately configured certificate to the cluster, so that it becomes the root certificate for the cluster, are deprecated in 7.1.

      For security reasons, in versions 7.1 and after, by default, this method and URI can continue to be used on localhost only. However, this default setting can be changed, if required. For details, see Deprecated Certificate Management APIs.

      Note that new methods and URIs for certificate management are summarized on the page Certificate Management API.

      Removal of pre-7.1 Server-Group Auto-Failover Interfaces

      Automatic failover can now fail over more than three nodes concurrently: this improvement has permitted the removal of pre-7.1 interfaces that were specific to triggering auto-failover for server groups. Consequently, in 7.1+, in order to ensure successful auto-failover of a server group, the maximum count for auto-failover must be established by the administrator as a value equal to or greater than the number of nodes in the server group.

      Note that the pre-7.1 interfaces for triggering auto-failover for server groups have been removed from 7.1: therefore, programs that attempt to use the pre-7.1 interfaces with 7.1+ will fail.

      An overview of auto-failover is provided in Automatic Failover. Updated interfaces for 7.1+ are documented in Node Availability, Enabling and Disabling Auto-Failover, and Retrieving Auto-Failover Settings.

      Fixed Issues

      This release contains the fixes listed below.

      Installation

      Issue Description

      MB-33522

      Fix cbupgrade for single node IPv6 clusters

      MB-47806

      Windows installer always rollbacks during install

      Cluster Manager

      Issue Description

      MB-44777

      The old bucket 'sasl_password' should be effectively removed

      MB-44800

      The versions REST API should be authenticated

      Storage

      Issue Description

      MB-49512

      Cleaning up of the cluster fails with "Rebalance exited with reason {buckets_shutdown_wait_failed"

      Data Service

      Issue Description

      MB-46827

      Limit the Checkpoint memory usage

      MB-49977

      Cannot make persistent change to num nonio/auxio threads

      MB-50708

      Align roles to updated permissions in memcached

      Views

      Issue Description

      MB-50383

      ViewEngine doesn’t handle the case of empty default-collection

      MB-51045

      Views 8092 REST API leaking version info

      Analytics Service

      Issue Description

      MB-51446

      On corrupt remote link details in metakv, analytics cluster becomes permanently unusable on restart

      Query Service

      Issue Description

      MB-19101

      Query log format

      MB-44757

      Support FTS’s docid_regexp mode for N1QL

      MB-46802

      Mutation fail may not report the error

      MB-47366

      Public interface documentation on parsing 12009 DML error

      MB-48402

      Like functions escape character should be optional

      Index Service

      Issue Description

      MB-33546

      Smart Batching Index Builds During Rebalance

      MB-46725

      Rebalance button not enabled post Quorum Loss failover even when indexing has partitioned indexes

      MB-46895

      Internal Server error is raised while performing backup on a index node using cbbackupmgr

      MB-51196

      Index build stuck during rebalance due to large number of pending items

      Search Service

      Issue Description

      MB-26024

      Rebalance optimisations via index file transfer across nodes

      MB-41195

      Bind only to IPv4 addresses when invoked with IPv4-Only cluster-wide setting

      MB-46260

      FTS - Apply RBAC only for target collections in a multi-collection index

      MB-46978

      n1fty to upgrade to blevesearch/sear for verification phase

      MB-47017

      Support encrypted certificate / key / password - Search

      MB-47029

      System Event Log - Search

      MB-47177

      Multiple Root CA Certs - FTS

      MB-49188

      Search UI should be able to accept queries as objects

      MB-49218

      Add Croatian language (hr) to the list of supported languages

      MB-51059

      SEARCH_META().score behaves different from SEARCH_SCORE() in some N1QL queries

      Eventing Service

      Issue Description

      MB-45973

      Timer not firing after upgrade, worker count change and service crash

      MB-46304

      Add ability to enable/disable the cURL functionality

      MB-48702

      Eventing consumes large amount of CPU with no functions.

      Known Issue

      This release contains the following known issue.

      Query Service

      Issue Description

      MB-50936

      Summary: Implement defs.CheckMixedModeCallback for mixed mode checks

      Any attempt to execute a function with N1QL udfs replicated from a 7.1 node will fail with "no library found in worker" on a 7.0.x node.

      Workaround: If possible, all nodes in cluster should be running under version 7.1 or higher.