[Bug] Transaction producer didn't receive CheckTransacationState request of pending message
- Dominant language
- Java
- Stars
- 22.6k
- Forks
- 12k
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 27
Description
### Before Creating the Bug Report
- [X] I found a bug, not just asking a question, which should be created in [GitHub Discussions](https://github.com/apache/rocketmq/discussions).
- [X] I have searched the [GitHub Issues](https://github.com/apache/rocketmq/issues) and [GitHub Discussions](https://github.com/apache/rocketmq/discussions) of this repository and believe that this is not a duplicate.
- [X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
### Runtime platform environment
unreleated
### RocketMQ version
5.x
### JDK Version
1.8
### Describe the Bug
In transaction message scenario, the first time execution result was UNKNOW. We expected to receive broker's check request later, but did not.
### Steps to Reproduce
1. Startup server in proxy cluster mode
2. Startup a remoting TransactionProducer
3. Sleep 5 seconds before sending one transaction message, and return UNKNOW in TransactionListener#executeLocalTransaction
4. Keep TransactionProducer running and don't send more messages
5. Observe whether TransactionListener#checkLocalTransaction will be called
### What Did You Expect to See?
TransactionListener#checkLocalTransaction will be called
### What Did You See Instead?
TransactionListener#checkLocalTransaction has not been called
### Additional Context
_No response_
Contributor guide
Research direction
Reproduce the scenario in proxy cluster mode with a remoting TransactionProducer, returning UNKNOW from TransactionListener#executeLocalTransaction and waiting for TransactionListener#checkLocalTransaction. Trace the broker check-request path for a pending transaction, then verify that the callback is received without sending additional messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100