-
Notifications
You must be signed in to change notification settings - Fork 480
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BUG#24764113: TRANSACTION_CONTEXT_EVENT::WRITE_SET_LEN HAS NOT ENOUGH…
… INTEGER SIZE On Group Replication transactions are executed optimistically and then, at commit time, are checked for conflicts. If there are conflicts, in order to maintain consistency across the group, some transactions will be rolled back. In order to detect conflicts, at commit time, each transaction data and write sets are sent to all members. It was discovered that serialization of the write sets to the network format was limited by a 16 bits integer, which is not enough to hold the size of big transactions write sets. This was causing write sets to be trim and conflict detection unable to find conflicts. In order to fix the above issue, now we do use a 32 bit integer on Transaction_context_log_event write set length which can hold big transactions write sets. Since we are already changing Transaction_context_log_event, we did also fix the size of thread_id field from 64 to 32 bits.
- Loading branch information
1 parent
a8844a1
commit fa5bea7
Showing
3 changed files
with
21 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters