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

[BP MB-51743 7.1.1] - Eventing function should be able to listen to multiple collections in a bucket at the same time

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Critical
    • 7.1.2
    • 7.0.4, 7.1.0
    • eventing
    • 1

    Description

      In deployments with 100s of collections per bucket and 1 eventing function per collection, eventing ends up spawning at least 1 process per function and 100s of DCP connections with KV nodes. This can put resources on KV and Eventing nodes under undue stress.

      Eventing in Neo supports full RBAC. So it should be possible for a single eventing function to listen to multiple collections in the same bkt at the same time provided user has necessary DCP data read permissions. One possible way to do this is as below

      Option-1 (easiest):
      Listen to Keyspace
      1. bkt.scope.collection <----- as of Neo, function can listen to a single collection
      2. bkt.scope.{*} <---- proposed option to listen to all collections in scope 'bkt.scope'
      3. bkt.*.* <---- proposed option to listen to all collections in the bucket 'bkt'

      Option-2 (a bit complicated):
      1. Allow selection of multiple collections in the drop down 'Listen to Keyspace'. We may have to limit to a single bucket though and listening to collections across bkts can be problematic and non-intuitive.

      Cc Jon StrabalaRitam SharmaChanabasappa Ghali

      Attachments

        Issue Links

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

          Activity

            People

              sujay.gad Sujay Gad
              jeelan.poola Jeelan Poola
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty