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

Do not pause IO Threads in the middle of an event group

    XMLWordPrintable

Details

    • Task
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • Replication
    • None

    Description

      It is dangerous if the IO thread pauses in the middle of an event group (e.g., transaction) and reconnects to (the middle of) a different group (such as one from a different server on the same web address).
      The current error guard relies on the 'G' in "GTID" to hold between servers, but two equivalent groups can have transparent differences, not to mention scenarios without this equivalence.
      It would have to compare event-by-event to be sure of a strict equality.

      But this error check can be avoided in the first place if the IO thread doesn't need to reconnect in the middle of an event group, including when handling crashes.

      One concern is that STOP SLAVE (IO_THREAD) can take a long time to finish a humongous event group.
      But such giant groups are bound to stall other components anyway.
      In comparison, the SQL thread already does not pause mid-group, but could rather abort the transaction instead.

      Attachments

        Issue Links

          Activity

            People

              ParadoxV5 Jimmy Hú
              ParadoxV5 Jimmy Hú
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.