[SPY-76] increment failure is not received with synchronous client Created: 01/Feb/12  Updated: 07/Nov/14

Status: Open
Project: Spymemcached Java Client
Component/s: None
Affects Version/s: None
Fix Version/s: .next
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Michael Nitschinger
Resolution: Unresolved Votes: 0
Labels: None
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.

See also:
Generated at Thu Dec 18 07:43:11 CST 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.