我正在研究以下场景:获取/设置操作到Couchbase时关闭节点(虚拟机上的电源关闭)。之后,我打开机器并等待Couchbase节点恢复。当节点的状态变为“正常”时,我希望客户端重新连接并获取/设置操作继续。但有时会立即重新连接客户端,有时不会在几分钟内发生。
所以我的问题是: 服务器端或客户端是否有一些配置可以保证完全重新连接客户端?
我使用JavaSDK。
一小部分: Couchbase客户端基于spymemcached客户端。如果有人知道memcached的任何提示,这可以解决问题,我会很高兴看到它们。
另外一个补充:
客户端在此异常后停止尝试建立连接:
Exception in thread "Thread-122" java.lang.IllegalStateException: Got empty SASL auth mech list. 11:59:25,731 ERROR [stderr] (Thread-122) at net.spy.memcached.auth.AuthThread.listSupportedSASLMechanisms(AuthThread.java:99) 11:59:25,731 ERROR [stderr] (Thread-122) at net.spy.memcached.auth.AuthThread.run(AuthThread.java:112)
但我无法理解,为什么这种异常会不规则地发生。
答案 0 :(得分:0)
这是CouchbaseServer响应的一个小错误。这是spymemcached客户端开发人员的discussion问题。当我在这个客户端硬编码一些字符串时,问题就解决了。