Details
-
Improvement
-
Resolution: Fixed
-
Critical
-
7.0.4, 7.1.0
-
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.