我正在对持续时间进行分析,以使用 java 程序运行 couchdb 清除。couchdb 连接和调用使用 ektorp 处理。对于少数文档进行了清除,我收到了成功响应。
但是当我清除〜10000或更多时,我收到以下错误:
org.ektorp.DbAccessException: 500:Internal Server Error
URI: /dbname/_purge
Response Body:
{
"error" : "timeout",
"reason" : "{gen_server,call,
....
在使用 curl 命令检查数据库状态时,实际清除已经发生。但是这个超时不允许我在我的 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();