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

Spider tests hanging with --view-protocol

Details

    Description

      The following tests hang with view protocol at the current custom branch for MDEV-35452 bb-10.5-mdev-35452 263709cafe50ce6e10c90fc4ab8b21640dd94bc8:

      • spider/bugfix.mdev_34555
      • spider/bugfix.mdev_29352

      Attachments

        Issue Links

          Activity

            ycp Yuchen Pei added a comment -

            For spider/bugfix.mdev_29352, an minimal equivalent non-view-protocol case would be:

            CREATE TABLE t (c INT);
            FLUSH TABLES WITH READ LOCK;
            --connect (hang,localhost,root)
            create view v as SELECT * FROM t; # hangs
            DROP TABLE t;

            Without --connect (hang,localhost,root) the create view statement fails with 1223 (ER_CANT_UPDATE_WITH_READLOCK).

            The hanging happens in trying to acquire an MDL lock:

            // MDL_context::acquire_lock:
              while (cmp_timespec(abs_shortwait, abs_timeout) <= 0)
              {
                /* abs_timeout is far away. Wait a short while and notify locks. */
                wait_status= m_wait.timed_wait(m_owner, &abs_shortwait, FALSE,
                                               mdl_request->key.get_wait_state_name());

            ycp Yuchen Pei added a comment - For spider/bugfix.mdev_29352, an minimal equivalent non-view-protocol case would be: CREATE TABLE t (c INT ); FLUSH TABLES WITH READ LOCK; --connect (hang,localhost,root) create view v as SELECT * FROM t; # hangs DROP TABLE t; Without --connect (hang,localhost,root) the create view statement fails with 1223 (ER_CANT_UPDATE_WITH_READLOCK). The hanging happens in trying to acquire an MDL lock: // MDL_context::acquire_lock: while (cmp_timespec(abs_shortwait, abs_timeout) <= 0) { /* abs_timeout is far away. Wait a short while and notify locks. */ wait_status= m_wait.timed_wait(m_owner, &abs_shortwait, FALSE, mdl_request->key.get_wait_state_name());
            ycp Yuchen Pei added a comment -

            For spider/bugfix.mdev_34555, an minimal equivalent non-view-protocol case is:

            XA START 'a';
            --connect (hang,localhost,root)
            create view v as SELECT * FROM information_schema.table_constraints;
            --connection default
            select * from v;
            --connection hang
            drop view v; # hangs
            --connection default
            xa end 'a';
            xa rollback 'a';
            --disconnect hang

            ycp Yuchen Pei added a comment - For spider/bugfix.mdev_34555, an minimal equivalent non-view-protocol case is: XA START 'a' ; --connect (hang,localhost,root) create view v as SELECT * FROM information_schema.table_constraints; --connection default select * from v; --connection hang drop view v; # hangs --connection default xa end 'a' ; xa rollback 'a' ; --disconnect hang
            ycp Yuchen Pei added a comment -

            Hi holyfoot, ptal thanks:

            70bca0ebf22 upstream/bb-10.5-mdev-36476 MDEV-36476 MDEV-35452 Disable view protocol for spider tests where thread metadata could prevent lock wait timeout
            

            ycp Yuchen Pei added a comment - Hi holyfoot , ptal thanks: 70bca0ebf22 upstream/bb-10.5-mdev-36476 MDEV-36476 MDEV-35452 Disable view protocol for spider tests where thread metadata could prevent lock wait timeout
            holyfoot Alexey Botchkov added a comment -

            ok to push.

            holyfoot Alexey Botchkov added a comment - ok to push.

            People

              ycp Yuchen Pei
              ycp Yuchen Pei
              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.