You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "cfers neo (Jira)" <ji...@apache.org> on 2021/09/30 08:23:00 UTC

[jira] [Created] (THRIFT-5466) help! how to implement a high-efficiency long connection to thrift server?

cfers neo created THRIFT-5466:
---------------------------------

             Summary: help!  how to implement a high-efficiency long connection to thrift server?
                 Key: THRIFT-5466
                 URL: https://issues.apache.org/jira/browse/THRIFT-5466
             Project: Thrift
          Issue Type: Improvement
          Components: C++ - Library
    Affects Versions: 0.15.0
            Reporter: cfers neo
             Fix For: 0.16.0
         Attachments: image-2021-09-30-16-18-23-861.png

【version: 0.15.0  language: c++】as you know,  for long connection, all generated thrift servers (noblocking server, threadpool server...)  cannot handle multi requests from the same client at the same, the server processor always performs the loop pattern at the same thread:

read message  ->  dispatch call  ->  execute user's virtual funciton implement -> return exec result -> write message

but,  if i send reqA  and reqB by the same concurrent client in two different threads ,  and server will cost more time while handling reqA,  this will result in,  I can not get reqB's result before reqA is handled by server,   unbelievable !

help me fix it. thanks~

besides , in file: TNonblockingServer.cpp, row: 625 , desc:" we're still waiting for the ...." why we must wait the threadmanger to finish? !image-2021-09-30-16-18-23-861.png!

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)