You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2022/06/07 08:37:25 UTC

[GitHub] [rocketmq] 6U-U9 opened a new issue, #4427: Design and Implement transaction message escape of RIP 32

6U-U9 opened a new issue, #4427:
URL: https://github.com/apache/rocketmq/issues/4427

   Design of transaction message escape
   When slave acts master, **transactionalMessageCheckService** will start, but its **EndTransactionProcessor** will not accept any message tries to end a transaction such as commit or rollback. The running **transactionalMessageCheckService** will check transaction message and the message checked will escape to the local master first through EscapeBridge. If not, they will escape to the remote master. When message escape to remote master, to keep that HALF TOPIC is not writable, message will first transform back to origin Topic.
   In terms of time, a transaction has to be checked twice before commit or rollback, which may cause a delay up to 120 second.
   In terms of data volume, if a large number of transaction messages on the broker is waiting on the broker , remote escape will cause large data flow within the cluster
   
   事务消息逃逸机制设计
   Slave代理Master时,transactionalMessageCheckService将启动,但是EndTransactionProcessor不会接受事务消息的提交。transactionalMessageCheckService将检查到的事务消息通过EscapeBridge优先往本地Master逃逸,若没有则向远程的Master逃逸。向远程的Master逃逸时,为了避开HALF TOPIC不可写的限制,将消息转换回原Topic并重新投递。
   时间上一条事务消息需要经过slave的transactionalMessageCheckService和逃逸到的master的transactionalMessageCheckService两次检查才能完成提交,延时最多120秒。数据量上如果该broker上有大量的事务消息等待检查,远程逃逸会造成集群内部会有较大数据流转。


-- 
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: dev-unsubscribe@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] github-actions[bot] closed issue #4427: Design and Implement transaction message escape of RIP 32

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed issue #4427: Design and Implement transaction message escape of RIP 32
URL: https://github.com/apache/rocketmq/issues/4427


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] github-actions[bot] commented on issue #4427: Design and Implement transaction message escape of RIP 32

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #4427:
URL: https://github.com/apache/rocketmq/issues/4427#issuecomment-1595502804

   This issue was closed because it has been inactive for 3 days since being marked as stale.


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] 6U-U9 commented on issue #4427: Design and Implement transaction message escape of RIP 32

Posted by GitBox <gi...@apache.org>.
6U-U9 commented on issue #4427:
URL: https://github.com/apache/rocketmq/issues/4427#issuecomment-1150621486

   Add some details about escape mechanism of message which shall be discarded
   Actually it's like the remote message escape mechanism. When discarding messages, Rocket MQ puts messages into **RMQ_SYS_TRANS_CHECK_MAX_TIME_TOPIC**, which is a not allowed to send topic in topic validator. For the remote escape of these messages, first wrap them in their origin topic with transaction check time, and send it to other master broker. As messages bring **PROPERTY_TRANSACTION_CHECK_TIMES** with them, master broker received these message first put them into half topic queue and discard them in next check.
   
   更新应丢弃消息的逃逸机制的说明
   应丢弃的消息逃逸机制和正常消息的逃逸机制相似。为了避免**RMQ_SYS_TRANS_CHECK_MAX_TIME_TOPIC**远程不可写的限制,首先将半消息用原Topic包装,此时消息仍携带**PROPERTY_TRANSACTION_CHECK_TIMES**属性,然后再投递到远程主节点上。收到消息的主节点将消息放入半消息队列**RMQ_SYS_TRANS_HALF_TOPIC**等待检查,在下一次检查中,将消息丢弃。


-- 
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: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] 6U-U9 closed issue #4427: DesignImplement transaction message escape of RIP 32

Posted by GitBox <gi...@apache.org>.
6U-U9 closed issue #4427: DesignImplement transaction message escape of RIP 32
URL: https://github.com/apache/rocketmq/issues/4427


-- 
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: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] hzh0425 commented on issue #4427: Design and Implement transaction message escape of RIP 32

Posted by GitBox <gi...@apache.org>.
hzh0425 commented on issue #4427:
URL: https://github.com/apache/rocketmq/issues/4427#issuecomment-1148437153

   Good job, however, But does your contribution overlap with this issue? https://github.com/apache/rocketmq/issues/4408


-- 
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: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq] github-actions[bot] commented on issue #4427: Design and Implement transaction message escape of RIP 32

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #4427:
URL: https://github.com/apache/rocketmq/issues/4427#issuecomment-1590231037

   This issue is stale because it has been open for 365 days with no activity. It will be closed in 3 days if no further activity occurs.


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org