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

Multi-master conflict resolving cause hanging or debug level assert

    Details

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

      Description

      Resolving of multi-master conflicts can lead to situation when innodb kernel-mutex is tried to be locked twice by same THD:

      130215 13:31:45 [Note] WSREP: BF kill (1, seqno: 1148093), victim: (1906) trx: 235097905
      130215 13:31:45 [Note] WSREP: Aborting query: DELETE FROM comm01 WHERE p >= 1000
      130215 13:31:45 [Note] WSREP: kill trx QUERY_EXEC for 235097905
      130215 13:31:45 [Note] WSREP: kill query for: 1906
      130215 13:31:45 InnoDB: Assertion failure in thread 140646447503104 in file sync0sync.ic line 207
      InnoDB: Failing assertion: !mutex_own(mutex)

      How to reproduce:
      start two nodes and issue conflicting SQL load on both nodes

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            seppo Seppo Jaakola added a comment -

            The problem is due to changes in THD::awake(), which now calls new handler method ha_kill_query()
            InnoDB implementation of kill query (innobase_kill_query), enters kernel mutex.

            Show
            seppo Seppo Jaakola added a comment - The problem is due to changes in THD::awake(), which now calls new handler method ha_kill_query() InnoDB implementation of kill query (innobase_kill_query), enters kernel mutex.
            Hide
            seppo Seppo Jaakola added a comment -

            Fix pushed in revision: http://bazaar.launchpad.net/~maria-captains/maria/maria-5.5-galera/revision/3380
            Adapting to THD::awake() changes in MariaDB

            Show
            seppo Seppo Jaakola added a comment - Fix pushed in revision: http://bazaar.launchpad.net/~maria-captains/maria/maria-5.5-galera/revision/3380 Adapting to THD::awake() changes in MariaDB

              People

              • Assignee:
                seppo Seppo Jaakola
                Reporter:
                seppo Seppo Jaakola
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day
                  1d