morningman opened a new issue #5613:
URL: https://github.com/apache/incubator-doris/issues/5613


   **Describe the bug**
   In some high-concurrency scenarios, FE will occasionally show `Channel 
inactive error`
   
   ```
   java.util.concurrent.ExecutionException: A error occurred: errorCode=2001 
errorMessage:Channel inactive error!
           at 
com.baidu.jprotobuf.pbrpc.client.ProtobufRpcProxy$2.get(ProtobufRpcProxy.java:551)
 ~[jprotobuf-rpc-core-3.5.21.jar:?]
           at 
org.apache.doris.qe.Coordinator.sendFragment(Coordinator.java:516) 
~[palo-fe.jar:3.4.0]
           at org.apache.doris.qe.Coordinator.exec(Coordinator.java:444) 
~[palo-fe.jar:3.4.0]
           at 
org.apache.doris.qe.StmtExecutor.handleQueryStmt(StmtExecutor.java:820) 
~[palo-fe.jar:3.4.0]
           at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:337) 
~[palo-fe.jar:3.4.0]
           at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:284) 
~[palo-fe.jar:3.4.0]
           at 
org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:206) 
~[palo-fe.jar:3.4.0]
           at 
org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:344) 
~[palo-fe.jar:3.4.0]
           at 
org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:545) 
~[palo-fe.jar:3.4.0]
           at 
org.apache.doris.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:50)
 ~[palo-fe.jar:3.4.0]
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[?:1.8.0_131]
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[?:1.8.0_131]
           at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
   Caused by: com.baidu.jprotobuf.pbrpc.ErrorDataException: A error occurred: 
errorCode=2001 errorMessage:Channel inactive error!
           at 
com.baidu.jprotobuf.pbrpc.client.ProtobufRpcProxy.doWaitCallback(ProtobufRpcProxy.java:625)
 ~[jprotobuf-rpc-core-3.5.21.jar:?]
           at 
com.baidu.jprotobuf.pbrpc.client.ProtobufRpcProxy.access$000(ProtobufRpcProxy.java:51)
 ~[jprotobuf-rpc-core-3.5.21.jar:?]
           at 
com.baidu.jprotobuf.pbrpc.client.ProtobufRpcProxy$2.get(ProtobufRpcProxy.java:549)
 ~[jprotobuf-rpc-core-3.5.21.jar:?]
           ... 12 more
   ```
   
   We are currently using jprotobuf as the java client of brpc. No suitable 
solution has been found for this problem.
   
   brpc already supports grpc client access in the new version, so we decided 
to replace jprotobuf with grpc client.
   
   After testing, in high concurrency scenarios, grpc client performance is 
stable, and the performance is the same as before.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to