2016-05-05 7 views
1

それぞれ異なるCouchDBインスタンスを実行する多数の異なるノードを持つネットワークがあります。 各インスタンスに_replicatorデータベース内のドキュメントがあり、ネットワークの他のノードとの連続(マスター/マスター)複製を設定します。 これらのノードは、予期しない未確認の時間間隔の間、オフラインになる可能性があります。 すべてはレプリケーションでうまくいきますが、ノードがオフラインになったときにタイムアウトに問題が発生します。CouchDB 1.6連続レプリケーション:接続失敗後にレジューム時間を設定する方法

CouchDBのドキュメントは、(http://docs.couchdb.org/en/1.6.1/replication/replicator.htmlを)言う

「あなたが/ POST _replicatorデータベースにドキュメントを置くとき、CouchDBの は[レプリケータ]の下で10回(設定 へのレプリケーションを起動しようとし、パラメータ最初の試行で が失敗した場合は、2回目の試行が失敗すると10秒間待ってから を3回試行し、3回目の試行で失敗した場合は20秒間待機します 4回目の試行を行う前にmptは以前の待機時間を2倍にします )。 "

複製ターゲットノードがオフラインになった(したがって、レプリケーションが失敗した)ログファイルが5秒でレプリケーションを再起動

を言います。 10秒後に複製を再開します。 20秒後に複製を再開します。 レプリケーションを40秒後に再開します。 レプリケーションを80秒間で再開します。 レプリケーションを160秒後に再開します。 レプリケーションを320秒後に再開します。 複製を600秒で再開します。 600秒で複製を再開する...(600秒が最大タイムアウトのようです)

接続が失われた後に複製がどのくらい速く再開するかを速くする必要があります。

この値はCouchDBソースでハードコーディングされていますか?

600間隔を別のものに再定義/上書きするパラメータはありますか?

答えて

0

CouchDB 1.xでは、初期遅延も最大遅延も変更できません。それらのそれぞれの値(2.5秒(直ちに2を5秒に与える600秒)はソースファイルcouch_replicator_manager.erlにハードコードされており、CouchDB自体を変更しない限り変更できません。

+0

これは私が恐れていたものです。サム・サミュエル、 – teo

関連する問題