0

以上两个返回的序列号有什么区别?AFAIK 都返回最新的序列号,该序列号可能没有被复制或保存到磁盘。

我知道的差异,

GetAllMutationTokensRequest 仅返回单个节点的值。所以对每个节点调用一次应该相当于GetLastCheckpointRequest。

如果没有变化,GetLastCheckpointRequest 返回 1,GetAllMutationTokensRequest 返回 0。

我们使用 getCurrentState,如https://forums.couchbase.com/t/getallmutationtokensrequest-generates-incomplete-response/8166/2所示。对于已经故障转移和重新平衡了几次的集群,getCurrentState 似乎没有从上次调用返回任何更改,即使有更改也是如此。之前我们使用了 GetAllMutationTokensRequest,它返回了正确的高序列号。我们正在使用 core-io 1.2.8 。

4

1 回答 1

1

在此修复https://github.com/couchbase/couchbase-jvm-core/commit/5953dc39d0c212109d951822497ea8d6bf3a4762 GetAllMutationTokensRequest为每个节点正确广播后,之前的行为是由于该错误。

GetLastCheckpointRequest有点不同,因为它不返回当前序列号,而是最后关闭的检查点的 seqno ,这可能与返回的值不同GetAllMutationTokensRequest

于 2016-06-19T19:19:13.050 回答