Couchbase Server Changelog

What's 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 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 Developer Preview (Jan 28, 2012)

  • The SYNC protocol command has been removed.

New in Couchbase Server 1.8.0 (Jan 28, 2012)

  • Directory Changes:
  • Couchbase Server is now installed into a couchbase directory, for example on Linux the default installation directory is /opt/couchbase instead of /opt/membase.
  • During an upgrade, the location of your data files will not be modified.
  • Command Changes:
  • The name of many of the core commands provided with Couchbase Server have been renamed, with the existing scripts deprecated. For example, the backup command mbbackup in Membase Server is now called cbbackup.
  • New Features and Feature Changes:
  • The membase bucket type has been deprecated. The couchbase bucket type should be used instead to select the balanced, persistent and replicated buckets supported by a Couchbase cluster.
  • Internet Explorer 7 as a supported browser for the Couchbase Web Admin Console is now deprecated, and support will be removed entirely in a future release.
  • Allow disk write queue upper limit to be modified at runtime.
  • The SYNC protocol command has been deprecated. Applications and solutions should no longer use the SYNC command. The command will be removed entirely in a future version.
  • Fixes:
  • Rebalancing process might hang when adding or removing nodes in a large cluster where client load is running.
  • Selecting the master node during rolling upgrade where there are different membase/couchbase servers in the cluster.
  • The ep_num_not_my_vbuckets stat doesn't reset.
  • Decreased memory usage by coalesce checkpoints in the replica side if item persistence is slower. Server will maintain only two replica checkpoints for each vbucket.
  • Unable to create a default bucket using membase-cli.
  • Fixed a case where there are two replicas where replication cursor would get stuck and slave node didn't replicate the data into the other node in the replication chain.
  • Installer dependencies on RHEL 5.4 have been updated.