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
                                          

Reply via email to