Details
-
Bug
-
Resolution: Duplicate
-
Major
-
6.5.0
-
Couchbase build 6.5.0 build 4034
Linux couch01 3.16.0-10-amd64 #1 SMP Debian 3.16.70-1 (2019-07-22) x86_64 GNU/Linux
root@couch01:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 8
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 86
Model name: Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
Stepping: 3
CPU MHz: 2098.431
BogoMIPS: 4200.22
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 12288K
NUMA node0 CPU(s): 0-7
root@couch01:~# free
total used free shared buffers cached
Mem: 24722744 3708228 21014516 8524 19532 702840
-/+ buffers/cache: 2985856 21736888
Swap: 477180 0 477180Couchbase build 6.5.0 build 4034 Linux couch01 3.16.0-10-amd64 #1 SMP Debian 3.16.70-1 (2019-07-22) x86_64 GNU/Linux root@couch01 :~# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 8 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 86 Model name: Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz Stepping: 3 CPU MHz: 2098.431 BogoMIPS: 4200.22 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 12288K NUMA node0 CPU(s): 0-7 root@couch01 :~# free total used free shared buffers cached Mem: 24722744 3708228 21014516 8524 19532 702840 -/+ buffers/cache: 2985856 21736888 Swap: 477180 0 477180
-
Untriaged
-
Unknown
Description
Summary
On a single node (not a cluster running Debias 8 e.g. Jessie)
Following the sample at https://eventing-workshop.s3.amazonaws.com/Instructions.pdf (be aware that the bucket should be named ‘meta’ not ‘metadata’ if you import verifier.json)
Issue #1
If an Eventing function is initially deployed "Everything" and undeployed, subsequent deployments "From now" will deploy and run as if "Everything" was selected. This will result in data being generated.
This seems like once you deploy with "Everything" the setting just seems to "stick"
Refer to my attachment "Issue with Eventing once deployed with Everything is selected it is sticky and deploying with From now has no effect.pdf"
Issue #2
I am concerned about wasted CPU an IOPS here
If an Eventing function is initially deployed "From Now" and undeployed, subsequent deployments "From now" will work correctly (no new items in "review" seem to be generated) but the CPU load seem to indicates that everything is processing (or at least being checked) all over again.
Since no new mutations are occurring in my test setup I believe there should be no processing load, shouldn't a check-point or something prevent this extra processing on a redeploy. Perhaps this is the expected behavior I'm not sure.
However if you have a deployed Eventing function and the entire system is in a quiescent stat (no new data) stoping and starting the single node server also results in a CPU burst where eventing seems to reprocess everything as evidenced by the Eventing backlog under the deployed function, I don't think this in this case this should ever be the expected behavior.
To rephrase, if we stop / start Couchbase (I use a single node) once Eventing is entirely caught up and the system is quiescent (no new data) upon restart it should never kick off a reprocessing of all data vis executing the Eventing function(s)
You can see this on page 5 of my attachment "Issue with Eventing once deployed with Everything is selected it is sticky and deploying with From now has no effect.pdf"
Additional Background
Refer to attachment for CPU trace snap shots across a multitude of scenarios to reproduce and then unwind the issue.
Other
Upon searching the forums this issue seems to have been reported in mid February via https://forums.couchbase.com/t/eventing-onupdate-processes-all-data-in-the-bucket/20088 however the reporting individual did not share further details.
Comment
Indeed if we just had some simple statists like [Eventing] backlog found under statistics (but in the Eventing view right were we deployed the function) IMHO not only this bug would be blatantly obvious, but initial users of Eventing would get a better user experience with positive feed back what is happening upon a deploying a function.
If needed I can reproduce and provide more detail and/or insert log statements in the function "verify" and re-run.
Attachments
Issue Links
- duplicates
-
MB-28004 Backlog shown as number of items in bucket when eventing application is deployed "from now"
- Closed