[ 
https://issues.apache.org/jira/browse/TEPHRA-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15589507#comment-15589507
 ] 

Andreas Neumann commented on TEPHRA-194:
----------------------------------------

To not break backward-compatibility of the thrift stubs, this should be done by:
- adding a new exception that can represent IllegalArgumentException (or other 
internal errors)
- adding a new method startShortWithTimeout() that throws the new exception
- change the TransactionServiceClient to use the new method

Old clients will remain compatible because their TransactionServiceClient calls 
the old method that is not changed. 

> Transaction client should not retry startShort() if an invalid timeout is 
> given 
> --------------------------------------------------------------------------------
>
>                 Key: TEPHRA-194
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-194
>             Project: Tephra
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.9.0-incubating, 0.10.0-incubating
>            Reporter: Andreas Neumann
>            Assignee: Andreas Neumann
>             Fix For: 0.10.0-incubating
>
>
> Currently, if an invalid timeout (negative, or too long) is given, the Tx 
> manager throws an IllegalArgumentException. The thrift client will catch that 
> and apply the retry strategy. However, in this case, retry is pointless, and 
> if the strategy is, for example, exponential backoff, if introduces 
> unneccessary load and latency. 
> The service should instead throw a meaningful exception for that, so that the 
> client knows not to retry. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to