You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tephra.apache.org by "Andreas Neumann (JIRA)" <ji...@apache.org> on 2016/10/17 23:05:58 UTC

[jira] [Commented] (TEPHRA-194) Transaction client should not retry startShort() if an invalid timeout is given

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

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

Question: ideally we will introduce a new exception in the thrift layer (such as TIllegalArgumentException), that the client can catch and then rethrow as an IllegalArgumentException. That will also make the thrift client throw the same exception as the in-memory client (which directly passes through the IllegalArgumentException fromthe tx manager). 

Is there any concern with updating the thrift definitions to include a new exception and a throws clause for startShort()? This may make the thrift client wire-incompatible with a thrift service of a previous version. 


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