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

Hudson commented on THRIFT-3797:
--------------------------------

SUCCESS: Integrated in Thrift-precommit #451 (See 
[https://builds.apache.org/job/Thrift-precommit/451/])
THRIFT-3797 Generated Delphi processor shouldn't error out on timed out (jensg: 
[https://github.com/apache/thrift/commit/f5972c9682744014c9d825c3ccd9200e44449c6e])
* compiler/cpp/src/generate/t_delphi_generator.cc


> Generated Delphi processor shouldn't error out on timed out exceptions
> ----------------------------------------------------------------------
>
>                 Key: THRIFT-3797
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3797
>             Project: Thrift
>          Issue Type: Bug
>          Components: Delphi - Compiler
>            Reporter: Kyle Johnson
>            Assignee: Kyle Johnson
>             Fix For: 0.10.0
>
>
> When the generated service processor waits on a new message to arrive in the 
> TProcessorImpl.Process() function, it treats all exceptions identically, 
> causing the function to return False when an exception is raised.  When 
> returning false, the server treats this as an error, aborts the processing 
> loop and subsequently aborts the connection, tears down all connection 
> information and then waits for a new connection.
> However, this is undesired in the situation where a message hasn't arrived 
> for longer than the configured timeout of the connection.  In this instance, 
> the server shouldn't consider the timeout to be an error, because it is 
> desired to have the server continue running even when an RPC call hasn't been 
> received in longer than the duration of the timeout.
> The patch fixes this issue by catching the timeout exception and returning 
> success even when a timeout occurs, allowing the server to continue execution 
> with the current connection.  This behavior mirrors what happens in the C++ 
> library in TConnectedClient.cpp, where in TConnectedClient.run(), TIMED_OUT 
> exception types don't cause the processing loop to abort.



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

Reply via email to