[ 
https://issues.apache.org/jira/browse/THRIFT-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Duxbury closed THRIFT-1302.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 0.8
         Assignee: Dave Watson

Committed.

>  thrift: raise an exception if send() times out in

> ---------------------------------------------------
>
>                 Key: THRIFT-1302
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1302
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>            Reporter: Dave Watson
>            Assignee: Dave Watson
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: 
> 0022-thrift-raise-an-exception-if-send-times-out-in-TSock.patch
>
>
> From 1f76284b5972ab01d6f6ac68f96024a8066a3b59 Mon Sep 17 00:00:00 2001
> From: Adam Simpkins <simpk...@fb.com>
> Date: Fri, 16 Apr 2010 17:43:21 +0000
> Subject: [PATCH 22/33] thrift: raise an exception if send() times out in
>  TSocket::write()
> Summary:
> Previously, if send() timed out in TSocket::write(), it would sleep for
> 50 microseconds and retry.  This essentially made the timeout set with
> setSendTimeout() useless.  Now it raises a TTransportException on
> timeout.
> TNonblockingServer does use TSocket with the fd manually put in
> non-blocking mode, and that could cause EWOULDBLOCK and EAGAIN to occur
> during normal operation.  However, it only uses write_partial() and
> never write(), so it should be safe to have write() throw the exception.
> Test Plan:
> Used the client and server in thrift/tutorial/cpp/async/sort/ to test
> sending a large message to the server.  I set a 100ms timeout in the
> client, and verified that it correctly times out now if the server
> process is stopped.
> I also ran [fb unittests] to try and verify that this doesn't negatively
> affect any other code.
> Revert Plan:
> OK
> ---
>  lib/cpp/src/transport/TSocket.cpp |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to