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

[Eventing] - Collection drop which has is a associated eventing function should not fail rebalance

    XMLWordPrintable

Details

    • Untriaged
    • Centos 64-bit
    • 1
    • No

    Description

      Till Cheshire Cat
      Bucket deletion is not allowed during rebalance/failover, hence deleting a bucket caused a associated eventing function undeploy to go through fine(in most cases, unless rebalance had started post bucket delete and before undeploy started, a small windows but still possible I guess).

      In CC
      In CC we can drop collections during rebalance, this would cause the associated eventing functions to be undeployed during rebalance causing rebalance to fail with following errors.

      Rebalance exited with reason {service_rebalance_failed,eventing,
      {worker_died,
      {'EXIT',<0.30539.58>,
      {{badmatch,
      {error,
      {bad_nodes,eventing,prepare_rebalance,
      [{'ns_1@172.23.98.195',
      {error,
      {unknown_error,
      <<"Some apps are deploying or resuming on some or all Eventing nodes">>}}}]}}},
      [{service_rebalancer,rebalance_worker,1,
      [{file,"src/service_rebalancer.erl"},
      {line,164}]},
      {proc_lib,init_p,3,
      [{file,"proc_lib.erl"},{line,234}]}]}}}}.
      Rebalance Operation Id = 1bc902125845f74428f92a52879fc77c
      

      Even though its not a bug per se, this would cause lot of issues in testing/customer use cases. I can possibly see every rebalance test we have in eventing failing during rebalance as CRUD on collections is a must in collections + eventing testing.

      Should we undeploy post rebalance completion ?

      Attachments

        Activity

          People

            vikas.chaudhary Vikas Chaudhary
            Balakumaran.Gopal Balakumaran Gopal
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              PagerDuty