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

Update fails to update data consistently after locking is released

    XMLWordPrintable

Details

    • Bug
    • Status: Needs Feedback (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 10.5.12, 10.11.2, 11.2.2
    • None
    • windows 10

    Description

      DROP TABLE IF EXISTS mtest;
      CREATE TABLE mtest(x INT DEFAULT 0, c0 INT PRIMARY KEY, c1 INT);
      INSERT INTO mtest VALUES (0, 1, 1), (0, 2 , 2);
       -- Initial Table: 
      View{
          1:[0, 1, 1]
          2:[0, 2, 2]
      }
      /* s1 */SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
      /* s1 */BEGIN;
      /* s2 */SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
      /* s2 */BEGIN;
      /* s2 */UPDATE mtest SET c0=37 WHERE c1=2;
      /* s1 */UPDATE mtest SET x = x + 10 WHERE True;(block)
      /* s2 */COMMIT;
      /* s1 */COMMIT;
      mysql> SELECT * FROM mtest;
      +------+----+------+
      | x    | c0 | c1   |
      +------+----+------+
      |   10 |  1 |    1  |
      |   10 | 37 |    2 |
      +------+----+------+
       
      DROP TABLE IF EXISTS mtest;
      CREATE TABLE mtest(x INT DEFAULT 0, c0 INT PRIMARY KEY, c1 INT);
      INSERT INTO mtest VALUES (0, 1, 1), (0, 67, 2);
       -- Initial Table: 
      View{
          1:[0, 1, 1]
          2:[0, 67, 2]
      }
      /* s1 */SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
      /* s1 */BEGIN;
      /* s2 */SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
      /* s2 */BEGIN;
      /* s2 */UPDATE mtest SET c0=37 WHERE c1=2;
      /* s1 */UPDATE mtest SET x = x + 10 WHERE True;(block)
      /* s2 */COMMIT;
      /* s1 */COMMIT;
      mysql> SELECT * FROM mtest;
      +------+----+------+
      | x    | c0 | c1   |
      +------+----+------+
      |   10 |  1 |    1 |
      |    0 | 37 |    2 |
      +------+----+------+
      

      Simply changing the initial value of c0 ultimately causes the update to x to fail. From a user perspective, I believe this discrepancy is incorrect.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              nikki ZhangKaiming
              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.