Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-3841 LevelDB storage engine
  3. MDEV-4044

LevelDB: UPDATE or DELETE with ORDER BY locks itself and ends with ER_LOCK_WAIT_TIMEOUT

    Details

    • Type: Technical task
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Test case (LIMIT clause is not needed to reproduce the problem, it just makes using ORDER BY reasonable):

      
      --disable_abort_on_error
      create table t1 (pk int primary key, c char(1)) engine=LevelDB;
      insert into t1 values (1,'a'),(2,'b');
      update t1 set c = 'x' order by pk limit 1;
      delete from t1 order by pk limit 1;
      select * from t1;
      

      Output:

      create table t1 (pk int primary key, c char(1)) engine=LevelDB;
      insert into t1 values (1,'a'),(2,'b');
      update t1 set c = 'x' order by pk limit 1;
      ERROR HY000: Lock wait timeout exceeded; try restarting transaction
      delete from t1 order by pk limit 1;
      ERROR HY000: Lock wait timeout exceeded; try restarting transaction
      select * from t1;
      pk      c
      1       a
      2       b
      
      revision-id: psergey@askmonty.org-20130114195003-fgp08gh4swgcf1cx
      revno: 4486
      branch-nick: mysql-5.6-leveldb
      

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Possibly both this and MDEV-4046 come from the same basic (known) problem as below, and just need to wait till it's fixed

            create table t1 (i int primary key) engine=leveldb;
            insert into t1 values (1),(1);
            ERROR HY000: Lock wait timeout exceeded; try restarting transaction

            Show
            elenst Elena Stepanova added a comment - Possibly both this and MDEV-4046 come from the same basic (known) problem as below, and just need to wait till it's fixed create table t1 (i int primary key) engine=leveldb; insert into t1 values (1),(1); ERROR HY000: Lock wait timeout exceeded; try restarting transaction
            Hide
            psergey Sergei Petrunia added a comment -

            Also fixed by MDEV-4047.

            Show
            psergey Sergei Petrunia added a comment - Also fixed by MDEV-4047 .

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: