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

Reply via email to