Details
Description
get(tmo) should not change the underlying state of the command to being timed out. It should simply respond with a TimeoutException but allow the command to continue.
Specifically, when the arg-tmo (timeout passed as an argument) expires, the underlying command is marked as timed out. For example, if one waits for 50ms on the command and a response has not been received within that time, the command is now dead ('TIMEDOUT', or similar) and waiting again will not help.
It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in 'BIG RED LETTERS' in the get(tmo) method.
Specifically, when the arg-tmo (timeout passed as an argument) expires, the underlying command is marked as timed out. For example, if one waits for 50ms on the command and a response has not been received within that time, the command is now dead ('TIMEDOUT', or similar) and waiting again will not help.
It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in 'BIG RED LETTERS' in the get(tmo) method.
Issue Links
- blocks
-
JCBC-114
Command Futures never receive results after rebalance-out (or other sorts of topology/network changes)
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
Matt Ingenthron
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Raghavan Srinivas [ rags ] | Mark Nunberg [ mnunberg ] |
Matt Ingenthron
made changes -
| Fix Version/s | 1.1 [ 10274 ] |
Mark Nunberg
made changes -
| Assignee | Mark Nunberg [ mnunberg ] | Michael Nitschinger [ daschl ] |
| Description |
get(tmo) should not change the underlying state of the command to being timed out. It should simply respond with a TimeoutException but allow the command to continue.
It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in 'BIG RED LETTERS' in the get(tmo) method. |
get(tmo) should not change the underlying state of the command to being timed out. It should simply respond with a TimeoutException but allow the command to continue.
Specifically, when the arg-tmo (timeout passed as an argument) expires, the underlying command is marked as timed out. For example, if one waits for 50ms on the command and a response has not been received within that time, the command is now dead ('TIMEDOUT', or similar) and waiting again will not help. It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in 'BIG RED LETTERS' in the get(tmo) method. |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1-dp4 [ 10390 ] | |
| Fix Version/s | 1.1 [ 10274 ] |
Michael Nitschinger
made changes -
| Assignee | Michael Nitschinger [ daschl ] | Mark Nunberg [ mnunberg ] |
Matt Ingenthron
made changes -
Matt Ingenthron
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Won't Fix [ 2 ] |
Mark Nunberg
made changes -
| Resolution | Won't Fix [ 2 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
Mark Nunberg
made changes -
| Summary | OperationFuture.get(tmo) should not change state when timeout has been reached | mention that OperationFuture.get(tmo) changes state when timeout has been reached |
| Component/s | docs [ 10141 ] | |
| Component/s | library [ 10140 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1-dp5 [ 10410 ] | |
| Fix Version/s | 1.1-dp4 [ 10390 ] |
Matt Ingenthron
made changes -
| Assignee | Mark Nunberg [ mnunberg ] | Michael Nitschinger [ daschl ] |
Michael Nitschinger
made changes -
| Issue Type | Bug [ 1 ] | Improvement [ 4 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1beta [ 10370 ] | |
| Fix Version/s | 1.1-dp5 [ 10410 ] |
Matt Ingenthron
made changes -
| Fix Version/s | 1.1.0 [ 10274 ] | |
| Fix Version/s | 1.1-beta [ 10370 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.1 [ 10430 ] | |
| Fix Version/s | 1.1.0 [ 10274 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.2 [ 10480 ] | |
| Fix Version/s | 1.1.1 [ 10430 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.3 [ 10496 ] | |
| Fix Version/s | 1.1.2 [ 10480 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.4 [ 10514 ] | |
| Fix Version/s | 1.1.3 [ 10496 ] |
Michael Nitschinger
made changes -
| Planned Start | (set to new fixed version's start date) | |
| Planned End | (set to new fixed version's start date) |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.5 [ 10515 ] | |
| Fix Version/s | 1.1.4 [ 10514 ] |
Michael Nitschinger
made changes -
| Planned Start | (set to new fixed version's start date) | |
| Planned End | (set to new fixed version's start date) |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.6 [ 10531 ] | |
| Fix Version/s | 1.1.5 [ 10515 ] |
Michael Nitschinger
made changes -
| Fix Version/s | 1.1.7 [ 10532 ] | |
| Fix Version/s | 1.1.6 [ 10531 ] |