【发布时间】:2016-05-05 13:14:18
【问题描述】:
我有一个包含许多不同节点的网络,每个节点都运行不同的 CouchDB 实例。 每个实例在 _replicator 数据库中都有文档,以设置与网络的其他一些节点的连续(主-主)复制。 这些节点可以在未定义的、不可预见的时间间隔内离线。 复制一切都很好,但是当节点离线时我遇到了超时问题。
CouchDB 文档说 (http://docs.couchdb.org/en/1.6.1/replication/replicator.html)
"当您将文档 PUT/POST 到 _replicator 数据库时,CouchDB 将尝试启动复制最多 10 次(可配置 在 [replicator] 下,参数 max_replication_retry_count)。如果它 第一次尝试失败,它会等待 5 秒,然后再进行第二次 试图。如果第二次尝试失败,它会等待 10 秒后再执行 第三次尝试。如果第三次尝试失败,则等待 20 秒 在进行第四次尝试之前(每次尝试都会使前一次等待加倍 期间)。”
当复制目标节点脱机(因此复制失败)时,日志文件会显示
在 5 秒内重新启动复制。 在 10 秒内重新启动复制。 在 20 秒内重新启动复制。 在 40 秒内重新启动复制。 在 80 秒内重新启动复制。 在 160 秒内重新启动复制。 在 320 秒内重新启动复制。 在 600 秒内重新启动复制。 在 600 秒内重新启动复制...(600 秒似乎是最大超时)
我需要加快连接丢失后恢复复制的速度。
这个值是否在 CouchDB 源中硬编码?
是否有一个参数可以将 600 间隔重新定义/覆盖为其他值?
【问题讨论】:
标签: couchdb replication connection-timeout