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

Deadlock on concurrent INSERT .. SELECT into an Aria table with statement binary logging

Details

    Description

      In the provided test scenario, 2 threads run INSERT .. SELECT on the same Aria table. Very soon after the test start processlist starts showing something like

      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
      | Id | User | Host            | db   | Command | Time | State                        | Info                                  | Progress |
      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
      |  4 | root | localhost:54206 | test | Query   |  112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 |    0.000 |
      |  5 | root | localhost:54207 | test | Query   |  112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 |    0.000 |
      |  8 | root | localhost:54210 | NULL | Query   |    0 | NULL                         | show processlist                      |    0.000 |
      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+

      Killing one of the threads (or a query in a thread) does not unlock another one:

      elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "kill 4"
      elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "show processlist"
      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
      | Id | User | Host            | db   | Command | Time | State                        | Info                                  | Progress |
      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
      |  5 | root | localhost:54207 | test | Query   |  129 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 |    0.000 |
      | 10 | root | localhost:54212 | NULL | Query   |    0 | NULL                         | show processlist                      |    0.000 |
      +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+

      Reproducible on debug and release builds.
      Reproducible on MariaDB 5.1, 5.2, 5.3, 5.5, 10.0.
      Reproducible on Windows, Linux 64-bit and Linux 32-bit.
      Could not reproduce with MyISAM or InnoDB, hence could not check whether the problem exists in MySQL.
      Could not reproduce without binary logging or with row-based binlog format.

      ------------
      Later addition:

      While looking into MDEV-7314, I got an MTR test case:

      --source include/have_binlog_format_statement.inc
       
      create table t1 (pk int primary key) engine=Aria;
      insert into t1 values (1);
       
      send insert into t1 select sleep(2)+1 from t1;
       
      --connect (con1,localhost,root,,)
       
      insert into t1 select 2 from t1;
       
      --connection default
      --reap

      ------------

      Initial test (RQG)

      If on some reason you are not getting the deadlock right away, try to increase threads and/or duration in the command-line options below.

      RQG grammar (put it in the root of randgen folder as test.yy):

      query_init:
      	SET binlog_format = STATEMENT ; DROP TABLE IF EXISTS A ; CREATE TABLE IF NOT EXISTS A (`i` INT) ENGINE=Aria ; INSERT INTO A VALUES (1),(2),(3);
       
      query:
      	INSERT INTO A SELECT * FROM A LIMIT 0;

      The test flow above contains LIMIT 0 only to prevent the table from growing uncontrollably, if the deadlock doesn't happen right away. The clause is unimportant, the problem happens without it as well.

      RQG command line to run on a previous started server, assuming it's running on port 3306 (if the port is different, modify dsn); don't forget to start server with log-bin, no other options are necessary:

      perl gentest.pl --threads=2 --queries=100M --duration=60 --dsn=dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test --grammar=test.yy

      RQG command line to run full test (which starts servers, etc.); it will start server on port 19300:

      perl ./runall.pl \
      --threads=2 \
      --duration=60 \
      --queries=100M \
      --grammar=test.yy \
      --skip-gendata \
      --rpl_mode=statement \
      --basedir=<your basedir> \
      --vardir=<your vardir>

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value

            For Monty:
            that's the same deadlock you started looking at during max_query_time tests; it turned out to be unrelated to the feature.

            elenst Elena Stepanova added a comment - For Monty: that's the same deadlock you started looking at during max_query_time tests; it turned out to be unrelated to the feature.
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.31 [ 12700 ]
            Fix Version/s 5.5.30 [ 11800 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.3 [ 12900 ]
            Fix Version/s 10.0.2 [ 11900 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.32 [ 13000 ]
            Fix Version/s 5.5.31 [ 12700 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.4 [ 13101 ]
            Fix Version/s 10.0.3 [ 12900 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.33 [ 13300 ]
            Fix Version/s 5.5.32 [ 13000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.5 [ 13201 ]
            Fix Version/s 10.0.4 [ 13101 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.34 [ 13500 ]
            Fix Version/s 5.5.33 [ 13300 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.34 [ 13700 ]
            Fix Version/s 5.5.33a [ 13500 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.6 [ 13202 ]
            Fix Version/s 10.0.5 [ 13201 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.7 [ 14100 ]
            Fix Version/s 10.0.6 [ 13202 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.35 [ 14000 ]
            Fix Version/s 5.5.34 [ 13700 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.8 [ 14200 ]
            Fix Version/s 10.0.7 [ 14100 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.36 [ 14600 ]
            Fix Version/s 5.5.35 [ 14000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.9 [ 14400 ]
            Fix Version/s 10.0.8 [ 14200 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.37 [ 15000 ]
            Fix Version/s 5.5.36 [ 14600 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.10 [ 14500 ]
            Fix Version/s 10.0.9 [ 14400 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.11 [ 15200 ]
            Fix Version/s 10.0.10 [ 14500 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.38 [ 15400 ]
            Fix Version/s 5.5.37 [ 15000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.12 [ 15201 ]
            Fix Version/s 10.0.11 [ 15200 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.39 [ 15800 ]
            Fix Version/s 5.5.38 [ 15400 ]
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 25784 ] MariaDB v2 [ 45009 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.13 [ 16000 ]
            Fix Version/s 10.0.12 [ 15201 ]

            Increased the priority since we've got an external bug report about the same problem, see MDEV-7314. It also contains a different test case, php, which might be easier to use or at least a good alternative in case the RQG one does not cause the deadlock.

            elenst Elena Stepanova added a comment - Increased the priority since we've got an external bug report about the same problem, see MDEV-7314 . It also contains a different test case, php, which might be easier to use or at least a good alternative in case the RQG one does not cause the deadlock.
            elenst Elena Stepanova made changes -
            elenst Elena Stepanova made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            elenst Elena Stepanova made changes -
            Description In the provided test scenario, 2 threads run INSERT .. SELECT on the same Aria table. Very soon after the test start processlist starts showing something like

            {noformat}
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 4 | root | localhost:54206 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 5 | root | localhost:54207 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 8 | root | localhost:54210 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Killing one of the threads (or a query in a thread) does not unlock another one:

            {noformat}
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "kill 4"
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "show processlist"
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 5 | root | localhost:54207 | test | Query | 129 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 10 | root | localhost:54212 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Reproducible on debug and release builds.
            Reproducible on MariaDB 5.1, 5.2, 5.3, 5.5, 10.0.
            Reproducible on Windows, Linux 64-bit and Linux 32-bit.
            Could not reproduce with MyISAM or InnoDB, hence could not check whether the problem exists in MySQL.
            Could not reproduce without binary logging or with row-based binlog format.

            If on some reason you are not getting the deadlock right away, try to increase {{threads}} and/or {{duration}} in the command-line options below.

            RQG grammar (put it in the root of randgen folder as {{test.yy}}):
            {noformat}
            query_init:
            SET binlog_format = STATEMENT ; DROP TABLE IF EXISTS A ; CREATE TABLE IF NOT EXISTS A (`i` INT) ENGINE=Aria ; INSERT INTO A VALUES (1),(2),(3);

            query:
            INSERT INTO A SELECT * FROM A LIMIT 0;
            {noformat}

            The test flow above contains {{LIMIT 0}} only to prevent the table from growing uncontrollably, if the deadlock doesn't happen right away. The clause is unimportant, the problem happens without it as well.

            RQG command line to run on a previous started server, assuming it's running on port 3306 (if the port is different, modify dsn); don't forget to start server with {{log-bin}}, no other options are necessary:
            {noformat}
            perl gentest.pl --threads=2 --queries=100M --duration=60 --dsn=dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test --grammar=test.yy
            {noformat}

            RQG command line to run full test (which starts servers, etc.); it will start server on port 19300:
            {noformat}
            perl ./runall.pl \
            --threads=2 \
            --duration=60 \
            --queries=100M \
            --grammar=test.yy \
            --skip-gendata \
            --rpl_mode=statement \
            --basedir=<your basedir> \
            --vardir=<your vardir>
            {noformat}
            In the provided test scenario, 2 threads run INSERT .. SELECT on the same Aria table. Very soon after the test start processlist starts showing something like

            {noformat}
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 4 | root | localhost:54206 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 5 | root | localhost:54207 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 8 | root | localhost:54210 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Killing one of the threads (or a query in a thread) does not unlock another one:

            {noformat}
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "kill 4"
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "show processlist"
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 5 | root | localhost:54207 | test | Query | 129 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 10 | root | localhost:54212 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Reproducible on debug and release builds.
            Reproducible on MariaDB 5.1, 5.2, 5.3, 5.5, 10.0.
            Reproducible on Windows, Linux 64-bit and Linux 32-bit.
            Could not reproduce with MyISAM or InnoDB, hence could not check whether the problem exists in MySQL.
            Could not reproduce without binary logging or with row-based binlog format.

            ------------
            *Later addition*:

            While looking into MDEV-7314, I got an MTR test case:
            {code:sql}
            --source include/have_binlog_format_statement.inc

            create table t1 (pk int primary key) engine=Aria;
            insert into t1 values (1);

            send insert into t1 select sleep(2)+1 from t1;

            --connect (con1,localhost,root,,)

            insert into t1 select 2 from t1;

            --connection default
            --reap
            {code}

            ------------

            If on some reason you are not getting the deadlock right away, try to increase {{threads}} and/or {{duration}} in the command-line options below.

            RQG grammar (put it in the root of randgen folder as {{test.yy}}):
            {noformat}
            query_init:
            SET binlog_format = STATEMENT ; DROP TABLE IF EXISTS A ; CREATE TABLE IF NOT EXISTS A (`i` INT) ENGINE=Aria ; INSERT INTO A VALUES (1),(2),(3);

            query:
            INSERT INTO A SELECT * FROM A LIMIT 0;
            {noformat}

            The test flow above contains {{LIMIT 0}} only to prevent the table from growing uncontrollably, if the deadlock doesn't happen right away. The clause is unimportant, the problem happens without it as well.

            RQG command line to run on a previous started server, assuming it's running on port 3306 (if the port is different, modify dsn); don't forget to start server with {{log-bin}}, no other options are necessary:
            {noformat}
            perl gentest.pl --threads=2 --queries=100M --duration=60 --dsn=dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test --grammar=test.yy
            {noformat}

            RQG command line to run full test (which starts servers, etc.); it will start server on port 19300:
            {noformat}
            perl ./runall.pl \
            --threads=2 \
            --duration=60 \
            --queries=100M \
            --grammar=test.yy \
            --skip-gendata \
            --rpl_mode=statement \
            --basedir=<your basedir> \
            --vardir=<your vardir>
            {noformat}
            elenst Elena Stepanova made changes -
            Description In the provided test scenario, 2 threads run INSERT .. SELECT on the same Aria table. Very soon after the test start processlist starts showing something like

            {noformat}
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 4 | root | localhost:54206 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 5 | root | localhost:54207 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 8 | root | localhost:54210 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Killing one of the threads (or a query in a thread) does not unlock another one:

            {noformat}
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "kill 4"
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "show processlist"
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 5 | root | localhost:54207 | test | Query | 129 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 10 | root | localhost:54212 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Reproducible on debug and release builds.
            Reproducible on MariaDB 5.1, 5.2, 5.3, 5.5, 10.0.
            Reproducible on Windows, Linux 64-bit and Linux 32-bit.
            Could not reproduce with MyISAM or InnoDB, hence could not check whether the problem exists in MySQL.
            Could not reproduce without binary logging or with row-based binlog format.

            ------------
            *Later addition*:

            While looking into MDEV-7314, I got an MTR test case:
            {code:sql}
            --source include/have_binlog_format_statement.inc

            create table t1 (pk int primary key) engine=Aria;
            insert into t1 values (1);

            send insert into t1 select sleep(2)+1 from t1;

            --connect (con1,localhost,root,,)

            insert into t1 select 2 from t1;

            --connection default
            --reap
            {code}

            ------------

            If on some reason you are not getting the deadlock right away, try to increase {{threads}} and/or {{duration}} in the command-line options below.

            RQG grammar (put it in the root of randgen folder as {{test.yy}}):
            {noformat}
            query_init:
            SET binlog_format = STATEMENT ; DROP TABLE IF EXISTS A ; CREATE TABLE IF NOT EXISTS A (`i` INT) ENGINE=Aria ; INSERT INTO A VALUES (1),(2),(3);

            query:
            INSERT INTO A SELECT * FROM A LIMIT 0;
            {noformat}

            The test flow above contains {{LIMIT 0}} only to prevent the table from growing uncontrollably, if the deadlock doesn't happen right away. The clause is unimportant, the problem happens without it as well.

            RQG command line to run on a previous started server, assuming it's running on port 3306 (if the port is different, modify dsn); don't forget to start server with {{log-bin}}, no other options are necessary:
            {noformat}
            perl gentest.pl --threads=2 --queries=100M --duration=60 --dsn=dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test --grammar=test.yy
            {noformat}

            RQG command line to run full test (which starts servers, etc.); it will start server on port 19300:
            {noformat}
            perl ./runall.pl \
            --threads=2 \
            --duration=60 \
            --queries=100M \
            --grammar=test.yy \
            --skip-gendata \
            --rpl_mode=statement \
            --basedir=<your basedir> \
            --vardir=<your vardir>
            {noformat}
            In the provided test scenario, 2 threads run INSERT .. SELECT on the same Aria table. Very soon after the test start processlist starts showing something like

            {noformat}
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 4 | root | localhost:54206 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 5 | root | localhost:54207 | test | Query | 112 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 8 | root | localhost:54210 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Killing one of the threads (or a query in a thread) does not unlock another one:

            {noformat}
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "kill 4"
            elenst@ubuntu11:~/5.5.28-release$ mysql -uroot --protocol=tcp --port=3306 -e "show processlist"
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | Id | User | Host | db | Command | Time | State | Info | Progress |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            | 5 | root | localhost:54207 | test | Query | 129 | Waiting for table level lock | INSERT INTO A SELECT * FROM A LIMIT 0 | 0.000 |
            | 10 | root | localhost:54212 | NULL | Query | 0 | NULL | show processlist | 0.000 |
            +----+------+-----------------+------+---------+------+------------------------------+---------------------------------------+----------+
            {noformat}

            Reproducible on debug and release builds.
            Reproducible on MariaDB 5.1, 5.2, 5.3, 5.5, 10.0.
            Reproducible on Windows, Linux 64-bit and Linux 32-bit.
            Could not reproduce with MyISAM or InnoDB, hence could not check whether the problem exists in MySQL.
            Could not reproduce without binary logging or with row-based binlog format.

            ------------
            *Later addition*:

            While looking into MDEV-7314, I got an MTR test case:
            {code:sql}
            --source include/have_binlog_format_statement.inc

            create table t1 (pk int primary key) engine=Aria;
            insert into t1 values (1);

            send insert into t1 select sleep(2)+1 from t1;

            --connect (con1,localhost,root,,)

            insert into t1 select 2 from t1;

            --connection default
            --reap
            {code}

            ------------

            *Initial test (RQG)*

            If on some reason you are not getting the deadlock right away, try to increase {{threads}} and/or {{duration}} in the command-line options below.

            RQG grammar (put it in the root of randgen folder as {{test.yy}}):
            {noformat}
            query_init:
            SET binlog_format = STATEMENT ; DROP TABLE IF EXISTS A ; CREATE TABLE IF NOT EXISTS A (`i` INT) ENGINE=Aria ; INSERT INTO A VALUES (1),(2),(3);

            query:
            INSERT INTO A SELECT * FROM A LIMIT 0;
            {noformat}

            The test flow above contains {{LIMIT 0}} only to prevent the table from growing uncontrollably, if the deadlock doesn't happen right away. The clause is unimportant, the problem happens without it as well.

            RQG command line to run on a previous started server, assuming it's running on port 3306 (if the port is different, modify dsn); don't forget to start server with {{log-bin}}, no other options are necessary:
            {noformat}
            perl gentest.pl --threads=2 --queries=100M --duration=60 --dsn=dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test --grammar=test.yy
            {noformat}

            RQG command line to run full test (which starts servers, etc.); it will start server on port 19300:
            {noformat}
            perl ./runall.pl \
            --threads=2 \
            --duration=60 \
            --queries=100M \
            --grammar=test.yy \
            --skip-gendata \
            --rpl_mode=statement \
            --basedir=<your basedir> \
            --vardir=<your vardir>
            {noformat}
            monty Michael Widenius made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            monty Michael Widenius made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]

            There was a bug in lock handling when mixing INSERT ... SELECT on the same table.
            Fix pushed into 5.5 tree

            monty Michael Widenius added a comment - There was a bug in lock handling when mixing INSERT ... SELECT on the same table. Fix pushed into 5.5 tree
            monty Michael Widenius made changes -
            Component/s Storage Engine - Aria [ 10126 ]
            Fix Version/s 10.0.16 [ 17900 ]
            Fix Version/s 5.5.41 [ 17600 ]
            Fix Version/s 5.5 [ 15800 ]
            Fix Version/s 10.0 [ 16000 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 45009 ] MariaDB v3 [ 65529 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 65529 ] MariaDB v4 [ 146314 ]

            People

              monty Michael Widenius
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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