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

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

                Author: ASF GitHub Bot
            Created on: 15/Nov/24 20:51
            Start Date: 15/Nov/24 20:51
    Worklog Time Spent: 10m 
      Work Description: tabish121 commented on PR #5346:
URL: 
https://github.com/apache/activemq-artemis/pull/5346#issuecomment-2479905026

   There is at least one race in the AMQPLargeMessageReader where the bytes 
being written to the large message file is done on a session thread and only 
when the message is complete is it submitted to the receiver via the connection 
thread.  If a network error happens that causes the receiver to close its 
active reader (which deletes the large message file) and at the same time the 
processing of a large message is about to complete and schedule the 
'onMessageComplete' call to process the read message the message will get 
processed after its file is deleted and be put onto the Queue as if it was 
valid resulting in a corrupted message.  
   
   We need to reevaluate the logic and how we process AMQP large messages off 
the netty thread to better account for the chasing scenarios to ensure files 
are deleted but completed message still get processed as intended.  




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

    Worklog Id:     (was: 944000)
    Time Spent: 1h 10m  (was: 1h)

> AMQP LargeMessage file should be closed before calling advance
> --------------------------------------------------------------
>
>                 Key: ARTEMIS-5155
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5155
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.38.0
>            Reporter: Clebert Suconic
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.39.0
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> This is to fix tests in LargeMessageInterruptTest.
> When sending a large message the file should be closed before calling advance 
> and performing further storage operations.
> This is regressed after 
> c83ed8957d9d7f06bb29c0fce563fe2e3462993e /  ARTEMIS-4668
> Where the file.close was moved to the finalize block after the delivery... 
> causing a possible race over a server's failure.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to