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

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-8824] - XDC replication seems to be replicating data in bursts, would expect this to be more uniform
  • [MB-8915] - Tombstone purger need to find a better home for lifetime of deletion
  • [MB-9373] - 40% performance dip when persistence is enabled
  • [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

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-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-8124] - unit test to ensure that error strings do not change (used in client API)
  • [MB-10931] - Lack of NRU info for read-heavy items.

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

Task

  • [MB-8067] - Couchbase should handle running out of disk space gracefully
  • [MB-8668] - Spend at most 5 days trying to separate cpu-hungry pieces (xdcr and/or views) out of ns_server erlang VM
  • [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-10496] - Investigate other possible memory allocators that provide the better fragmentation management

Edit/Copy Release Notes

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