Hi,
I have a thrift java server and a ruby client. after making few successful
calls to the server using the same request, the client would hang on a call
all of a sudden. netstat shows that the connection is established.
when i do jstack on the server, i see this -

"Thread-6" prio=10 tid=0x00007f1678373000 nid=0x657f runnable
[0x00007f166e049000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:146)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
        - locked <0x00000000c02b8710> (a java.io.BufferedInputStream)
        at
org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
        at
org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
        at
org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378)
        at
org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297)
        at
org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204)
        at
com.akanksh.information.AkStats$Processor.process(AkStats.java:424)
        at
org.apache.thrift.server.TSimpleServer.serve(TSimpleServer.java:116)
        at mypackage.myAPIServer.apiServer(apiServer.java:168)
        at mypackage.apiServer$1.run(apiServer.java:155)
        at java.lang.Thread.run(Thread.java:636)

i am not sure if its a server problem where it is not reading all the data
that has been sent by the client or if the client hasn't sent the complete
request yet. this is a very simple setup - single threaded java thrift
server and no other load on the system.

ill really appreciate if somebody could help.
thanks
vinod

Reply via email to