0

What is difference in sequence number returned by above two ? AFAIK both return latest sequence number, which might not have been replicated or persisted to disk.

Difference I am aware of,

GetAllMutationTokensRequest returns values only for a single node. So calling it once for each node should be equivalent to GetLastCheckpointRequest.

GetLastCheckpointRequest returns 1 if no changes, GetAllMutationTokensRequest returns 0.

We use getCurrentState as shown in https://forums.couchbase.com/t/getallmutationtokensrequest-generates-incomplete-response/8166/2. For clusters which have failed over and rebalanced couple of times, it seems getCurrentState returns no changes from last call, even when there are changes. Earlier we used GetAllMutationTokensRequest, and it returned proper high sequence number. We are using core-io 1.2.8 .

Zxcv Mnb
  • 733
  • 8
  • 19

1 Answers1

1

After this fix https://github.com/couchbase/couchbase-jvm-core/commit/5953dc39d0c212109d951822497ea8d6bf3a4762 GetAllMutationTokensRequest properly broadcasted for every node, previous behaviour was due to the bug.

GetLastCheckpointRequest is different a bit, because it does not return the current sequence number, but rather seqno of last closed checkpoint, which might be different than the value returned by GetAllMutationTokensRequest

avsej
  • 3,822
  • 4
  • 26
  • 31