Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-4986

Replication/Vote incompatibility between versions up to 2.31.2 (inclusive) and 2.32.0 - 2.36.0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.32.0, 2.33.0, 2.34.0, 2.35.0, 2.36.0
    • 2.37.0
    • Broker
    • None

    Description

      The change for "ARTEMIS-3474 replace non-inclusive terms" in 2.32.0 changed a String that was used on the wire for Voting. That string is sent on the Vote packet, and so created an incompatibility if mixing a broker <= 2.31.2 with those of versions 2.32.0 - 2.36.0 (e.g during a rolling upgrade) where they dont understand each others values. The other nodes would fail with the following message:

      AMQ224090: This node is not configured for Quorum Voting, all nodes must be configured for HA

      The server will simply not respond the VoteRequest on that case and the blockCall timeout will fail.

      To fix this I'm making 2.37.0+ understand both string values, and when voting against < 2.37.0 versions applying a shorter timeout that will just be ignored and cause retry with the older packet and similar short timeout in case the response wasn't found, before trying for the full timeout with the current value.

      The wire version will be bumped in 2.37.0 such that this process does not occur against other new 2.37.0+ brokers, which will then be known to understand the new value (and now old value).

      Attachments

        Issue Links

          Activity

            People

              clebertsuconic Clebert Suconic
              clebertsuconic Clebert Suconic
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 20m
                  2h 20m