apache / apache/incubator-seata
seata-server.log __ rm client is not connected.
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
seata-server 线上环境日志经常打印此异常
2020-07-29 17:16:25.917 ERROR[AsyncCommitting_1]io.seata.server.coordinator.DefaultCore.doGlobalCommit:218 -Exception committing branch BR:2041145439/2041145433
java.lang.RuntimeException: rm client is not connected. dbkey:jdbc:mysql://xxx3:3306/xxx,clientId:demand-service:192.168.65.xx:43244
at io.seata.core.rpc.netty.RpcServer.sendSyncRequest(RpcServer.java:112)
at io.seata.core.rpc.netty.RpcServer.sendSyncRequest(RpcServer.java:164)
at io.seata.server.coordinator.AbstractCore.branchCommitSend(AbstractCore.java:164)
at io.seata.server.coordinator.AbstractCore.branchCommit(AbstractCore.java:154)
at io.seata.server.coordinator.DefaultCore.doGlobalCommit(DefaultCore.java:186)
at io.seata.server.coordinator.DefaultCoordinator.handleAsyncCommitting(DefaultCoordinator.java:345)
at io.seata.server.coordinator.DefaultCoordinator.lambda$init$3(DefaultCoordinator.java:399)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
### Ⅱ. Describe what happened
暂不详知
### Ⅲ. Describe what you expected to happen
找到发生此异常的原因,避免下次出现,解决问题
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
业务系统线上问题,暂无复现场景
### Ⅴ. Anything else we need to know?
无
### Ⅵ. Environment:
- JDK version : 1.8
- OS : 2.6.32-431.el6.x86_64
- Others: seata-server 1.2.0
Contributor guide
Research direction
Start with the stack-trace entry points io.seata.core.rpc.netty.RpcServer.sendSyncRequest and io.seata.server.coordinator.AbstractCore.branchCommitSend, then inspect how the RM client connection is handled during branch commit. A reproducible case is still needed; done means identifying the cause of the disconnected client error and preventing or correctly handling the recurring production failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mysql
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100