Couchbase Server Changelog

What's new in Couchbase Server 4.6.1

Apr 5, 2017
  • Fixed Issues:
  • 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.

New in Couchbase Server 4.5.1 (Oct 25, 2016)

  • HIGHER PERFORMANCE DATA ACCESS AND QUERY:
  • New N1QL "pretty" Setting:
  • The new query parameter, pretty, enables or disables the pretty formatting of query results. Setting it to false disables pretty formatting of the query results and removes all occurrences of white space characters from the query results. This reduces the number of bytes transferred to the client applications and improves the query response time. The performance benefits are significantly visible when working with large result sets. For more information, see N1QL REST API.
  • Non-blocking DISTINCT Operator with Streaming Capability
  • Typically, DISTINCT operator used in queries is blocking in nature. N1QL enhances the DISTINCT operator to stream query output while it is still processing the input. It preserves the order of input and consequently retains and leverages the index-order of the documents. The operator processing uses less memory resources, making it more efficient. This enhancement significantly improves the response times seen by applications as they start receiving query results as soon as the results are available, while N1QL is still processing subsequent results.
  • SIMPLIFIED TRANSITIONING FROM RDBMS TO NOSQL:
  • New String Function SUFFIXES() for Efficient Pattern Matching:
  • The new function SUFFIXES() produces all possible suffix substrings of a given string. For example, SUFFIXES(“N1QL”) produces the following array of substrings: SUFFIXES("N1QL") = [ "N1QL", "1QL", "QL", "L" ].
  • While the core functionality is simple, it is immensely helpful in improving the performance of pattern matching with LIKE "%substring%" queries. See SUFFIXES() for more information.
  • Enhanced UPDATE Statement to Work with Nested Arrays:
  • The UPDATE statement has been improved to SET nested array elements. The FOR clause is enhanced to evaluate functions and expressions, and the new syntax supports multiple nested FOR expressions to access and update fields in nested arrays. Additional array levels are supported by chaining the FOR clauses.
  • New Array Function ARRAY_INTERSECT():
  • The ARRAY_INTERSECT() function takes two or more arrays as parameters and returns the intersection of the input arrays as the result, that is, the array containing values that are present in all the input arrays. It returns an empty array if there are no common array elements. For more information, see ARRAY_INTERSECT().
  • Simplified Dynamic Object Construction:
  • N1QL simplifies dynamic object creation in the queries.

New in Couchbase Server 4.5.0 (Sep 24, 2016)

  • HIGHER PERFORMANCE DATA ACCESS & QUERY:
  • Higher performance directly translates to better user experience and significant cost savings as each added node delivers better throughput. Couchbase Server version 4.5 enables performance, in some cases by an order of magnitude, with enhancements to core data operations, indexing and query execution. These, along with optimizations added in version 4.1 such as prepared execution of N1QL statements and covering indexes, give querying and indexing a significant boost.
  • Fast Partial Reads and Writes to JSON Documents:
  • With the extended sub-document APIs for data service, developers can operate on parts of a document without having to send the entire document back and forth between a client and server. This results in a significant performance gain and reduced network overhead with large documents. For more information, see Sub-Document Operations.
  • Memory-Optimized Global Indexes:
  • Version 4 of Couchbase Server introduced Global Secondary Indexes (GSIs) which are independently partitioned away from data for faster N1QL queries. Couchbase Server 4.5 provides additional tuning for index processing and index scans. The new memory-optimized indexing provide an order of magnitude improvement to query latencies and fresher index under heavy mutation rates (INSERT/UPDATE/DELETE). Unlike other databases, Couchbase Server global secondary indexes are built to isolate the impact of indexing on performance of mutations, data ingest, and bulk data modifications using N1QL INSERT, UPDATE, DELETE and MERGE statements. Couchbase Server 4.5 memory-optimized indexes further enhances index processing and isolation of impact of indexing on the data ingest and query workloads.
  • You can enable the new memory-optimized global secondary indexes through the index settings under the Settings tab in the Couchbase Server Web Console. For more information, see Memory-Optimized Global Indexes.
  • Array Indexing for Nested Data Structured in JSON Documents:
  • N1QL provides a considerable number of "verbs" to process embedded structures and arrays such as UNNEST and ANY/ EVERY operators. With the new array indexing feature, developers can optimize the execution of queries. The new index can optimize queries that are looking for specific array elements and can result in multiple orders of magnitude improvement on query latency and throughput. Arrays are indexed using the new ARRAY keyword in CREATE INDEX statement in N1QL. For more information, see Array Indexing.
  • Faster Read-Your-Own-Write (RYOW) Consistency with N1QL Queries:
  • Tunable consistency for N1QL and MapReduce queries helps improve the query performance. Using the previous versions, you could query data using eventual or strict consistency flag. RYOW consistency provides the optimization required by applications that have to deal with high mutation rates but cannot compromise on consistency guarantees. With strictly consistent queries, the staleness parameter is set to false per query, which ensures that the query uses the request timestamp token to generate the results. With version 4.5, you can choose to get consistency aligned to the timestamp of your last update which result in lower latency response times for your queries. See Query Consistency and Reading Your Writes for details.
  • Improved Index IO Performance with Circular Writes:
  • Global secondary indexes (GSI) use the new ForestDB engine for index storage. ForestDB uses an append-only write architecture that requires frequent full compactions to clean up orphaned pages in the index file. With version 4.5, ForestDB introduces circular writes as a new write mode for standard global secondary indexes. Circular write mode reduces the IO bandwidth demands for indexes and reduces the requirement to run frequent full compaction operations. See Writes with Circular Reuse for more information.
  • Index JOINs in N1QL:
  • With version 4.5, N1QL introduces an extended JOIN syntax for added flexibility in JOINs. The new JOIN ON KEY … FOR keyword allows developers to specify JOIN operations that can use the left or the right keyspace for the JOIN. With the extended syntax, N1QL also makes better use of indexes to perform the JOIN operation faster across the two sides, and substantially lowers JOIN latencies. For more information, see Index Joins.
  • SIMPLIFIED TRANSITIONING FROM RDBMS TO NOSQL:
  • The query language N1QL, introduced in Couchbase Server 4.0, enabled developers and admins to use their SQL skills to access and query JSON data. Couchbase Server 4.5 builds on N1QL and adds new features that make it even easier to introduce NoSQL into an existing architecture, and give developers and admins greater confidence in making the transition.
  • Integrated Query Workbench:
  • Couchbase Server 4.5 also provides a simple and visual way to develop and design queries with auto-complete for your N1QL statements. Query Workbench also allows the ad-hoc execution of queries directly from the Web console. Query results are displayed in JSON, table, and tree formats, and can be saved. To use the new integrated Query Workbench, switch to the new Query tab in the Couchbase Server Web Console. For more information, see Query Workbench.
  • Auto Schema Discovery:
  • The new "bucket analyzer" and the new INFER N1QL command, can peek into your bucket data to infer schemas by sampling a portion of your document data. Schema discovery tools simplify detecting document and data types, type drifts and data distribution much simpler for developers and admins. For more information, see the INFER command reference.
  • Enhanced Query Monitoring:
  • In Couchbase Server 4.5, N1QL adds several new keyspaces under the " system:" namespace. The new keyspaces allow monitoring "active requests", "completed requests", system information and more. For a full list of new system keyspaces added to N1QL, see Query Monitoring.
  • Advanced Command-line Tooling for Query:
  • In previous releases, the cbq command line tool has been the central point for executing N1QL queries. Command line access to N1QL has been greatly improved in this release, and the new command line access provides smart connection management and full scriptability with version 4.5. For more information, see cbq: The Command Line Shell for N1QL.
  • Enhanced N1QL Functions:
  • Array insert function to insert a value into a specific position in an array and return the new array. See Array Functions for details.
  • New functions to add, put, and remove objects. See Object Functions for details.
  • Duration to string conversion functions: Durations have been used consistently in the body of the results document (for example, elapsedTime) but now are also used in some keyspaces such as active_requests and completed_requests. The conversion functions support nano- (ns) , micro- ( μs), milli- (ms) and second (s) time units. See Date Functions for details.
  • Integrated Full Text Search (FTS) and new Full Text Search Service [Developer Preview]:
  • Full Text Search (FTS) enables you to create, manage, and query full text indexes on JSON documents stored in a Couchbase bucket. FTS provides a language-aware manner of searching with relevance ranking (scoring) for results.
  • Note: The Full Text Search feature is still considered experimental and the UI or the functionality may change. The What's New? page lists the FTS features added in this release.
  • ENHANCED MANAGEMENT & SECURITY CONTROLS:
  • Taming big data can be a challenge. With 4.5, administering large cluster with over 100 nodes gets much more robust. For larger datasets, Couchbase Server brings in new disaster recovery capabilities that minimizes the windows of data loss and unavailability. The new enterprise backup and restore capability can operate on the same data with much higher performance.
  • With mission critical applications deployed on Couchbase, governance becomes an increasingly critical function. In addition to encryption and auditing capabilities available in previous versions, Couchbase Server 4.5 brings a great deal of new roles based controls for administrators to enhance simplified governance.
  • Docker in Production:
  • Docker provides high performance container technology for agile and portable deployments. With Couchbase Server 4.5, Couchbase Server now supports deploying Couchbase Server in production with Docker containers. See Getting Started with Server on Docker Containers and Planning for Production for more information.
  • X509 Certificates:
  • With Couchbase Server 4.5, you can now use X.509 certificates from your own certificate authority for encryption. X.509 certificates provide strongly trusted, on-the-wire encryption for client-server communication and across data centers. The new capability also makes it simple for administrators to manage and rotate certificates without application downtime. You can find detailed information about X.509 certificates here.
  • Role-Based Access Control for Administrators:
  • With version 4.5, Couchbase Server provides Role-Based Access Control for administrators. Aside from the existing encryption and auditing facilities, RBAC provides fine grain control over administrative access and simplifies compliance with governance rules. You can control administrative roles from the Settings tab in the Web Console. See Role-Based Access Control (RBAC) for Administrators for details.
  • Enterprise Backup and Restore:
  • Couchbase Server 4.5 provides a new enterprise backup and restore tool that can back up larger datasets with significantly higher performance than before. The scalable, high-performance backup and restore tool allows Couchbase Server to provide faster and more scalable recovery options to better integrate with Disaster Recovery planning. See cbbackupmgr Tool for detailed information.

New in Couchbase Server 4.1.0 (Dec 10, 2015)

  • Enhancements:
  • Enhanced N1QL query performance using covering indexes and prepared statements.
  • Fully supported data manipulation capabilities for N1QL using INSERT, UPDATE, MERGE, and DELETE statements.
  • Certified two new desktop platforms - Windows 10 and OS X El Capitan, for development and testing purposes only.
  • Fixed issues:
  • MB-16435 Couchbase Server failed to start on OS X 10.11 (El Capitan).
  • MB-16244 Running the Elasticsearch connector sometimes resulted in high CPU usage.
  • MB-16067 On a Windows system, the XDCR remote cluster reference was not updated after a node was removed from the cluster.
  • MB-16528 If delta-node recovery was started after updating the bucket configuration, but before the bucket was loaded into memcached, a rebalance operation sometimes ejected the node from the cluster and the cluster vBucket map still contained the node.
  • MB-16385 Querying a view based on a subset of partitions resulted in huge memory usage.
  • MB-16013 Erlang XDCR with DCP consumed a large amount of RAM with large mutations.

New in Couchbase Server 3.1.0 (Aug 6, 2015)

  • Enhancements:
  • Support was added for SuSE Enterprise Linux 11.
  • There are major performance improvements for Map-Reduce views.
  • Support was added for the Get Sequence Numbers command.
  • Users can now specify the SSL ciphers list.
  • Fixed issues:
  • DOC-653 Mac OS X automatic updates from Sparkle: If you have Couchbase Server 3.1.0 or later installed, you will have an option to automatically update the version of Sparkle. Use Check for updates to install the new Sparkle release.
  • MB-12319 Mac OS X 64-bit: Upgrade with Check for Updates didn't work due to the missing signature.
  • MB-12359 Disable SSLv2/SSLv3 for memcached ports (POODLE vulnerability).
  • MB-12451 A mcd leak was observed when a socket closes during read.
  • MB-13142 The tool cbdocloader would fail when a memcached bucket was present.
  • MB-13160 View emitting only one field of a document results in multiple rows with different values.
  • MB-13503 The ns_connection_pool may never wake up the processes waiting for a connection.
  • MB-14068 Partition versions contain duplicates.
  • MB-14288 Value size limit is not configurable.
  • MB-14305 The ns_server fails to detect lost replica building stream. Rebalancing was slow when adding 3 nodes to the cluster.
  • MB-14537 Due to race condition per active vBucket on a failed-over node, if the wrong I/O thread wins it could cause that the most recent disk flush commit gets rolled back. Therefore, some of the vBuckets can lose the items in the replication queue and also can additionally lose the most recent disk flush commits.
  • MB-14545 Implementation of the DCP command to get all sequence numbers.
  • MB-14774 Add --from-date and --to-date option to cbrestorewrapper.
  • MB-14833 Fixed the performance and high memory consumption issues with the cbackup tool.
  • MB-14844 Disabled SSLv3 processing for TLS records and, as a result, if the last byte contains a correct value the entire padding is considered acceptable.
  • MB-14845 Not permitting “low” encryption cipher suites; currently, Couchbase Server supports 128bit or higher encryption algorithms.
  • MB-14904 Performance of view responses in Sync Gateway has been improved.
  • MB-14924 It was possible for a user to crash the server by sending an invalid snapshot_marker packet.
  • MB-14976 Support was removed for SSL v3 in the memcached SSL server sockets to mitigate against the POODLE attack.
  • MB-15049 Tree building in views needed to be fixed with a complex reduce.
  • MB-15069 Fixed LOGJAM discovered in SSL/TLS, which allows an attacker to downgrade a connection to weak export-grade crypto and potentially read/modify data.
  • MB-15206 Large items could potentially use up a lot of memory if left in the replica's checkpoint queues.
  • MB-15213 When the DCP Flow Control buffer was set to zero, the Producer would enable flow control in an erroneous way.
  • MB-15292 Fixed the issue with CouchbaseAtomic::Load() in memcached.
  • MB-15321 Compaction would break if the os_mon application terminated for some reason.
  • MB-15353 Request to properly find the latest rollback point was resolved.
  • MB-15472 Spatial views don't work on a cluster.

New in Couchbase Server 3.0.3 (Mar 31, 2015)

  • Fixes:
  • MB-7250 The Mac OSX version of Couchbase Server was not signed by a valid developer key causing users to use an additional step to launch the application. Now, when Couchbase Server is installed on Mac OSX, the signed developer key is available, and no additional steps are required.
  • MB-10370 Under the DGM scenario and a write-heavy workload, the system would reach the bucket quota quickly and did not recover.
  • MB-11527 Saturated disk I/O would cause compaction to fail and then crash and fill the disk. This issue was fixed by changing the compaction_write_queue_cap engine parameter at runtime.
  • MB-12849 The /etc/init.d/couchbase-server script to manage starting/stopping/status of Couchbase Server on CentOS was failing on CentOS 6.6.
  • MB-12967 The Unicode collation in Couchbase Server had an error that resulted in wrong results.
  • MB-13167 When a Couchbase cluster is under upgrade, the cluster is in a mixed state of TAP/DCP and, in such situation, the rebalance fails.
  • MB-13205 Under the DGM scenario and a write-heavy workload, the system reaches the bucket quota quickly, and the bucket reaches hard OOM with full ejection.
  • MB-13284 There was a possibility of a socket leak in the xmem connection pool for XDCR.
  • MB-13286 The rebalance would get hung when a producer did not send a no-op to the consumers.
  • MB-13359 DCP was getting stuck in the intracluster replication queue when the checkpoint_interval was set to 60.
  • MB-13386 DCP backfill task was incorrectly reading sequence numbers causing the connection to be hung.
  • MB-13458 While running cbbackup, a segmentation error would cause the backup to fail.
  • MB-13470 Installation as a non-root user was broken in Couchbase Server version 3.0.2.
  • MB-13479 Take purging into account when telling DCP clients to roll back.
  • MB-13757 [Upgrade 2.5.1->3.0.2] Rebalance was failing with an error bad replicas as replication would fail to start.
  • MB-14003 Upgrading from 2.5.2 to 3.0.2 MP3 in a DGM situation causes a failed asssertion [bySeqno >= 0].

New in Couchbase Server 3.0.2 (Dec 16, 2014)

  • Couchbase bucket:
  • MB-12160: When a key is locked, setWithMeta() is able to update the key even when the set fails.
  • MB-12647: gethrtime() implementation on Windows can cause requests to store() with CAS to be incorrectly processed.
  • Performance:
  • MB-12117: Access log locks for heavy write workloads can cause performance slowdowns.
  • MB-12576: Massive increase in disk write queue size on both SSD and HDD was detected.
  • Security:
  • MB-8872: A number of CAPI REST API endpoints is not secured.
  • MB-9890: XDCR crash logs can sometimes have document contents.
  • MB-10262: Corrupted key in a data file rolls backwards to an earlier version, or disappears without detection.
  • MB-12288: The XDCR-over-SSL proxy allows for a connection to any port on the destination nodes.
  • MB-12358: Remove support for SSL v3 in ns_server SSL server sockets to mitigate against the POODLE attack.
  • MB-12359: Remove support for SSL v3 in memcached SSL server sockets to mitigate against the POODLE attack.
  • MB-12655: Configuration replication of certain per-node keys is broken after a node is upgraded offline from 2.x to 3.0 and then added back to formerly 2.x cluster that is now upgraded to 3.0.
  • MB-12695: Certain XDCR logging exposes remote cluster passwords.
  • Server operations:
  • MB-11935: Failed connections on port 11213 cause Unable to listen errors and server restarts.
  • MB-12156: Race condition with time check when changing the data path may lead to deletion of all buckets after adding a node to a cluster.
  • MB-12382: Offline cluster upgrade failed when upgrading from 2.0.1-170-rel to 3.0.1-1422-rel.
  • MB-12706: In an XDCR environment, when add-delete-add operations are performed, the second add operation fails when performed on temporary items.

New in Couchbase Server 3.0.1 (Oct 30, 2014)

  • This release focuses on getting the system stability bugs fixed for the Windows platform and providing general availability. In addition, this release also includes some critical bug fixes related to metadata corruption.
  • Major fixes:
  • MB-12328 - Item flags are mangled during rebalance.

New in Couchbase Server 3.0.0 (Oct 7, 2014)

  • Infrastructure enhancements including:
  • Database Change Protocol (DCP)
  • Shared thread pool
  • Bucket and disk I/O enhancements including:
  • Bucket metadata ejections
  • Disk I/O priority
  • Server maintenance enhancements including:
  • Graceful failover
  • Delta node recovery
  • Incremental backup and restore
  • Views enhancement with Stream-based views.
  • XDCR enhancements including Stream-based XDCR and XDCR pause and resume replication
  • Security enhancement including Encrypted admin access and Encrypted data access.
  • Log and log collection improvements with Cluster-wide diagnostics

New in Couchbase Server 2.5.1 (Apr 1, 2014)

  • FIXED OR RESOLVED ISSUES:
  • Server operations:
  • MB-9457: Pass +swt low to erlang
  • MB-10051: Way to modify % metadata warning
  • XDCR:
  • MB-10057: Rebalance should reset xdcr checkpoints
  • MB-10059: Replica vbucket simply ignores rev_seq values of new items from the active bucket.
  • MB-10127: Several Erlang crashes on source XDCR nodes: Cannot allocate 21240272840 bytes of memory (of type “heap”)
  • Command-line tool:
  • MB-10102: Need a packaged tool or couch_dbdump option to extract _local docs out of couchstore file
  • MB-10103: Couch_dbdump –byid option is not working
  • MB-10116: cbcollectinfo may leak private key
  • MB-10171: Need at least hack-ful way to include _local/ docs of master vbucket into cbcollectinfos
  • Cluster operations:
  • MB-10114: An item should not be removed from cache when SET operation for that item fails due to ENGINE_ENGINE_E2BIG or ENGINE_ENOMEM
  • MB-10277: TOUCH command for a non-resident item causes a segmentation fault when an item’s expiration time remains in the same
  • Installation and upgrade:
  • MB-10220: vBuckets shuffle in online upgrade from 2.2.0-837 to 2.5.0-1059 in 1 replica bucket
  • MB-10515 Online upgrade failed from 2.5.0-1059 -> 2.5.1-1073 as 2.5.1-1073 node doesn’t appear in orchestrator after adding to the cluster.

New in Couchbase Server 2.2.0 (Jan 30, 2014)

  • MAJOR ENHANCEMENTS:
  • XDCR performance optimization through new mode of replication which utilizes highly efficient memcached protocol on the destination cluster for replicating changes. See Behavior and Limitations.
  • Disk storage optimization through new metadata purge settings for permanently purge metadata on deleted items. See Disk Storage.
  • New read-only admin user to Couchbase Server. This user will have access to Couchbase Server and its Admin UI, tools and REST APIs but only in read-only mode. See Account Management.
  • New addition to our toolset CBRecovery tool that provides additional durability from remote cluster. See CLI Tools.
  • ADDITIONAL ENHANCEMENTS:
  • Instructions for non-root, non-sudo installation and running of Couchbase Server and its tools. See Installing Couchbase Server.
  • CRAM-MD5 support for SASL authentication on Couchbase Server. See Providing SASL Authentication. See Couchbase Developer Guide 2.2, Providing SASL Authentication
  • Ability to reset password for Administrator using the CLI command. See cbreset_password Tool.
  • FIXES:
  • Command-line Tools:
  • In past versions of Couchbase Server, cbbackup would continue past 100% progress. This is due to a a bug in the cbbackup progress indicator and tool behavior. In the past, cbtransfer only accounted for items in RAM in the backup estimate, but would also backup deleted items as well as items read from disk into memory. This resulted in greater than 100% progress being displayed. These issues have been fixed.
  • Indexing and Querying:
  • In the past you had to delete an XDCR replication and recreate it if you wanted to change any XDCR internal settings. This includes: xdcr_optimistic_replication_threshold, xdcr_worker_batch_size, xdcr_connection_timeout, xdcr_num_worker_process, xdcr_num_http_connections, and xdcr_num_retries_per_request. You can now change these settings and they will immediately apply to the existing XDCR replication. For more information, see Changing Internal XDCR Settings.
  • Cross Datacenter Replication (XDCR):
  • If you used a custom data path then performed a server uninstall and upgraded, older XDCR replication files were left intact. This resulted in Couchbase Server crashes and incorrect information in Web Console. This has been fixed.
  • Non-UTF-8 encoded keys will not be replicated to destination clusters via XDCR by design. See Behavior and Limitations.
  • Performance:
  • Users experienced higher latency rates when they performed observe for replicated data. We have now fixed the issue.
  • Latency is now at least 5 times faster for this use case for Couchbase Server 2.2.
  • Users may experience segmentation faults if a cluster is under heavy stress. For example if your cluster has a very high disk write queue such as 2 million items per node, several XDCR replications, plus thousands of writes per second, the disks will drain slower.
  • With a similar workload and limited hardware, synchronization delays in I/O may occur resulting in a segmentation fault. This may result in data-loss. We therefore recommend you have adequate cluster capacity and monitor operations per second on your cluster.

New in Couchbase Server 2.1.1 (Sep 18, 2013)

  • NEW:
  • The Enterprise Edition of Couchbase Server is now available on Mac OSX. See Couchbase, Downloads.
  • FIXES:
  • Database Operations:
  • There was an underlying Windows Management Instrumentation issue in wmi_port.cpp which caused memory leaks. This has been fixed.
  • The 2.1 version of the server exposes fewer server stats than it did in earlier versions. The five stats that have been removed are key_data_age, key_last_modification_time, paged_out _time, ep_too_young and ep_too_old.
  • Cluster Operations:
  • The rebalance speed for small datasets has been significantly improved. This includes time to rebalance empty buckets and buckets containing tens of thousands of items.
  • In Couchbase 2.1.0 if you tried to assign a hostname to a node when you join the node to a cluster, it will be reset. The hostname will not be saved for the node and will not be used by the cluster to identify the node. This has been fixed. For more information about managing hostnames, see Using Hostnames with Couchbase Server.

New in Couchbase Server 2.0.0 (Dec 12, 2012)

  • Couchbase Server, the leading NoSQL key-value database, now provides document database functionality. By encompassing both key-value and document database models, Couchbase Server 2.0 enables users to address a broad range of use cases with a single NoSQL database technology
  • Key new document-oriented features in Couchbase Server 2.0 include:
  • A flexible data model, based on JSON, eliminates the need to create and manage schemas. This significantly increases agility while reducing the complexity and time required when building and modifying applications.
  • Distributed indexing and querying allows users to access stored data via queries, expanding the baseline of supported use cases, including content-oriented web applications and metadata management.
  • Incremental map reduce enables developers to incorporate simple real-time analytics into their applications, for example, leaderboards in social gaming applications.
  • Couchbase Server 2.0 furthers Couchbase’s traditional strengths in scalability, performance, and always-on reliability, with new features such as:
  • Cross datacenter replication (XDCR) enables automatic replication of databases across geographically disparate data centers, ensuring data availability in the event of catastrophic infrastructure failures and improving application response time by locating data closer to the users accessing it.
  • Operational enhancements, such as online data and index compaction, further enable Couchbase Server’s zero-downtime application maintenance.

New in Couchbase Server 2.0.0 Beta (Sep 18, 2012)

  • NEW FEATURES AND BEHAVIOUR CHANGES:
  • Two sample databases can be loaded either during setup or in the setting panel.
  • Design documents for active data are automatically indexed when a threshold on time is met or a number of document mutations is reached. This is user configurable.
  • For more information, see Section 10.4.4, “Automated Index Updates”.
  • New statistics have been added to understand the cross data center replication streams. The source cluster will show information about each XDCR including document mutation to be replicated.
  • For more information, see Section 6.4, “Web Console Statistics”.
  • Backup and Restore support is now available.
  • For more information, see Section 5.3, “Backup and Restore with Couchbase”.
  • Advanced indexing configuration can be updated in the Couchbase Admin console including maximum number of index building tasks that are executed in parallel.
  • For more information, see Section 6.11, “Editing Internal Settings”.
  • Debug information has been added into the view and indexing operations to make debugging views easier. You can enable this by using debug=true as query parameter.
  • E-mail alerts can now be created when certain error situations are encountered in a cluster.
  • For more information, see Section 6.8.3, “Alerts”.
  • You can now manually compact data and design documents using the admin console.
  • For more information, see Section 6.5, “Views Editor”.
  • FIXES:
  • Database Operations:
  • Provide return value of 'not found' in response to get operations on document that does not exist.
  • Enable sending compression option as parameter for a document to Couchbase Server.
  • Cluster Operations:
  • Fixed incorrect message, 'There are currently no documents in this bucket.' to 'there are currently no documents in this bucket corresponding to the search criteria.'
  • Fixed rebalance failure. Rebalanced had stalled after performing failover and removing node due to memory leak on cluster nodes.
  • Web Console:
  • Corrected wrong build number displayed in Mac OSX builds in dialog box.
  • Fix Couchbase Admin Console layout when a design document or view has a long name.
  • Corrected intermittent failures occurred when loading sample data via setup wizard or the Settings tab on MAC when user starts couchbase server app for the first time. Occurred due to some permission issues.
  • Fix Couchbase Admin Console behavior when failover is in progress and node goes offline.
  • Command-line Tools:
  • Restore connection to hostname instead of IP address.
  • Indexing and Querying:
  • Compaction file for views had been deleted if the process for index compaction died.
  • Deleting design documents in development resulted in deleting production index files.
  • Cross Datacenter Replication (XDCR):
  • Provide REST API endpoint for cancelling replication request.
  • Fix rebalance timeout failure during unidirectional replication of items via XDCR. Failure had returned message: "timeout, ns_memcached-bucket','[email protected]'}, {get_vbucket,".

New in Couchbase Server 1.8.1 (Sep 12, 2012)

  • Stability, memory reporting, and rebalancing fixes and improvements:
  • Rebalancing has been updated to support an optimized rebalancing operation when swapping in and out the same number of nodes. This significantly improves the rebalance operation allowing you to swap nodes in and out for maintenance (memory fragmentation, disk fragmentation), upgrades and other operations. Therefore reducing the impact on the entire cluster performance during the rebalance operation.
  • Rebalancing stability has been improved, particularly in the event of an error or a problem during the rebalance operation. Specific improvements target large clusters.
  • Management of the memory allocated and used by different components within the system has been improved. This increases stability of the system as a whole and ensures that the memory information reported within the statistics is more accurate, allowing you to make better decisions.
  • Improved statistic information, including memory and disk fragmentation and memory usage.
  • Improved logging provides more information about what operations are taking place, and what errors and problems are being reported by the system.
  • New Features and Behaviour Changes:
  • Couchbase Server uses a new port for communication between cluster nodes. Port 11209 is used by the ns_server component for internode communication.
  • Histogram timings are now provided for get_stats requests.
  • When a node leaves a cluster (due to failover or removal), the database files would automatically be deleted. This behaviour has now been changed so that the database files are not deleted when the node leaves the cluster.
  • Files are deleted when the node is added back to the cluster a rebalance operation is performed.
  • If the underlying database layer reported an error, the database would not be reopened. Database errors are now identified and re-opened on failure.
  • The mem_user, high_watermark and low_watermark have been added to the Couchbase Server Administration Web Console.
  • The flush_all operation has been disabled by default to prevent accidental flush operations affecting the data stored in a bucket. You can enable flush_all by setting the parameter using the cbflushctl command
  • The cbbackup utility will now execute an integrity check after the backup has been completed to check the integrity of the data files created during the backup process. This will report any problems in the generated backup files.
  • When a node has been rebalanced out of the cluster, the configured location for the data files is reset. If you want to store the data files for a node in a different location than the default, you must re-iniitialize the configuration to set the correct location before the node is rebalanced back into the cluster.
  • When creating output file for collect_info, the command now creates a directory first and then zips the data.
  • The disk fragmentation statistics for the on-disk data files are now exposed through the statistics interface.
  • To get the fragmentation statistics, you can use the kvtimings subkey to the statistics. This outputs a variety of statistincs, including the new readSeek and writeSeek values.
  • The UI will no longer report a rebalance as having failed through the Administration Web Console if the operation was stopped through the use of a REST API call or command line request.
  • Fixes:
  • Installation and Upgrade:
  • Compiling Couchbase Server on Windows using tcmalloc leads to inconsitent memory accounting and reporting, which can lead to problems with the ejection of items.
  • The shutdown of Couchbase Server may not have completed successfully leaving an instance of Erlang and ns_server running, which could prevent Couchbase Server from restarting successfully. The init scripts for shutting down Couchbase Server now terminate and wait for the processes to successfully stop before reporting that Couchbase Server has shut down.
  • Cluster Operations:
  • TAP stats sometimes show up as negative.
  • Moxi would trigger an assert when obtaining multiple keys during a rebalance operation.
  • Getting of memcached statistics is much faster.
  • Rebalancing in a new Couchbase Server 1.8 node if there are less than 500,000 items results in an imbalanced cluster.
  • Increasing the default timeouts on ns_server to avoid rebalance failures due to ep-engine stats timeout issues in large cluster or clusters where some nodes are actively using swap.
  • The checkpoint implementation used to monitor items and mutations has been updated to record only the list of changed items. This requires less memory and reduces the overall memory footprint.
  • memcached crashes during rebalancing operation with "bucket_engine.c:1876: bucket_engine_release_cookie: Assertion `peh' failed" error.
  • User is unable to add the node back to the cluster because the failed over node is stuck in warmup phase.
  • Takeover TAP streams do not shut down gracefully in case of rebalance failure or rebalance being stopped by the user.
  • Auto-failover may failover two nodes instead of one if two failurs occur within less than one minute.
  • Rebalancing with multiple node changes when a bucket has less than 100k items could cause rebalance to hang and fail to complete successfully.
  • The rebalance operation could fail to complete successfully if the node that failed during the rebalance operation was a master node. This could be triggered either by a manual or automatic failover.
  • This would lead to the cluster being marked in the rebalance running state, with no way to complete or stop the rebalance operation, or add or remove nodes and initiate a new rebalance.
  • Auto-failover fails over a node if some of the buckets are already rebalanced out but rebalance has been stopped or interrupted.
  • A rebalance issue may occur when removing a node and adding a replacement node. The backfill statistics for the rebalance may show that there are no further items to be transferred, but the rebalance process hangs.
  • Couchbase Server could mistakenly report that the cluster is in rebalance_state even though the rebalance operation is not running.
  • A rebalance operation could exit with {mover_crashed, noproc} if the vBucket move operation completed very quickly.
  • TAP doesn't handle "garbage" data/messages over a dump connection.
  • Mixed clusters with Couchbase Server 1.8.1 and 1.7.1.1 or earlier are not supported.
  • Web Console:
  • UI shows "\[16:14:07\] - IP address seems to have changed. Unable to listen on '[email protected]'." message every second after installing 1.8.1 on a Windows 7 virtual machine.
  • Phone home is unable to post data when json object is too large. The Update Notification tab shows "Warning - There was a problem with retreiving the update information. ".
  • Removing a configured bucket through the UI could still indicate a Cluster Memory Fully Allocated warning message, even though the bucket removal will have freed the memory allocation.
  • Some of the alerts such as moxi crashing were not being displayed in the web console.
  • The Administration Web Console will now report a warning if there was a failure to persist data due to the underlying persistence layer (SQLite).
  • Command-line Tools:
  • collect_info should include "diag" information.
  • collect_info now collects TAP and checkpoint stats from each node.
  • ebucketmigrator now supports SASL authentication.
  • cbbrowse_logs command does not work on Mac OS X.
  • The cbworkloadgen and docloader tools will now work with both Python 2.4 and Python 2.6.
  • Cloud Support:
  • Duplicating a virtual machine with Couchbase Server already installed could lead to problems because the same otpCookie value has been configured on each duplicated machine.
  • When using Couchbase Server within a VM, a pause could cause Couchbase Server to retain the original time, not the updated time when the VM was re-enabled.

New in Couchbase Server 2.0.0 Dev 4 (Mar 26, 2012)

  • What's new:
  • Replica Indexes:
  • The indexes generated by the map/reduce view interface are replicated across the cluster. This ensures that if there is a failover scenario, the index information does not have to be regenerated by the replacement node.
  • Experimental Geospatial Indexing:
  • Support has been added for supporting geospatial indexing and querying. The geospatial interface enables the storage of two-dimensional geometry points. Views can then be written that index this information, and queries can be written that return the geospatial information based on the provision of a bounding-box to the geometry data.
  • Sample Databases:
  • Couchbase Server now includes sample databases as part of the installation and setup process. You can load the sample data and associated views. This provides both the sample data structures and map/reduce queries to enable youf to understand and create your own datasets and views.
  • New Features and Feature Changes in 2.0.0DP4:
  • Debugging has been added into the view and indexing operations to make determining problems in views easier to identify. You can enable this by using debug=true.
  • The index/view related improvements are for production views or development views with full_set=true.
  • A new option, on_error has been added to control the behaviour of the view engine when returning a request. By default the value is continue, which indicates that the view engine should continue to return results in the event of an error. You can also set the option to stop to stop the view results being returned on failure.The indexes created by the view system are now replicated among nodes to ensure that indexes do not need to be rebuilt in the event of a failover.
  • The view system has been stabilised to work even while the cluster topology is changing through rebalance and failover operations.
  • The design document and view system has been updated with the ability to create multiple design docs and query all these design docs in parallel.
  • Experimental support for geospatial indexing has been added.
  • You now have the option to have sample data (and views) created during the installation and setup process. This operation requires Python 2.6.
  • A number of stability bugs have been fixed when querying and merging views.
  • The default value of the stale argument when querying views has been changed to update_after. This means that by default view information will always be returned 'stale', and updated after the view request has completed.
  • You can force a view update by specifying false to the stale, or ok to enable stale views without an implied update after the view data has been returned.
  • Support for changing (and accessing) the number of parallel indexing processes used to build the view index information has been added to the Couchbase Management REST API.
  • Fixes in 2.0.0DP4:
  • The web console UI had an incorrect query parameter, start_key_docid available for selection. This should have been start_key_doc_id.
  • When deleting a bucket, and then creating a new bucket with the same name, the views associated with the deleted bucket would reappear.
  • The ep-engine component did not persist the mutated replica items to disk.
  • The number of threads started when building indexes could increase to an unmanageable level causing a significant performance problem. The indexing system has been configured so that the main indexers get 4 exclusive slots, and the replica index builders 2 exclusive slots to ensure that the indexing process proceeds effectively.
  • Accessing a view query would fail if the user changes a design document while a rebalance was occurring, and then accesses the updated view.
  • Accessing a view using a reduce could report different counts from different nodes after a cluster has been rebalanced with the addition of new nodes.
  • Querying a view when deleting items and performing a rebalance simultaneous leads to invalid results.
  • The ns_server process could crash on Linux because of too many open file descriptors if more than 10 views were defined on a single bucket.
  • Creating a view with a reduce function, and querying while changing the cluster topology through a rebalance could cause incorrect results.
  • Accessing the timings statistics through the cbstats command would fail.
  • The compaction process on a node can be terminated while data is still being loaded, but fail to restarted again while the node is still under load.
  • Rebalancing in a new Couchbase Server 1.8 node if there is only 1 checkpoint open results in an imbalanced cluster.
  • If you remove and rebalance a node out of a running cluster while clients are awaiting view results from that node, the node would fail to be rebalanced properly.
  • An incorrect total cluster storage figure could be reported if the index_path and data_path configurations are on the same disk.
  • When accessing information using the basic create, read, update or delete operations, the $flags and $expiration flags are returned through the HTTP API for individual documents. This matches the output available through the view API when including the entire document.

New in Couchbase Server 2.0.0 Dev (Jan 28, 2012)

  • The SYNC protocol command has been removed.