[SPY-76] increment failure is not received with synchronous client Created: 01/Feb/12 Updated: 25/Feb/14
|Project:||Spymemcached Java Client|
|Reporter:||Matt Ingenthron||Assignee:||Michael Nitschinger|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
From the bug reporter:
I've been experimenting with a 3 node membase (1.7.1) cluster using spymemcached client version 2.7.3. I've noticed that while performing increments (non-async) and taking down a node to simulate failure (without failing over) that
the increment operation actually fails silently. The return value of the increment operation during this scenario is 0 which is actually wrong. I would expect an exception to be thrown (or a -1 based on the docs) since the operation did not succeed. The spymemcached client logs do show that the client is aware of the connection problem. Is this expected behavior?
Looking in the spymemcached code (specifically within one of the mutate functions in MemcachedClient) it looks like the callback to OperationCallback.complete() can occur without OperationCallback.receivedStatus() happening and I think this is causing the 0 to be returned.