私は、javaプログラムを使用してcouchdbパージを実行するための分析を実行しています。 couchdb接続と呼び出しは、ektorpを使用して処理されます。少数の文書ではパージが行われ、成功応答が返されます。couchdb gen_serverパージ中のコールタイムアウト
しかし、私は〜10000以上をパージするとき、私は次のエラーを取得:curlコマンドを使用してDBの状態を確認するには
org.ektorp.DbAccessException: 500:Internal Server Error
URI: /dbname/_purge
Response Body:
{
"error" : "timeout",
"reason" : "{gen_server,call,
....
を、実際のパージが行われました。しかし、このタイムアウトでは、例外がスローされるので、私のJavaプログラムでパージメソッドの実際の時刻を監視することはできません。
これは、erlang gen_serverプロセスのデフォルトのタイムアウト値によるものだと私は思っています。とにかくこれを修正するために私にはありますか?
StdHttpClientのタイムアウト値を無駄に変更しようとしました。
HttpClient authenticatedHttpClient = new StdHttpClient.Builder()
.url(url)
.username(Conf.COUCH_USERNAME)
.password(Conf.COUCH_PASSWORD)
.connectionTimeout(600*1000)
.socketTimeout(600*1000)
.build();
を上げることができないその基本的に、応答時間の期間にわたって収集削除されたデータの場合をありがとうございました。ディスクスペースを解放するための一度だけパージオプションを検討しています。 関連する質問:多数の削除されたドキュメントをパージしてデータが破損する可能性はありますか? – fsociety
時系列データの場合は、$間隔ごとのデータベースをお勧めします。したがって、以前の間隔のデータベースを単純に削除することができます。 データ破損:いいえ、CouchDBのすべてがappend_onlyとfsync()で安全です。 –