Affects Version/s: 1.0, 1.0.1, 1.0.2
Fix Version/s: 1.0.3
Security Level: Public
It's been found that the incorrect connection type is being served up for memcached bucket types. The CouchbaseConnection is being created by the ConnectionFactory not the MemcachedConnection.
As a result, when the cluster is in a condition where the node responsible for a given operation is down, the alternate node would be correctly requested but upon the node map being rebuilt, no operations are sent back to that node and the connection is therefore never reestablished.
1. Start the loadgen which will store keys in the cluster in "default" memcached bucket. The loadgen iterates through the keys to verify it is able to retrieve them.
2. After a min, in UI console, "failover" one node and then rebalance
3. After a min, in UI console, add the node back to the cluster using "Add server" and click on rebalance again.
4. Verify the keys are getting stored on all nodes in cluster
It's at step 4 things currently fail.
|For Gerrit Dashboard: &For+JCBC-53=message:JCBC-53|
|16335,3||Make queueReconnect protected so subclasses can request reconnects.||spymemcached||Status: MERGED||+2||+1|
|16337,7||Use the correct Connection type for the config. JCBC-53||couchbase-java-client||Status: MERGED||+2||+1|
|19690,5||Merge branch 'release10'||couchbase-java-client||Status: MERGED||+2||+1|