Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Skip response unpacking for END_LOCK_SESSION request
Master processes END_LOCK_SESSION request and sends back an obligation with txId. Slave is responsible to pull all transactions up to that txId. Stop of a SlaveLocksClient, with tx termination aware locks enabled, sends END_LOCK_SESSION request to the master. This is done to make sure master kills the lock session for a terminated or closed transaction. Safe id freeing for HA slaves involves transaction termination to avoid potentially unsafe transactions and dirty reads. Such transactions are terminated as part of update pulling. When tx termination aware locks were turned on, update pulling terminated transactions and tried to unpack the END_LOCK_SESSION response. This basically caused update pulling to call itself and hang waiting for an obligation. This commit fixes the issue by making END_LOCK_SESSION not unpack the response. This is safe to do because committed transaction pulls as part of the COMMIT request, rolled back and terminated transactions do not care about pulling because they do not change store and do not read any more.
- Loading branch information
Showing
4 changed files
with
210 additions
and
27 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
Oops, something went wrong.