You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix DocKey::to_string() parsing of queued_item's keys
Currently we don't parse the key of a empty, checkpoint_start,
set_vbucket_sate and checkpoint_end keys correctly. For example the
below checkpoint dump shows that we crop the first few chars and
interpret them as leb128 values:
{2803,empty,cid:0x1:0x65:0x6d:pty,118,[m]}
{2803,checkpoint_start,cid:0x1:0x63:0x68:eckpoint_start,129,[m]}
{2803,system_event[d],cid:0x1:0x0:0x385:_collection,176,}
{2804,set_vbucket_state,cid:0x1:0x73:0x65:t_vbucket_state,241,[m]}
{2804,checkpoint_end,cid:0x1:0x63:0x68:eckpoint_end,127,[m]}
With this patch:
{2803,empty,cid:0x1:empty,118,[m]}
{2803,checkpoint_start,cid:0x1:checkpoint_start,129,[m]}
{2803,system_event[d],cid:0x1:0x0:0x385:_collection,176,}
{2804,set_vbucket_state,cid:0x1:set_vbucket_state,241,[m]}
{2804,checkpoint_end,cid:0x1:checkpoint_end,127,[m]}
To also ensure we parse system events correctly, this patch moves enum
Class SystemEvent to include/memcached/systemevent.h so that it can be
accessed by dockey.cc.
This patch also clang-tidys some lines in checkpoint_test.cc and also
adds test to ensure correct parsing of all types of items.
Change-Id: I31db2826316f60b068f7e9370e488f0df0ae4324
Reviewed-on: http://review.couchbase.org/c/kv_engine/+/141044
Reviewed-by: Dave Rigby <[email protected]>
Tested-by: Build Bot <[email protected]>
0 commit comments