[SPY-104] automatically retry some safe to retry operations Created: 17/Oct/12  Updated: 29/May/13

Status: Open
Project: Spymemcached Java Client
Component/s: library
Affects Version/s: 2.8.0, 2.8.1, 2.8.4
Fix Version/s: .next
Security Level: Public

Type: New Feature Priority: Minor
Reporter: Matt Ingenthron Assignee: Michael Nitschinger
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

At the moment, there are some operations which are safe to retry, but the client does not. Examples are get operations (always idempotent) or operations which receive error when being written to the network but haven't been fully written.

In he latter case, for example, we find out that the connection was dropped after we try to write to it It is accurate to say, in this case, that we know we've not written the whole operation to the network so it couldn't have been completed by the server. At the moment, we don't retry these kinds of operations.

In any event, the application error handling code needs to be the same. The reason for this is that we could have written the whole thing in one shot or we could write a bunch of data and end up later getting a timeout. The operations in there at the moment are considered "partially completed". There's no distinction on partially completed and not fully written (which would be safely retryable) from partially completed, fully written, waiting for a response (not safely retryable).

Generated at Sat Nov 22 20:16:49 CST 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.