Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.11.0
-
None
-
None
Description
In situation with 2 replicas where both are configured in semi-sync and when ack-thread is stopped Rpl_semi_sync_master_request_ack and we switch from slave to master, result returned is false empty value, while debugging it still holds proper value.
The PR 2374 introduced debug point pause_ack_thread_on_next_ack for testing pausing the ACK thread.
This same PR test failure is obtained in test 6, when rebasing from latest changes MDEV-32551.
Result before rebasing was as expected that value will be visible in SELECT and you can see that situation in commit result before rebase
show status like 'Rpl_semi_sync_master_request_ack'; |
Variable_name Value
|
Rpl_semi_sync_master_request_ack 3
|
While, after rebase we have this result
connection master; |
# Check request_ack right |
show variables like 'Rpl_semi_sync_master_request_ack'; |
Variable_name Value
|
Debugging in gdb I have seen that this value is internally unchanged, but the client doesn't receive proper value, possible race condition.
Attachments
Issue Links
- relates to
-
MDEV-21322 report slave progress to the master
- Stalled