oplog 項目の検索不可

送信複製のエポック番号マトリックスが oplog 項目のセットと一致しない場合、syncreplica -export コマンドに失敗することがあります。

以下の警告メッセージが表示されて、syncreplica -export コマンドに失敗することがあります。

Multiutil: エラー : 'family' データベースに、oplog-ID oplog-ID を介して
複製 'site' からエクスポートされた oplog 項目があります。 次にエクスポートする oplog-ID は
oplog-ID です。これは oplog-ID でなければなりません。
oplog 項目の不一致は、oplog 項目が失われていることを示します。
このエラーが発生するのは、送信複製のエポック番号マトリックスが、oplog 項目セットと一致しない場合です。 たとえば、次のように指定します。

この矛盾は、予測された状態であることがあります。たとえば、ファミリーの同期パターンを変更すると、過去に相互通信しなかった複製が更新パケットを交換します。 2 つの複製を同期すると (syncreplica -export の後に syncreplica -import を実行すると)、送信複製と受信複製のエポック番号マトリックス行が更新されますが、他の複製の行は変更されません。2 つの複製が更新を相互に直接送信することがめったに (またはまったく) ない場合、エポック番号マトリックスの関連行は、期限切れになります (通常はすべてゼロで構成)。 これは、複製が操作を間接的に (ハブ複製をなどを介して) 受信する限り、問題になりません。

この場合は、chepoch コマンドを使用して、sydneybuenosaires の状態を通知する必要があります。これは、標準同期メカニズムで sydney が受信しなかった情報です。 この情報を使用すると、sydneybuenosaires に送信する oplog 項目を判別できます。

この状態は、その他の複製に oplog 項目を送信する前に、scruboplog コマンドを使用してこれらを削除した場合に、発生することがあります。 すべての複製で oplog を消し込む前に、ファミリー内の複製が同期されていることを確認する必要があります。

関連概念
データベースの操作ログ
複製のパラメータの消し込み
関連資料
syncreplica
chepoch
scruboplog

フィードバック