Release Notes - Couchbase Server - Version techdebt-backlog - HTML format

Technical task

  • [MB-2310] - REST Docs: add units to documentation
  • [MB-2313] - REST Docs: memory quota should be for a node, not a cluster
  • [MB-2655] - Make a design for upgrade.
  • [MB-3102] - Integrate existing 'library-only' javascript unit tests into continuous integration
  • [MB-3103] - Implement basic functional tests for UI
  • [MB-3104] - Cover UI error handling with automated tests
  • [MB-3178] - Investigate ordering of read access
  • [MB-3247] - Timing stats at the operation level are provided from the core
  • [MB-8916] - migration tool for offline upgrade
  • [MB-12067] - Explicit defragmentation of ep_engine buckets
  • [MB-12658] - make revision of dependencies
  • [MB-12659] - remove unused mnDate
  • [MB-12660] - remove unused stuff
  • [MB-12661] - move getGroups into mnAdminServersService
  • [MB-12662] - add reloadApp method to mnHelper module
  • [MB-12663] - add reloadState method to mnHelper module
  • [MB-12664] - fix indicator of pending servers in overview section
  • [MB-12665] - rename mnPoolDetails to mnPoolDefault
  • [MB-12666] - add mnPools module
  • [MB-12667] - make right detection of groups availability
  • [MB-12668] - fix visual settings
  • [MB-12669] - back to life backendless UI

Bug

  • [MB-1638] - tap.py doesn't exit gracefully
  • [MB-1891] - Support for changing replica count on the fly
  • [MB-2200] - Rebalance failed after remove node
  • [MB-2245] - Upgrade Erlang to latest
  • [MB-2262] - default data directory (/opt/membase/VER/data) appears fhs non-compliant
  • [MB-2508] - disk persistence queue not draining
  • [MB-2643] - Setup: Setting Password - Enter Key Should Select Next
  • [MB-2675] - Upgrade the dependencies for the buildbot slaves
  • [MB-2931] - Investigate test failures.
  • [MB-2999] - flushctl evict does not work
  • [MB-3092] - TAP interface returns deleted keys when doing a dump
  • [MB-3133] - Can't change password using membase CLI
  • [MB-3328] - transient "SERVER_ERROR proxy downstream closed" after Add-Back & Rebalance
  • [MB-4359] - few memcachec .get/.set calls take up to 3 seconds during rebalancing 25 node cluster with 170M items
  • [MB-4599] - Only windows: Under 95%> disk full condition, Bucket Deletion on Windows does not clear db files for large dataset
  • [MB-5197] - Fail on manipulations with "views"
  • [MB-5220] - increase the low/high watermark by 10%
  • [MB-7887] - Appends can cause large amounts of memory fragmentation in tcmalloc
  • [MB-7907] - Issues when scaling XDCR on single node
  • [MB-7929] - The installer should check the state for the windows firewall
  • [MB-8075] - Integrate Error-Handling Blog Content
  • [MB-8824] - XDC replication seems to be replicating data in bursts, would expect this to be more uniform
  • [MB-8832] - Allow for some back-end setting to override hard limit on server quota being 80% of RAM capacity
  • [MB-8915] - Tombstone purger need to find a better home for lifetime of deletion
  • [MB-9373] - 40% performance dip when persistence is enabled
  • [MB-9429] - document protocol extensions and their interface stability
  • [MB-9560] - /etc/init.d/couchbase-server startup indicates successful startup on a non-successful startup of a instance
  • [MB-9878] - Handle all the failure condition which causes xdcr replicators crash
  • [MB-10147] - Refactor stats function in order to have similar code for parsing similar stats types
  • [MB-10280] - couchstore commit() may be incorrectly padding file size prior to first fsync, causing second fsync to do more work
  • [MB-10688] - ForestDB should support endian-safe format.
  • [MB-10691] - ForestDB should provide an option for keeping deleted items for a given tombstone purge interval
  • [MB-10749] - Provide fdb_del() API separately.
  • [MB-10782] - Admin console does not work with load balancer
  • [MB-11086] - Use conditional timed wait / notify for a compaction daemon thread
  • [MB-11514] - Setting wal_flush_before_commit triggers flush on every set, in a transaction
  • [MB-11516] - wal_flush_before_commit doesn't constrain memory usage, if using transactions
  • [MB-11527] - Saturated disk i/o causes compaction to fail then crash and fill disk
  • [MB-11766] - Support a longer key that is greater than the current max size 3840 bytes
  • [MB-11835] - Stack-corruption crash opening db, if path len > 250 bytes
  • [MB-12035] - Rationalize and 'fix' memcached / ep_engine logging
  • [MB-12053] - memcached.log needs to capture crashes and aborts
  • [MB-12180] - Modularize the DCP code
  • [MB-12286] - Missing port number in Network ports documentation
  • [MB-12715] - fdb_iteration fails if multiple kv stores in file
  • [MB-12746] - Optimize fdb_iterator_seek API to avoid scanning a doc at a time

Epic

  • [MB-2563] - Membase performance should not decrease over time (fragmentation)
  • [MB-2677] - As a memcached community member, I want to the memcached open-source project to be healthy and vibrant
  • [MB-2827] - Create support knowledge base
  • [MB-2925] - As a Membase user, it is obvious to me when and why memcached doesn't start properly so that I know that something is wrong.
  • [MB-2926] - Our Linux directory layout is FHS compliant
  • [MB-2975] - Set with Caching Hints
  • [MB-3125] - As a hadoop user, I've got all the tools I need to move data in and out of membase.

Improvement

  • [MB-1382] - should be able to grow and shrink memcache buckets
  • [MB-2425] - Allow for dynamic setting of interval of purging of expired items
  • [MB-2513] - Allow changing of node memory quota
  • [MB-2873] - Setup new builders
  • [MB-3250] - We should have a cli command for server-remove
  • [MB-3290] - Connect to the REST servers should be async
  • [MB-3291] - Add timeout to connects
  • [MB-3292] - Add timeout to operations
  • [MB-5056] - developer can use pre-installed Windows VM's to fix windows issues
  • [MB-5383] - rebalancing should finish vbucket movements for those healthy tap streams instead of aborting the entire rebalancing because one stream was shut down by ep-engine
  • [MB-7433] - More detailed information about retrieving binary in views
  • [MB-7721] - Improve best practices docs
  • [MB-8124] - unit test to ensure that error strings do not change (used in client API)
  • [MB-9174] - Smart Client version information available from cluster
  • [MB-10011] - XDCR should ensure Rollback on source to not cause target to miss updates
  • [MB-10053] - Improved Observe: can't observe replication under mutation
  • [MB-10931] - Lack of NRU info for read-heavy items for Replicas
  • [MB-11056] - crc32_8 is a major performance bottleneck during bulk writes
  • [MB-11169] - cbbackup/cbtransfer only utilizes a single thread when the source cluster is just a single node
  • [MB-11208] - stats.org should be installed
  • [MB-11209] - Document statistics in memcached (and verify that all in ep_engine is documented)
  • [MB-11484] - Implement a generic mechanism to observe completion of any changes requested by REST API requests. Must work for all port 8091 APIs
  • [MB-11560] - Compaction: Don't write to /tmp
  • [MB-11926] - defined and reliable behavior needed when connections are exhausted
  • [MB-12029] - Logging required for access.log generation
  • [MB-12472] - notification for deletion of vbucket files.
  • [MB-12473] - More granularity in error message for write commit failure.
  • [MB-12538] - Allow multiple reader / writer threads to share the same ForestDB handle
  • [MB-12592] - Remove a single KV store mode parameter

Story

  • [MB-2522] - As a user, I can rely on Membase not to overrun memory significantly even with small values so that I can use my memory efficiently.
  • [MB-2535] - Define alert screen requirements
  • [MB-2542] - Identify where we need test frameworks
  • [MB-2548] - Membase engineers can build the full product
  • [MB-2550] - Convert full BAT to be run under automation
  • [MB-2568] - Plan build approach
  • [MB-2569] - Vbucket java client
  • [MB-2570] - As a Membase user, I am notified when the data in my UI is stale so that I know whether I'm looking at current data.
  • [MB-2577] - Enumerate environment/architecture/OS along with how deep we will test on each
  • [MB-2585] - As a Membase developer, I can run automated unit tests of the JavaScript UI so that I can make sure things work without having to fire up the server and a browser to test.
  • [MB-2592] - As a new-hire at membase, I'd like a standard, documented toolchain for development on OSX, so that I don't waste my first 2 months organically growing my dev box to the right state through trial & error.
  • [MB-2603] - top-level-makefile needs a 'make install'
  • [MB-2604] - As a web developer on OSX, I'd like an updated homebrew formula for membase, so that I can easily play with membase to decide whether to tell my boss that we should use membase
  • [MB-2605] - integrate the new top-level makefile with voltron, so that developers and voltron are building the same exact thing
  • [MB-2606] - build system to send email when a build breaks (BUT, (reopening) not too much email)
  • [MB-2608] - As a membase open-source community user, I would like there to be regular builds for community membase
  • [MB-2609] - As Dustin (or a unix guy), I wish there were separate packages for each component that do not fight the platform (o/s package managers), so that we can upgrade components in place, so that we can more quickly turn around support issues, so that we save $
  • [MB-2619] - As a user, I can see response time histograms for various operations so that I can make decisions about cluster size & hardware.
  • [MB-2624] - Automated tests automatically update testlink so we can see test coverage in a single place.
  • [MB-2640] - As a product engineering manager, I want product builds to be kicked off automatically 15 minutes after the (successful) change or improvment to any component of the product.
  • [MB-2642] - As a engineer, I wish that QA automated smoke and extended tests would also run on windows.
  • [MB-2654] - As a person, I can file bugs on components that are useful so that bugs go to the right place and issues don't get dropped.
  • [MB-2658] - As a Membase developer, I am aware of the potential advantages and disadvantages of using BDB's SQL API instead of sqlite so that I can make decisions about which to do.
  • [MB-2664] - As a monitor of the software, I want to be able to quickly see how long requests are taking from the time they enter our system to the time the request is serviced back to the client
  • [MB-2670] - As a membase user, I would like proxy stats that tell me which upstream connection is waiting, assigned-and-paused on what downstream resources.
  • [MB-2687] - Moxi should consume less CPU than memcached, or we should have a good explanation for why it uses more.
  • [MB-2688] - moxi should timeout after REST stream inactivity and there should be keep-alive messages from ns_server
  • [MB-2691] - As a Membase user, I should be able to put 1mm 10k objects into 4 nodes with 8GB RAM each and rebalance out one node without impacting performance
  • [MB-2693] - As a user, i'd like to know what is the performance graph of Membase on my server / cluster
  • [MB-2701] - Modular RPM Packaging
  • [MB-2708] - As a Membase Admin I want UI to be automatically (or semiautomatically) redirected to some live node when current menelaus node is down
  • [MB-2713] - Moxi has unit tests covering maximum-length keys and values
  • [MB-2717] - moxi should use hrtime instead of gettimeofday
  • [MB-2718] - As a java developer, I have an API that allows me to access all of the features of tap so that I can make use of all of the powers of membase.
  • [MB-2816] - As a Membase user, I should be able to fill up my memory space with metadata while still maintaining proper operation of the server
  • [MB-2834] - double-check moxi's "stats proxy" code is thread-safe
  • [MB-2841] - Separate vbucket deletion from purging.
  • [MB-2933] - Find out if LaBrea can work on Windows
  • [MB-2953] - As a membase maintainer, I have tools that I'm confident will safely perform database maintenance tasks so that I don't break stuff trying on my own.
  • [MB-2966] - as an Ubuntu user, I can install Membase from an Ubuntu PPA
  • [MB-3070] - As a user, I'm able to understand what the bucket engine does because it's well documented.
  • [MB-3077] - As a user who has submitted a change through buildbot try, it's easier to understand which built component belongs to which change.
  • [MB-3081] - As a customer I want a button in the web ui that allows me to select all graphs for the monitor page
  • [MB-3096] - Previous vbucket state is exposed via ep_engine stats
  • [MB-3097] - As an engine writer, I can run my tests in parallel so that my 104,958 tests don't take ten minutes to run on my builder.
  • [MB-3148] - Enforcement of platform size limitations is required
  • [MB-3166] - Rebalancing 2.0
  • [MB-3167] - Tuning of Memory use, especially for D>R
  • [MB-3210] - As a membase developer, I have the ability to specify arbitrary engine parameters so that I can quickly find optimal defaults.
  • [MB-3217] - Make install for ns_server
  • [MB-3335] - Membase is tested for different kinds of consistency it should demonstrate when there are no failures
  • [MB-3340] - Synchronous persistence
  • [MB-3341] - "snapshot" capability
  • [MB-12222] - Duplicate existing cluster management ui using angularjs

Task

  • [MB-8067] - Couchbase should handle running out of disk space gracefully
  • [MB-8845] - spend 5 days prototyping master-less cluster orchestration
  • [MB-9040] - High Watermark Table - Short spec on the interaction between ep-engine/xdcr
  • [MB-9042] - High Watermark Table - Implementation in ep-engine
  • [MB-9632] - diag / master events captured in log file
  • [MB-9897] - Implement upr cursor dropping
  • [MB-10927] - couchbase-cli throws out incorrect output when actually command executed successfully in --cluster-init
  • [MB-11009] - Discussion:- Should swappiness be set to 1 and not 0
  • [MB-11154] - Document proper way to detect a flush success from the SDK
  • [MB-11614] - Discussion - Should we move auto-failover out of erlang?
  • [MB-12423] - Implement a dynamic thread count tuning mechanism to auto-adjust to changes in workload patterns.

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.