couchbaselabs/go-couchbase — pull request #31 by DenizPiri (2013-10-26 23:18:16+00:00)
Title: Refresh topology in case of generic errors in Do().

This fixes the cases where Do() didn't handle failed over nodes. Because in case of failing over a node, gomemcached return EOF, in case of killing the node's couchbase process, we get connection errors. Currently, in these cases client will try to refresh the topology every 3 seconds. This way, when we manually fail the node over or automatic failover kicks in, topology is refreshed and everything works normally. Previously, it was returning errors forever until a rebalance was done, causing a NOT_MY_VBUCKET error.