tephra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Neumann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TEPHRA-194) Transaction client should not retry startShort() if an invalid timeout is given
Date Wed, 19 Oct 2016 18:47:58 GMT

    [ 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)

Mime
View raw message