Couchbase Server 4.6 delivers some exciting capabilities for cross datacenter replication, security, query, tools, and application development. Take a look at What's new for a list of new features and improvements that are available in this release.
Couchbase Server 4.6.3, released in August 2017, is the third maintenance release in the 4.6.x series of Couchbase Server. This release has fixes related to data, index, and query services, security, cluster manager, tools and UI.
Fixed Issues
This section lists some of the notable fixed issues in this release, grouped by component.
Data Service
Issue | Description |
---|---|
MB-25241 | Requesting for the topkeys statistic without specifying a bucket resulted in a Memcached crash. |
MB-24648 | If a Data Service Couchbase Server node is added to a cluster using the same IP/host name of a node that has been a member of a cluster previously without first failing-over the old node, data loss can occur as the new node does not have the expected data. This has been fixed by first checking to see if the node is a part of the cluster before adding it. |
Index Service
Issue | Description |
---|---|
MB-25318 | When using Memory Optimized Indexes (MOI), the index service crashed when trying to open the database and load the snapshot following a restart. |
MB-25266 | Error checks during the creation or load of snapshots for Memory Optimized Indexes (MOI) have been added. |
MB-25253 | Index Service file descriptor leak in the index service has been fixed by ensuring that responses obtained from any HTTP request in GSI are closed. |
MB-25146 | Malformed requests were not handled by the Query Service and resulted in a crash on the Index Service. |
MB-23583 | Using Standard Disk Based indexes, the index service crashed repeatedly as compression or decompression failures during block reclaim were not propagated, resulting in corrupted data being used during the next block reuse or file re-open. |
Query Service and N1QL
Issue | Description |
---|---|
MB-25395 | The query engine panicked when a prepared statement using subquery expressions was executed using the encoded plan. |
MB-25388 | With N1QL, the UNNEST using an array index was using a covering index incorrectly. For an UNNEST index to be covered it needs ALL not DISTINCT, even though the whole array present as part of the index. |
MB-25290 | Long integers were truncated when used in the ToString() function in N1QL. |
MB-25167 | Query Service authentication failed when the password contained a colon (“:”) character. |
MB-24871 | The execution of ad-hoc N1QL queries with parameters provided at the time of query submission has been optimized and no longer require a prepare-execute step.. The parameters are substituted before optimization, thus ensuring the best possible index is selected. |
MB-24594 | N1QL with covered index joins returned incorrect results. |
MB-21928 | The command line shell for N1QL, cbq, now connects to 8091 with http and 18091 with https by default when the port is not specified. |
Cluster Manager
Issue | Description |
---|---|
MB-24870 | Logging for the views engine has been improved to lengthen the amount of data stored and reduce the wrapping of logs. |
MB-24314 | Removed assertion in Server Side Moxi to allow the service to continue to operate in the event that expected connections are not found in the internal tracking. Additionally added improved logging to diagnose such issues. |
Security
Issue | Description |
---|---|
MB-24318 | Improved error messages for TLS certificate validation. |
Tools
Issue | Description |
---|---|
MB-25464 | When you run cbstats -a, if the statistics for one of the buckets in the list are unavailable, for example a Memcached bucket, the cbstats utility exits without collecting the statistics from the remaining buckets in the list. |
MB-25245 | The cbrestorewrapper utility now has a --add option that allows you to add so as to not overwrite existing items in the destination. |
MB-25159 | When the Couchbase cluster was overloaded and failed to respond to requests for the latest sequence numbers, or if a node in the cluster was unreachable when the backup started, the backup continued. However, this caused crashes or full re-streams in subsequent backups. |
MB-24912 | Two failover entries on the same server containing the same sequence number caused backups to not be incremental. This is a rare situation because Couchbase Server would need to be started and crash very quickly (before any items are written to it) in order for this issue to occur. |
MB-24571 | The cbbackupmgr utility now purges deletes during merge. Without purging, you would see an increase in your backup size during merges as deletes are always kept. |
MB-24536 | Transferring data using cbtransfer threw an exception and the cbtransfer utility hanged. |
MB-21652 | The error message “db is being used by another handle” was not known to cause any issues and has been handled to not appear any more. |
MB-20403 | The cbbackupmgr merge command did not function correctly and caused data corruption under the following circumstances:
|
UI - Web Console
Issue | Description |
---|---|
MB-24197 | When the Query Workbench failed to get the list of buckets, it resulted in a failure of all subsequent queries until the browser was refreshed and a valid list of buckets was received from the server. This has been fixed to report an error in the bucket analysis tab. Additionally, when the query engine starts working again, queries on non-password-protected buckets will work. However, if you want to query password-protected buckets, you need to either click the refresh button on the bucket analysis tab, or switch tabs away-from, and then back-to the query tab. |
XDCR
Issue | Description |
---|---|
MB-25364 | The default number of XDCR checkpoint records has been reduced from 100 to 5 and the number of checkpoint records is now configurable at runtime using the parameter num_checkpoints. |
MB-25013 | When the host name in a remote cluster reference is unusable, XDCR picks an alternative target node in a more deterministic manner so that all source nodes would pick the same alternative target node. |
MB-24832 | XDCR incorrectly deletes replication streams. The replication periodically checks the source bucket status and if it detects a change in the source bucket UUID, which is caused by either bucket deletion or recreation, it deletes itself. However, replication incorrectly deleted itself when the source bucket check failed with an error that was not a change in the UUID. This has been fixed. |
MB-24817 | XDCR fails to replicate some documents during graceful failover of target cluster if the takeover stream was closed before all the items were streamed. |
MB-24769 | Computing sequence numbers in XDCR had an inefficiency when there were large gaps between sequence numbers and took much longer than needed to complete. This caused various issues such as stats missing from the log file and replication failing to stop for a while. |
Known Issues
This section lists some of the known issues in this release.
Issue | Description |
---|---|
MB-25590 | Summary: Query Service, Using N1QL incorrect results may be returned when the UNNEST expression does not match the array index expression. For example:
Workaround: Do not use the simplified array index. Instead create a full array index as shown in the following example:
|
MB-25669 | Summary: On Windows platform, the cbimport tool fails to import a tab delimited CSV file where the tab is specified using '\t' or '\\t'.
Workaround: Use Cygwin on the Windows platform to run the command as a Linux command. For example,
|
MB-25188 | Replication from a timestamp-based conflict resolution bucket to Elasticsearch node is not supported and sequence number based conflict resolution will be used instead. |
Couchbase Server 4.6.2, released in May 2017, is the second maintenance release in the 4.6.x series of Couchbase Server. This release has fixes related to many different components.
Fixed Issues
This section lists some of the notable fixed issues in this release, grouped by component:
Backup
Issue | Description |
---|---|
MB-23531 | Sometimes cbbackupmgr would fail to get stats for a bucket when performing a backup. This results in some of the data from a bucket not being backed up. |
MB-23105 | cbbackupmgr might re-stream all mutations if there are multiple entries in a vBucket failover log. This causes cbbackupmgr to run a full backup every time, rather than incremental backups. |
MB-22716 | Using cbbackup with the command-line flag cbb_max_mx causes cbbackup to unexpectedly terminate. |
MB-22325 | cbbackupwrapper sometimes ends with a threading exception. Although this does not affect the backup, it would cause the incorrect exit code to be returned. |
MB-20891 | DCP rollbacks are sometimes not handled correctly, causing cbbackupmgr to unexpectedly terminate for subsequent backups using the same archive. This unexpected termination would be indicated by the message 'panic: runtime error: invalid memory address or nil pointer dereference'. |
Cluster Manager
Issue | Description |
---|---|
MB-24088 | The secrets management feature fails to encrypt secrets larger than 4KB (such as SSL certificates). This causes the cluster manager to unexpectedly terminate when saving the cluster configuration to disk. |
MB-23327 | A race condition means that adding a node to a cluster shortly after node startup causes the cluster management process on the node to crash. This results in the failure of the node addition process. |
MB-23268 | The cluster management process' logging does not recover from situations where the disk that the logs are located on becomes full. |
Data Service
Issue | Description |
---|---|
MB-23591 | A direct upgrade from 2.5.x to 4.6.x could result in a rebalance hanging or empty data files. |
MB-23503 | Previously removed items in replica vBuckets may be incorrectly restored during a failover. If a subsequent failover occurs then this could result in inconsistent/incorrect data. |
MB-23269 | The memcached process crashes when trying to write an audit event to a file with wrong permissions. |
MB-22814 | When creating a new Memcached bucket, existing Couchbase buckets may appear as not ready in the Couchbase Web Console for a few seconds. This should not affect application clients. |
MB-22180 | When a node is being rebalanced out of a cluster, its vBuckets are deleted. However, if there are pending disk fetches when the vBucket is deleted then they are not terminated correctly. This prevents the node from being accessible once it has been removed from a cluster. |
MB-22044 | Sub-document mutations using the CAS for optimistic concurrency fail on an item that is already locked. |
Indexing Service
Issue | Description |
---|---|
MB-22693 | The indexer does not remove the old value for a key if the new value exceeds the maximum index length size. |
MB-22692 | Some corner cases in secondary key length checks cause the index to have inconsistent or incorrect results. This only affects indexes where there are keys which are close to the maximum key length. |
Query Service
Issue | Description |
---|---|
MB-23203 | The wrong index may be chosen when using JOIN. |
MB-22831 | Inserting a numerical value using a N1QL query causes the value to be stored in scientific notation |
MB-22630 | Cipher AES128-SHA is incorrectly categorized as a medium-level cipher. |
MB-22578 | UNNEST queries do not consider the WHEN clause when selecting an index to use. |
MB-22577 | Producing an array by ranging over objects does not work. |
MB-22536 | DATE_RANGE_STR() and DATE_RANGE_MILLIS() may give wrong results when using very large or very small values. |
MB-22530 | The functions ARRAY_RANGE(), ARRAY_REPEAT(), DATE_RANGE_MILLIS(), DATE_RANGE_STR(), REPEAT() do not have bounds enforced. This causes the query engine to crash when very large arrays are generated. |
MB-22362 | Using LET with MISSING incorrectly sets the value to NULL. |
MB-22273 | In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes. |
MB-22119 | In rare cases, the query engine may panic when evaluating ARRAY expressions (for example ARRAY x FOR x IN ... END;) |
MB-21284 | Incorrect error message when non-JSON arguments are passed to the TOKENS() function. |
MB-20677 | REGEXP_LIKE() does not return an error when an invalid pattern string is passed. |
Web Console
Issue | Description |
---|---|
MB-23541 | When the web console has been disabled over port 8091, in certain circumstances a login page will still be shown. |
MB-23308 | Using the REST API and web console over SSL (port 18091) does not work correctly in recent versions of Google Chrome (56.0 onwards) and Mozilla Firefox (51.0 onwards). |
MB-23244 | If a bucket password contains semicolon, the web console will truncate the password to the semicolon when saving the bucket setting. |
MB-20741 | The web console login page has character limit of 24 characters for the password, but this limit is not enforced in other components. |
XDCR
Issue | Description |
---|---|
MB-23228 | Replication frequently restarts when a node is removed from target cluster. |
MB-22997 | XDCR sometimes has a backlog of items in its DCP queue due to a deadlock. This causes increased memory usage and issues with replication progress. |
MB-22754 | XDCR may not be able to detect if a bucket is deleted and then recreated on a target cluster. |
MB-22678 | XDCR is not able to connect to an elasticsearch target due to an incorrect endpoint. |
MB-22382 | In some cases, the thread handling a DCP stream may exit before closing its stream. This results in the XDCR process unexpectedly terminating. |
MB-22224 | XDCR does not set the snapshot start sequence number and vBucket uuid correctly when starting a DCP stream request. This results in the whole vBucket being re-streamed when replication is restarted, rather than from the most recent checkpoint. |
Improvements
This section lists some of the notable improvements in this release, grouped by component:
Cluster Manager
Issue | Description |
---|---|
MB-22252 | Change the default behavior of the cluster manager to wait for the master password by default. This new behavior is detailed in Secret Management and Hardening. |
Query
Issue | Description |
---|---|
MB-22750 | Add CONTAINS_TOKEN_LIKE() and CONTAINS_TOKEN_REGEXP(). |
MB-22646 | Allow arbitrary variable names in array index selection. |
MB-22645 | Support simpler syntax for array indexing when all array elements are indexed. |
MB-22644 | Enable the string function CONTAINS() to use the functional index created with SUFFIXES(). |
MB-22629 | Performance improvement for CONTAINS_TOKEN(). |
MB-22606 | Enable DATE_RANGE_STR() to accept different supported date formats as parameters. |
MB-22550 | Add OBJECT_RENAME() and OBJECT_REPLACE() functions. |
MB-22470 | Improve pattern matching speed with LIKE and HAS_TOKEN(). |
MB-22417 | Add weekday part to N1QL datetime functions. |
MB-22332 | Push down ORDER, COUNT(), MIN() to covering UNNEST index. |
MB-22321 | Add OrderedIntersectScan for pagination. |
MB-22315 | Push down LIMIT to IntersectScan and UnionScan. |
MB-22309 | Push down LIMIT to DistinctScan. |
MB-22285 | Infer IS NOT MISSING term for INNER UNNEST expressions on primary keyspace |
MB-22148 | Variable length sarging for OR predicates. |
MB-22143 | Index scans for OR predicates on disjoint terms. |
MB-22124 | Allow NOT IN/WITHIN queries to use secondary indexes. |
MB-21770 | Relax the mandatory array index-key, to create covering array-index. |
MB-20626 | Avoiding full index scan and optimize processing of queries with whole IN clause as a query parameter. |
MB-19916 | Add support for N1QL expressions in SELECT from-clause, and subqueries over nested collections. |
MB-19078 | Add quiet mode option to cbq to not echo the content of input file. |
XDCR
Issue | Description |
---|---|
MB-23305 | Make capi nozzle runtime parameters externally configurable. |
MB-22832 | Do not refresh metadata about a target cluster reference in every replication. This reduces the number of requests to a target cluster in situations where there are multiple buckets being replicated from the source. |
MB-22514 | Reduce the number of outgoing connections to the target cluster. |
Known Issues
This section lists some of the known issues in this release:
Issue | Description |
---|---|
MB-24066 | When upgrading from Couchbase Server 2.5.x to Couchbase Server 4.6.2 directly on a Couchbase Server cluster using views, rebalances may hang. Workaround: Upgrade the cluster fully to Couchbase Server 3.1.6 as an intermediate step, before upgrading the cluster to Couchbase Server 4.6.2. |
MB-22178 | VBuckets may be incorrectly identified as in a backfill state and never leave this state. This may result in a rebalance hanging as the rebalance waits for the vBucket to leave the backfill state. |
MB-20403 | The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:
For more information about the Merge functionality, see cbbackupmgr merge. Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to the aforementioned issue. |
MB-20338 | When any topology changes occur on source cluster, such as when a node is removed, in some cases the outbound XDCR mutation statistics show a negative number on the monitoring page. |
Couchbase Server 4.6.1, released in March 2017, is the first maintenance release in the 4.6.x series for Couchbase Server. This release has fixes related to N1QL query, XDCR, indexing, and backup.
Fixed Issues
This section lists some of the fixed issues in this release:
Issue | Description |
---|---|
MB-23114 | Under certain circumstances the cbbackupmgr merge command may not properly display an error on the command line when merge fails. |
MB-23112 | When using XDCR from a cluster running Couchbase Server 4.x (prior to 4.6.0) to a 4.6.0 cluster, XDCR stops when it tries to replicate tombstones (deletes) and fails with an error message EINVAL. |
MB-23032 | When the query engine receives many syntactically incorrect N1QL statements, the Query Service processes may leak memory resulting in query engine crash with multiple goroutine stacktraces, or unexpected or unresponsive behavior. |
MB-22409 | The Indexer Service crashes while indexing an array whose size is close to the maximum index array size. |
MB-22389 | The Indexer Service crashes when there is a buffer overrun in secondary key length check. |
Known Issues
This section lists some of the known issues in this release:
Issue | Description |
---|---|
MB-22814 | When creating a new Memcached bucket, existing Couchbase buckets may appear as not ready in the Couchbase Web Console for a few seconds. This should not affect the application clients. |
MB-22273 | In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes. Workaround: The following two options can be used to avoid this problem:
System.setProperty(N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY, "false”) .. cluster.openBucket(bucketname) |
MB-20403 | The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:
For more information about the Merge functionality, see cbbackupmgr merge. Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to to the aforementioned issue. |
MB-20338 | When any topology changes occur on source cluster such as ‘when a node is removed’, in some edge cases the outbound XDCR mutation statistics show a negative number on the Monitoring page. |
Couchbase Server 4.6.0 was released in February 2017.
Supported Platforms
This release also adds support for Microsoft Windows 10 Anniversary Edition and Mac OS Sierra. For more information, see Supported Platforms.
Changes in Behavior
Starting from version 4.6.0, the results generated by OBJECT_PAIRS and OBJECT_INNER_PAIRS functions use the word "val" for value instead of the N1QL reserved word "value".
For example:
"results": [
{ "$1": [ { "name": "key1", "val": "val1" } ]
}
]
In earlier releases, CREATE INDEX on metadata such as meta().cas, meta().flags, meta().expiry etc. were allowed, but respective metadata attributes weren’t getting indexed. Couchbase Server 4.6 allows only meta().id attribute in index-key expressions when creating secondary index.
META() with no keyspace parameter can be used in N1QL statements when that query/statement refers to only one keyspace or bucket. When multiple keyspaces are referred in a query (for example, JOIN or NEST), then the META expressions must be used with specific keyspace names as parameter, such as META(keyspace). In earlier releases, this requirement is not enforced, and META() with no parameters is still accepted, implicitly referring to the first keyspace name used in the query. Couchbase 4.6 enforces this requirement and throws syntax error if META() is used with no parameter.
When upgrading a cluster with nodes running FTS, upgrades will fail unless all full text index definitions are first deleted. To upgrade a cluster with FTS indexes, first save the existing index definition JSON, then remove all full text indexes. Then upgrade all nodes to the desired version. Once all nodes are upgraded, recreate the index definitions using the REST API. Note that you need to manually remove the byte_array_converter attribute from the index definition JSON (see MB-18042).
Known Issues
This section lists some of the known issues in this release:
Issue | Description |
---|---|
MB-23112 | When using XDCR from a cluster running Couchbase Server 4.x (prior to 4.6.0) to a 4.6.0 cluster, XDCR stops when it tries to replicate tombstones (deletes) and fails with an error message EINVAL.
Important: We recommend you wait for the upcoming bug-fix version 4.6.1 to upgrade.
|
MB-22814 | When creating a new Memcached bucket, existing Couchbase buckets may appear as not ready in the Couchbase Web Console for a few seconds. This should not affect the application clients. |
MB-22273 | In Couchbase clusters with multiple query service nodes, applications may get incorrect results from prepared N1QL queries that use covering indexes. Workaround: The following two options can be used to avoid this problem:
System.setProperty(N1qlQueryExecutor.ENCODED_PLAN_ENABLED_PROPERTY, "false”) .. cluster.openBucket(bucketname) |
MB-20403 | The cbbackupmgr merge command will not function correctly and may cause data corruption under the following circumstances:
For more information about the Merge functionality, see cbbackupmgr merge. Workaround: In the interim, the recommendation is to perform a full backup if you experience any of the above scenarios. This will lead to longer backup times than performing incremental backups, but will avoid potential data corruption due to to the aforementioned issue. |
MB-20338 | When any topology changes occur on source cluster such as ‘when a node is removed’, in some edge cases the outbound XDCR mutation statistics show a negative number on the monitoring page. |
Fixed Issues
Data Service
Issue | Description |
---|---|
MB-21762 | Sub-document commands failed when Couchbase Server was under memory pressure. |
MB-20868 | The Data Service would crash when an invalid cluster map was prepared for a Memcached bucket. |
MB-21597 | In the case of concurrent sub-document API operations from multiple clients, Couchbase Server does not honor the atomicity. This can result in one update overwriting the previous update, even though the previous update was successful as far as the client is concerned. |
MB-21448 | Performing the REPLACE_WITH_CAS operation on a key which has recently been deleted and then requested can occasionally return KEY_EEXISTS (key exists but with different CAS) instead of the expected KEY_ENOENT. |
MB-20519 | Memory allocation in Data Service caused Memcached to continuously crash on Microsoft Windows 10 Anniversary Edition. |
MB-20245 | When using the access.log, the Data Service warmup would not honour the thresholds to stop. It would only stop once all the documents in the access.log was loaded. |
MB-21475 | There is a race condition where the Data service node crashes and when a bucket is deleted. |
MB-20822 | The Failover table showed some entries that resulted in the incorrect vbucket sequence numbers. |
MB-20623 | When the Data service node performs warmup using the access.log, it can use a lot of memory causing a low resident ratio. |
MB-21511 | Better logging message when a network connection is closed during a rebalance. |
MB-21369 | A large number of XDCR connections to Memcached that led to connection leak. |
MB-20871 | Fixed an issue to correctly display counters with zero values. |
MB-20843 | Fixed an issue when cluster's name using the REST endpoints was not retrievable. |
MB-19614 | There is a race condition that can cause the XDCR service to crash when replication using version 1 of XDCR. Please note that version 1 is used when replicating to ElasticSearch. |
MB-21879 | XDCR replication might get struck and not able to replicate mutations to target cluster in some cases, because the data service node is under heavy load. |
MB-21924 | The cbbackupmgr incorrectly restored delete document tombstones (metadata) as full documents. |
Query Service
Issue | Description |
---|---|
MB-21593 | When you canceled a query from the workbench, the query continued to run on the server even though the UI indicated that it was canceled. |
MB-16772 | Queries using indexes created on metadata attributes other than meta().id (such as meta().cas, meta().expiry) did not produce correct results. |
MB-16857 | The NEST ON KEYS query results may not preserve original key order of fields. |
MB-17674 | Syntax error messages may have Unicode values instead of the character itself. This is same as MB-18722 below. |
MB-18722 | When copied and pasted, the PREPARE statement text or condition does not evaluate the special characters because the text contains Unicode values. |
MB-19230 | The N1QL queries with LIKE predicates did not work with strings containing new lines. |
MB-19988 | The IN and WITHIN operators may not handle NULL in-list values. |
MB-20023 | Query engine panics with error when WITH clause is used with CREATE INDEX .. USING VIEWS clause. |
MB-20086 | A query with USE INDEX() may panic when no matching secondary or primary indexes are available. |
MB-20183 | The query text in the EXPLAIN plan was arbitrarily truncated. |
MB-20384 | The Query engine displayed errors when backslash (\) was used in the LIKE expression. |
MB-20485 | The DATE_DIFF_MILLIS displayed incorrect results in case of very small difference. |
MB-20520 | The colon (:) was not properly encoded when setting the Predefined Session Parameters in the cbq shell. |
MB-20577 | The cbq shell displayed password in the console error messages. |
MB-20826 | In the cbq shell, running multiple queries separated by semicolon (;) displayed an error in the batch mode. |
MB-20897 | In the cbq shell, the \SET command without name and only prefix, resulted in an empty parameter with a value. |
MB-20925 | N1QL queries with correlated sub-query using covered index did not return results. |
MB-21161 | The cbq command line utility was not working properly when the [User/Bucket] password contained special characters. |
MB-21384 | Queries accessing system keyspace got access to all buckets, even though one of the buckets in the query was password protected. |
MB-21660 | A query with chained UPDATE FOR clause does not work for nested array element fields. |
MB-21720 | Composite predicate with AND of ANY / EVERY expressions do not work with array indexes. |
MB-21816 | The MILLIS_TO_STR() and STR_TO_MILLIS() functions converted incorrectly for the futuristic date/time values. |
MB-21958 | Incorrect result when the SELECT COUNT() query uses a secondary index for the query, and has META().id in the predicate. |
MB-22000 | N1QL query returned intermittent error "Index not found" even though index was present. |
MB-22093 | N1QL queries returned "Error performing bulk get operation" errors intermittently. |
MB-22105 | The UPDATE, INSERT, UPSERT statements may fail with the error message: "Panic: : runtime error: slice bounds out of range", when running with increased pipeline_batch settings. |
Index Service
Issue | Description |
---|---|
MB-21038 | Upgrading nodes with the query service to version 4.5 causes version 4.0 indexer services to crash during rolling upgrade (stale=false). |
FTS Service
Issue | Description |
---|---|
MB-18042 | Breaking Change. FTS index definitions from earlier releases no longer work due to the removal of byte_array_converter. Workaround: Manually remove the “byte_array_converter” attribute from the index definition JSON and then recreate the index. |
MB-21595 | MossStore is now the default kv store for FTS. If you have full text index definitions from previous versions that you want to update, change “kvStoreName” to “mossStore”, otherwise they will stay set to “forestdb”. |
Security
Issue | Description |
---|---|
MB-21814 | The Email Server Password was not saved correctly when the Email Alerts setting was enabled (from the Settings > Alerts page). |
Deprecated Items
The following platforms are no longer supported:
The following functionality is deprecated, will be deprecated or is unsupported.
Function | Description |
---|---|
TAP | The TAP is an internal protocol that streams information about data changes between cluster nodes. In future releases, this protocol will be removed and not supported. The TAP is replaced with the Database Change Protocol (DCP). |
CLI setting-ldap command | This command is deprecated in this release. Use the admin-role-manage command instead. |
CLI group-manage command | Adding servers using the group-manage command is deprecated in this release. To add a server, use the server-add CLI command. |
CLI rebalance command | Adding servers using the couchbase-cli rebalance command is deprecated in this release. Use the couchbase-server-add CLI command instead. |
CLI failover command | Failing over multiple servers using one failover command option is deprecated in this release. Run the failover command once for each server. |
CLI server-readd command | The server-readd command is deprecated in this release. Use the recovery command instead. |
BASE64() | The BASE64() function is deprecated in version 4.5; use the function BASE64_ENCODE() instead. Also, use the BASE64_DECODE() function to reverse the encoding done by BASE64_ENCODE(). |
Server-side moxi proxy is deprecated in 4.5 | Use Couchbase client SDKs or client-side moxi in your applications. |
CRAM-MD5 for bucket authentication | Use SCRAM protocol supporting clients for bucket authentication in Couchbase Server version 4.5. SCRAM protocol for bucket authentication will first be introduced in Java, followed by other SDK clients. |
Deprecate XDCR API from /internalSettings REST endpoint in 4.5 | /Settings/replications REST endpoint will be available for all replication settings and provides the same functionality. |
N1QL: Deprecated the use of path-expressions in FROM and JOIN clauses in version 4.5 | FROM and JOIN clauses should use only keyspaces. Paths can be used for expressions in other clauses, operators, projections, and so on.
For example:
can be rewritten as:
|
CAPI based XDCR | CAPI based XDCR is deprecated and will be removed in a future version of Couchbase Server. Note that the support for Elasticsearch Plugin has not been removed. However, the Elasticsearch Plugin may be modified in the future to use an alternative connection method such as DCP or XMEM XDCR (XDCR v2). |
FTS support for ForestDB as a KV Store | As of this release, FTS indexes use MossStore as their default KV store. FTS support for ForestDB as a KV store will be removed in a future version of Couchbase Server. |
Couchbase Enterprise Backup and Restore tool | The tools, cbbackup and cbrestore, are deprecated from the Enterprise Edition. We recommend replacing these old tools with the new enterprise backup and restore tool, cbbackupmgr, in version 4.5. |