shsun opened a new issue, #7415: URL: https://github.com/apache/rocketmq/issues/7415
### 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 OS: macOS-11.2.3 ### RocketMQ version rocketmq-all-5.1.3-bin-release ### JDK Version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) ### Describe the Bug transactionTimeout/transactionCheckMax/transactionCheckInterval work incorrectly! ### Steps to Reproduce 1. add the 3 properties in broker.conf ``` # NOTE 以下3个(transactionTimeout/transactionCheckMax/transactionCheckInterval)回查相关的设置似乎并不生效!!!!!! # 指定TM(producer)在指定秒内应将最终确认状态发送给TC(rocket-mq-broker),否则引发消息回查。默认为60秒。单位为毫秒. transactionTimeout=20000 # 指定最多回查次数,超过后将丢弃消息并记录错误日志。默认15次。15次后还没成功就回滚. transactionCheckMax=5 # 消息回查的时间间隔, 默认为60秒. 单位为毫秒. transactionCheckInterval=20000 ``` 2. start mqnamesrv, mqbroker and mqproxy one by one 3. send transaction-message but sleep 60-minutes in LocalTransaction to make the callback-function(TransactionChecker.check) be fired. 4. just return TransactionResolution.UNKNOWN in callback-function(TransactionChecker.check) 5. ### What Did You Expect to See? 1. the transactionTimeout is 20s 2. the callback-function(TransactionChecker.check) be fired 5 times. just as i set in the broker.conf 3. the transactionCheckInterval is 20s ### What Did You See Instead? Actually, i repeat my test-case 5 times with new 5 new topics, but got 5 different results. 1. the transactionTimeout in 25s~35s 2. sometimes the callback-function(TransactionChecker.check) be fired 17 times sometimes the callback-function(TransactionChecker.check) be fired 14 times sometimes the callback-function(TransactionChecker.check) be fired 15 times sometimes the callback-function(TransactionChecker.check) be fired twice in the same time, but the total times is 15. 3. the transactionCheckInterval is 30s, not 20s nor 60s. ### Additional Context In Chinese: 5次同样的测试, 得到5种不同结果。 -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
