Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4122

Lease Database Locker failover broken

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.7.0
    • 5.8.0
    • None
    • None
    • Java 7u9, SUSE 11, Mysql

    Description

      We are using ActiveMQ 5.7.0 together with a mysql database and could not observe correct failover behavior with lease database locker.
      It seems that there is a race condition, which prevents the correct failover procedure.
      We noticed that when starting up two instances, both instance are becoming master.

      We did several test, including the following and could not observe intended functionality:

      • shutdown all instances
      • manipulate database lock that one node has lock and set expiry time in distance future
      • start up both instances. both instances are unable to acquire lock, as the lock hasn't expired, which should be correct behavior.
      • update the expiry time in database, so that the lock is expired.
      • first instance notices expired lock and becomes master
      • when second instance checks for lock, it also updates the database and becomes master.

      To my understanding the second instance should not be able to update the lock, as it is held by the first instance and should not be able to become master.

      Attachments

        1. activemq.xml
          8 kB
          Christoph Seyffer
        2. activemq.xml
          4 kB
          Justin Field
        3. activemq-kyle.xml
          6 kB
          Kyle Miller
        4. AMQ4122.patch
          4 kB
          SuoNayi
        5. mysql.log
          17 kB
          st.h
        6. amq_dual_master_5.7_backport.patch
          2 kB
          metatech

        Issue Links

          Activity

            People

              gtully Gary Tully
              st.h st.h
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: