Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-44838

Clusters with large number of buckets and nodes upgraded to cheshire-cat may see performance regressions in crucial REST APIs (cleanup old config)



    • Bug
    • Resolution: Fixed
    • Critical
    • 7.0.0
    • Cheshire-Cat
    • ns_server
    • None
    • Untriaged
    • 1
    • Unknown


      Currently we don't remove values upgraded to chronicle from ns_config (due to it being non-trivial to orchestrate in a race-free manner). Separately, many heavy REST APIs call ns_config:get() for each request. With move to chronicle, such APIs will also call chronicle_kv:get_full_snapshot() (this bit is something that could and should eventually be changed, but that's how things are at the moment). Ultimately, users that upgraded their clusters will pay double the price compared to users running fresh clusters. Similarly, in places where metadata needs to be synchronized across cluster, we'll continue paying the price of synchronizing hefty ns_config in addition to synchronizing chronicle.

      A couple of things we might do:

      1. Clean up ns_config on upgrade.
      2. Minimize the use of get_full_snapshot() to absolute minimum.

      There's probably more that we can do, but that's what comes to mind at the moment.

      We should also definitely run some tests on extreme configurations. And it's critical to remember that fresh clusters may not expose some of the behaviors that upgraded clusters will.


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            Balakumaran.Gopal Balakumaran Gopal
            Aliaksey Artamonau Aliaksey Artamonau (Inactive)
            0 Vote for this issue
            11 Start watching this issue



              Gerrit Reviews

                There are no open Gerrit changes