Thrift Java TNonBlockingServer随机挂起

时间:2017-01-31 23:51:09

标签: java c thrift

我有一个用Java实现的Thrift服务器,如下所示:

TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(getThriftPort(), 100);

TServer tserver = new TNonblockingServer(new TNonblockingServer.Args(serverTransport).processor(processor)
                    .inputProtocolFactory(new TBinaryProtocol.Factory())
                    .outputProtocolFactory(new TBinaryProtocol.Factory())
                    .transportFactory(new TFramedTransport.Factory()));

我的客户端在C中实现。此服务器主要用于从磁盘提供字节。在服务器决定随机挂起之前,请求似乎已经回答了一段时间。有关如何进一步调试此问题的任何提示?

在进程停滞后,如果我运行netstat,我会看到如下数据:

tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      186002/java     
tcp        0      0 127.0.0.1:9090          127.0.0.1:51813             ESTABLISHED 186002/java     
tcp        0      0 127.0.0.1:51814         127.0.0.1:9090          ESTABLISHED 186210/client 
tcp        0      0 127.0.0.1:51813         127.0.0.1:9090          ESTABLISHED 186210/client 
tcp        1      0 127.0.0.1:52515         127.0.0.1:9090          CLOSE_WAIT  -               
tcp        1      0 127.0.0.1:52514         127.0.0.1:9090          CLOSE_WAIT  -               
tcp       51      0 127.0.0.1:9090          127.0.0.1:51814         ESTABLISHED - 

1 个答案:

答案 0 :(得分:0)

我将关闭此问题,因为这可能与Thrift无关。如果我以后再提供,我会添加任何细节。