thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig Artley <cart...@hotmail.com>
Subject Avoiding "client died" TTransportExceptions?
Date Tue, 19 May 2015 19:19:56 GMT
While doing some debugging of my server, I noticed that after my handler method returns, another
connection is received which immediately fails with an empty TTransportException. The exception
stack trace is below.

These are normally silently swallowed by empty catch blocks in TSimpleServer and TThreadPoolServer
that look like this
      } catch (TTransportException ttx) {
        // Client died, just move on   // Line 89, TSimpleServer.java
      }

Here's the exception.

org.apache.thrift.transport.TTransportException
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:362)
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:284)
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:191)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
    at com.foo.FooServerFactory$FooProcessor.process(FooServerFactory.java:165)
    at org.apache.thrift.server.TSimpleServer.serve(TSimpleServer.java:83)

My question is, am I doing something wrong to trigger this extra connection? This happens
when the service method returns in the client, before the client gets a chance to call TTransport.close.

  -craig
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message