Replies: 1 comment 5 replies
-
I understand that your design is to quickly trigger compensation for failed events by adding monitoring events for transaction end status results. But one thing needs to be made clear. The failure of transactions in the end status is most likely due to network and disk problems. Your compensation behavior may still fail within a certain time frame. And in your design, the process looks like a memory queue? In Seata's storage mode, only file and raft transaction data are in memory, while db and redis are external storage. So I think it may be more appropriate to compensate by timing tasks and delaying tasks. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The current transaction processing logic in Seata is well-structured and efficient. However, handling transactions in the TimeoutRollbacked and Rollbacked states can be further improved to enhance stability and efficiency.
Releated Issue
📌 Proposal: Enhanced Transaction Processing
To address these issues, I propose the following improvements
1️⃣ Transaction Queue Introduction
2️⃣ Enhanced Scheduler Functionality
3️⃣ Improved Rollback Processor
Sequence diagram
With this approach, we can effectively mitigate issues related to TimeoutRollbacked and Rollbacked transaction states, improving overall transaction management stability.
Looking forward to feedback and discussion on this proposal! 🚀
Beta Was this translation helpful? Give feedback.
All reactions