Details
-
Bug
-
Resolution: Fixed
-
Critical
-
5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 6.0.0, 6.0.1
-
Security Level: Public
-
Untriaged
-
Yes
Description
VBucket::getItemsToPersist can return the range uninitialised (filled with junk from the stack) if we're backfilling or reading the reject queue and enough items are read from those sources to mean we don't attempt to access the checkpoint.
Annotated path through the code
The result is that start and end snapshot data in the persisted metadata can be incorrect leading to further issues following a warmup such as the following exception
WARNING 230: exception occurred in runloop during packet execution. Cookie info: {"packet":{"magic":"ClientRequest","opcode":"DCP_MUTATION","keylen":8,"extlen":31,"datatype":["JSON"],"vbucket":5,"bodylen":128,"opaque":"0x1","cas":1554424178889412040},"connection":"[ 1.2.3.4:38123 - 1.2.3.5:11209 (<ud>@ns_server</ud>) ]"} - closing connection: CheckpointManager::queueDirty: lastBySeqno not in snapshot range. vb:0 state:replica snapshotStart:140252238129664 lastBySeqno:1622306 snapshotEnd:1622506 genSeqno:No checkpointList.size():1
|
Attachments
For Gerrit Dashboard: MB-34173 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
109171,1 | MB-34173 - first draft - needs work on reading/writing metadata | vulcan | kv_engine | Status: ABANDONED | 0 | -1 |
109267,1 | MB-34173: 1/2 Persist a valid snapshot range during backfill | master | kv_engine | Status: ABANDONED | 0 | 0 |
109268,1 | MB-34173: 2/2 Check for illegal snapshot in vbstate document | master | kv_engine | Status: ABANDONED | 0 | 0 |
109269,7 | MB-34173: 1/2 Persist a valid snapshot range during backfill | vulcan | kv_engine | Status: MERGED | +2 | +1 |
109270,10 | MB-34173: 2/2 Check for illegal snapshot in vbstate document | vulcan | kv_engine | Status: MERGED | +2 | +1 |
109431,2 | MB-34173: Merge 'couchbase/vulcan' into 'couchbase/alice' | alice | kv_engine | Status: MERGED | +2 | +1 |
109496,7 | Merge 'couchbase/alice' into 'couchbase/master' | master | kv_engine | Status: MERGED | +2 | +1 |
109573,2 | MB-34173: Enforce start <= end in snapshot_range_t | master | kv_engine | Status: MERGED | +2 | +1 |
109625,17 | volume test for MB-34173 | master | Jython | Status: MERGED | +2 | +1 |
109684,2 | fixing volume test for MB-34173 | master | Jython | Status: MERGED | +2 | +1 |