[ 
https://issues.apache.org/jira/browse/ARTEMIS-4725?focusedWorklogId=914951&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-914951
 ]

ASF GitHub Bot logged work on ARTEMIS-4725:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Apr/24 17:17
            Start Date: 16/Apr/24 17:17
    Worklog Time Spent: 10m 
      Work Description: tabish121 commented on code in PR #4888:
URL: https://github.com/apache/activemq-artemis/pull/4888#discussion_r1567709683


##########
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java:
##########
@@ -825,8 +826,14 @@ protected ReadableBuffer createDeliveryCopy(int 
deliveryCount, DeliveryAnnotatio
       }
 
       writeDeliveryAnnotationsForSendBuffer(result, deliveryAnnotations);
-      // skip existing delivery annotations of the original message
-      duplicate.position(encodedHeaderSize + encodedDeliveryAnnotationsSize);
+

Review Comment:
   The compatibly tests are fairly incomprehensible so I can't really tell what 
it is doing or if it is or isn't reproducing anything.  I added a link to 
commit that tests the basic handling of message encoded with delivery 
annotations ahead of headers and showed that the one line change to fix the 
encoded header size sorts that scenario.  





Issue Time Tracking
-------------------

    Worklog Id:     (was: 914951)
    Time Spent: 2h 20m  (was: 2h 10m)

> Mirror may send wrong headers
> -----------------------------
>
>                 Key: ARTEMIS-4725
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4725
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Clebert Suconic
>            Assignee: Clebert Suconic
>            Priority: Major
>          Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> This is not specifically an issue in Mirroring or Broker Connection, but it 
> manifested as part of the broker connection codebase.
> When a delivery for the first time after a reload happens, the delivery 
> annotation may be written before the header, breaking the specification. 
> Later on delivery the message, createDelieryCopy could get confused with the 
> positions:
> https://github.com/apache/activemq-artemis/blob/50fae08b09a76e200ef107d06cc867231f644ccd/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java#L829



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to