0

上記の 2 つによって返されるシーケンス番号の違いは何ですか? 私の知る限り、どちらも最新のシーケンス番号を返しますが、これは複製されていないか、ディスクに永続化されていない可能性があります。

私が認識している違いは、

GetAllMutationTokensRequest は、単一ノードの値のみを返します。したがって、ノードごとに 1 回呼び出すことは、GetLastCheckpointRequest と同等である必要があります。

変更がない場合、GetLastCheckpointRequest は 1 を返し、GetAllMutationTokensRequest は 0 を返します。

https://forums.couchbase.com/t/getallmutationtokensrequest-generates-incomplete-response/8166/2に示されているように、getCurrentState を使用します。フェイルオーバーとリバランスを数回行ったクラスターの場合、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 に答える