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

Slave crashes in rpt_handle_event on executing check_warnings and FLUSH LOGS

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.0.5
    • Component/s: None
    • Labels:
      None

      Description

      
      --source include/master-slave.inc
      CREATE TABLE t1 (i INT);
      FLUSH LOGS;
      

      Executing this MTR test with slave-parallel-threads>0 several times (e.g. with repeat=10) causes a crash:

      #2  0x00000000007f2e70 in handle_fatal_signal (sig=11) at /home/elenst/bzr/10.0-knielsen/sql/signal_handler.cc:262
      #3  <signal handler called>
      #4  0x0000000000786b54 in rpt_handle_event (qev=0x7fc83c016940, rpt=0x3a58c58) at /home/elenst/bzr/10.0-knielsen/sql/rpl_parallel.cc:44
      #5  0x000000000078721b in handle_rpl_parallel_thread (arg=0x3a58c58) at /home/elenst/bzr/10.0-knielsen/sql/rpl_parallel.cc:216
      #6  0x000000000099204e in pfs_spawn_thread (arg=0x3a58e00) at /home/elenst/bzr/10.0-knielsen/storage/perfschema/pfs.cc:1015
      #7  0x00007fc889deee9a in start_thread (arg=0x7fc8720c7700) at pthread_create.c:308
      #8  0x00007fc8890e2cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      
      revision-id: knielsen@knielsen-hq.org-20131025191714-lclqx9vuu5jrh24z
      revno: 3687
      branch-nick: 10.0-knielsen
      BUILD/compile-pentium-debug-max-no-ndb
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              knielsen Kristian Nielsen added a comment -

              I am able to repeat this

              Show
              knielsen Kristian Nielsen added a comment - I am able to repeat this
              Hide
              knielsen Kristian Nielsen added a comment -

              In parallel replication, when the IO thread switches relay log,
              the SQL thread re-opens the current relaylog and seeks to the
              current position. There was a race that would cause it to
              sometimes seek to the wrong position, causing corruption and
              crash.

              Show
              knielsen Kristian Nielsen added a comment - In parallel replication, when the IO thread switches relay log, the SQL thread re-opens the current relaylog and seeks to the current position. There was a race that would cause it to sometimes seek to the wrong position, causing corruption and crash.

                People

                • Assignee:
                  knielsen Kristian Nielsen
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: