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

Server-side redelivery no longer working with 5.16.1

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.16.1
    • Fix Version/s: 5.17.0, 5.16.2
    • Component/s: Broker
    • Labels:
      None

      Description

      Server-side redelivery no longer working with 5.16.x

      Server-side redeliveries triggered by the redeliveryPlugin can no longer be consumed, as they are (incorrectly) suppressed.

      Logs from a test show "suppressing duplicate delivery on connection, poison acking":

             RedeliveryPlugin  175 | 40 - org.apache.activemq.activemq-osgi - 5.16.1 | redelivery #1 of: ID:mlipc2-4159-1611768583683-1:15:1:1:41 with delay: 1000, dest: queue://TEST2.msgin
      ActiveMQMessageConsumer 1485 | 40 - org.apache.activemq.activemq-osgi - 5.16.1 | ID:mlipc2-4159-1611768583683-1:16:1:1 suppressing duplicate delivery on connection, poison acking: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:mlipc2-4159-1611768583683-1:16:1:1, destination = queue://TEST2.msgin, message = ActiveMQTextMessage {commandId = 125, responseRequired = true, messageId = ID:mlipc2-4159-1611768583683-1:15:1:1:41, originalDestination = null, originalTransactionId = null, producerId = ID:mlipc2-4159-1611768583683-1:15:1:1, destination = queue://TEST2.msgin, transactionId = null, expiration = 0, timestamp = 1611768605501, arrival = 0, brokerInTime = 1611768607001, brokerOutTime = 1611768607012, correlationId = null, replyTo = null, persistent = true, type = null, priority = 0, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@5f105a66, marshalledProperties = org.apache.activemq.util.ByteSequence@5b2fd55c, dataStructure = null, redeliveryCounter = 1, size = 0, properties = {redeliveryDelay=1000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
      

      To reproduce the issue, use existing test "BrokerRedeliveryTest" and modify slightly, so it's using a failover connection.

         protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
      -        return new ActiveMQConnectionFactory("vm://localhost");
      +        return new ActiveMQConnectionFactory("failover:(vm://localhost)");
         }   @Override

      After this change to the test, tests start to fail and one sees the symptom logged as:

      ... suppressing duplicate delivery on connection, poison acking ... 

      See also AMQ-7298

        Attachments

        1. BrokerRedeliveryTest.java
          10 kB
          Martin Lichtin

          Issue Links

            Activity

              People

              • Assignee:
                jbonofre Jean-Baptiste Onofré
                Reporter:
                lichtin Martin Lichtin
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: