GetLastCheckpointRequest和GetAllMutationTokensRequest之间的区别?

时间:2016-06-19 11:25:18

标签: couchbase couchbase-java-api

上面两个返回的序列号有什么区别? 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。

1 个答案:

答案 0 :(得分:1)

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

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