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 Mon, 17 Oct 2016 23:05:58 GMT

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

Mime
View raw message