Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-33614

Rpl_semi_sync_master_request_ack not showing result after stopping the ACK thread

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.11.0
    • None
    • Replication
    • 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

          Activity

            People

              Unassigned Unassigned
              anel Anel Husakovic
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.