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

refactor XA binlogging for better integration with BGC/replication/recovery

Details

    • Task
    • Status: In Progress (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 12.0
    • Replication, XA
    • None

    Description

      The task is to improve on MDEV-742 design of the XA binlogging.
      When binlog is ON, execute XA-{prepare, commit, rollback} via
      MYSQL_BIN_LOG::run_ordered_commit, so that at the end of binlog_{prepare, commit, rollback} the operation over the xa transaction is completed as far as (parallel) replication/recovery is concerned. Specifically its XID is available for next use, incl for
      xa-complete by another slave parallel commit/rollback or xa-start of a new same xid transaction.

      Attachments

        1. bug1.txt
          4 kB
        2. bug10.txt
          6 kB
        3. bug2.txt
          3 kB
        4. bug3.txt
          3 kB
        5. bug4.txt
          0.5 kB
        6. bug5.txt
          7 kB
        7. bug6.txt
          5 kB
        8. bug7.txt
          7 kB
        9. bug8.txt
          6 kB
        10. bug9.txt
          5 kB

        Issue Links

          Activity

            Elkin Andrei Elkin added a comment - - edited

            Some important update is reported to validate this MDEV's role. The ver1 of MDEV-31949 is finally proven to provide performance.

            Elkin Andrei Elkin added a comment - - edited Some important update is reported to validate this MDEV's role. The ver1 of MDEV-31949 is finally proven to provide performance.
            Elkin Andrei Elkin added a comment - - edited

            Roel, now that I am about to publish the final branch for review, these 1-10 needs checking on my branch.
            But first I need to reproduce them on bb-10.6-MDEV-32830-qa, and that's enough to fix them if anything on
            my current branch which is just slightly different.

            So I need now methods how to reproduce.
            Not for all I believe as I am not sure whether the cases 2,5,7,8 have anything to do with my branch.
            Their load need to be tried on the vanilla 10.6 before to bundle with the rest, or better as I am used to do some
            Jira search
            that gives away the 8th at once in the MDEV-24558 summary.
            I did not exercise search for the rest, but of course it needs to be done before the 10.6 would be tried.

            To the rest,
            the case #3 - an ALTER stack - is rather doubtful that is due to my branch, but there may a core file still exists.
            Please provide access to it and its env/machine then, or at least gdb thr all bt from it, after that I might be able to say more, whether it indeed the vanilla 10.6 client too.
            The case #4 does not feature any good bug report,
            though it claimed there was a core file. Please share with me - as gdb thr all bt to start with - if one is there still.

            The 1 and 6 looks to be the same `rollback to savepoint a`, ideally I need an mtr test, bu any other way to reproduce would do for me,
            incl rr.
            As a general note, along with the stacks all other piece of evidence are necessary to provide. In our case that would be
            the var-dir. I beg to attach those next time.
            Now consider share that alone in this `rollback to savepoint` when reproducing turns too tedious.
            The same applies to the case #9 - at least the vardir is needed.
            Please attend to 1+6 and 9 first so I'd move on with their analysis.

            The case #10 is most probably a variant of MDEV-32455/MDEV-32347.
            I am looking into that route.

            Elkin Andrei Elkin added a comment - - edited Roel , now that I am about to publish the final branch for review, these 1-10 needs checking on my branch. But first I need to reproduce them on bb-10.6- MDEV-32830 -qa, and that's enough to fix them if anything on my current branch which is just slightly different. So I need now methods how to reproduce. Not for all I believe as I am not sure whether the cases 2,5,7,8 have anything to do with my branch. Their load need to be tried on the vanilla 10.6 before to bundle with the rest, or better as I am used to do some Jira search that gives away the 8th at once in the MDEV-24558 summary. I did not exercise search for the rest, but of course it needs to be done before the 10.6 would be tried. To the rest, the case #3 - an ALTER stack - is rather doubtful that is due to my branch, but there may a core file still exists. Please provide access to it and its env/machine then, or at least gdb thr all bt from it, after that I might be able to say more, whether it indeed the vanilla 10.6 client too. The case #4 does not feature any good bug report, though it claimed there was a core file. Please share with me - as gdb thr all bt to start with - if one is there still. The 1 and 6 looks to be the same `rollback to savepoint a`, ideally I need an mtr test, bu any other way to reproduce would do for me, incl rr. As a general note, along with the stacks all other piece of evidence are necessary to provide. In our case that would be the var-dir. I beg to attach those next time. Now consider share that alone in this `rollback to savepoint` when reproducing turns too tedious. The same applies to the case #9 - at least the vardir is needed. Please attend to 1+6 and 9 first so I'd move on with their analysis. The case #10 is most probably a variant of MDEV-32455 / MDEV-32347 . I am looking into that route.
            Elkin Andrei Elkin added a comment -

            > The case #10 is most probably a variant of MDEV-32455

            Confirmed that.
            I once more adapted my branch, locally yet, to not produce any crash anymore.

            Elkin Andrei Elkin added a comment - > The case #10 is most probably a variant of MDEV-32455 Confirmed that. I once more adapted my branch, locally yet, to not produce any crash anymore.
            Elkin Andrei Elkin added a comment -

            Howdy Sergei!

            This task is ready for review in the form of a commit sum-lines with 'MDEV-32830 I. refactor..' in
            bb-10.6-MDEV-31949 branch.
            A couple of followup commits fix something that was found at QA-testing (by Roel), I found
            appropriate not not merge them into the main, at least for the review being.
            Parts II, III I am distributing for review by Kristian and Marko.

            Looking forward for you notes.

            Elkin Andrei Elkin added a comment - Howdy Sergei! This task is ready for review in the form of a commit sum-lines with ' MDEV-32830 I. refactor..' in bb-10.6- MDEV-31949 branch. A couple of followup commits fix something that was found at QA-testing (by Roel), I found appropriate not not merge them into the main, at least for the review being. Parts II, III I am distributing for review by Kristian and Marko. Looking forward for you notes.
            Elkin Andrei Elkin added a comment -

            Resuming the work after review.

            Elkin Andrei Elkin added a comment - Resuming the work after review.

            People

              Elkin Andrei Elkin
              Elkin Andrei Elkin
              Votes:
              1 Vote for this issue
              Watchers:
              10 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.