Details
-
Bug
-
Resolution: Fixed
-
Critical
-
7.6.0
-
Triaged
-
0
-
Yes
-
March-June 24
Description
- The Checkpoint Quota (introduced in 7.1.0) is a hard limit on the maximum allocation across all vbuckets/checkpoint in a Bucket. That applies to both frontend and DCP-replication loads
- In 7.6.0 (precisely at https://review.couchbase.org/c/kv_engine/+/203744/12/engines/ep/src/dcp/passive_stream.cc#356,
MB-31869) we have erroneously changed the PassiveStream logic so that DCP-replication bypasses the Checkpoint Quota checks - The result (as observed at first in CBSE-16595) is that DCP-replication allocations in Checkpoint can eat up to the entire Bucket Quota
- Regression from Neo
Note:
- We need that persistence is broken on a data node for observing the issue. That is because the Memory Recovery tasks still run for recovering the checkpoint memory to below its quota, and the only way for preventing mem-recovering in checkpoint is a stuck persistence cursor.
- By that, proposal is for submitting the fix in 7.6.1.
- It doesn't feel necessary to rush this one into 7.6.0-MP1, as on a healthy data node mem-recovery tasks are expected to keep checkpoint allocations under control.
- This is a completely different issue than MB-61158. In MB-61158 we impose a limit on the batch of items that we pull from checkpoints for passing to the flusher at persistence.
Attachments
Issue Links
- is caused by
-
MB-31869 Remove DCPConsumer internal buffer
- Closed