clebertsuconic commented on code in PR #4840:
URL: https://github.com/apache/activemq-artemis/pull/4840#discussion_r1513065063


##########
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/AMQPLargeMessageReader.java:
##########
@@ -77,39 +73,73 @@ public AMQPLargeMessageReader open() {
    }
 
    @Override
-   public Message readBytes(Delivery delivery) throws Exception {
+   public boolean readBytes(Delivery delivery) throws Exception {
       if (closed) {
          throw new IllegalStateException("AMQP Large Message Reader is closed 
and read cannot proceed");
       }
 
+      serverReceiver.connection.requireInHandler();
+
       final Receiver receiver = ((Receiver) delivery.getLink());
       final ReadableBuffer dataBuffer = receiver.recv();
 
+      final AMQPSessionCallback sessionSPI = 
serverReceiver.getSessionContext().getSessionSPI();
+
       if (currentMessage == null) {
-         final AMQPSessionCallback sessionSPI = 
serverReceiver.getSessionContext().getSessionSPI();
          final long id = sessionSPI.getStorageManager().generateID();
          currentMessage = new AMQPLargeMessage(id, 
delivery.getMessageFormat(), null,
                                                
sessionSPI.getCoreMessageObjectPools(),
                                                sessionSPI.getStorageManager());
          currentMessage.parseHeader(dataBuffer);
-
+         logger.trace("Initializing current message {} on {}", currentMessage, 
this);
          sessionSPI.getStorageManager().largeMessageCreated(id, 
currentMessage);
+         sessionSPI.execute(() -> validateFile(currentMessage));

Review Comment:
   It still needs to create the file. which should happen away from the Netty 
Thread. 
   
   in case of an exception it will initialize the exception on the session... 
The current writes are still going through though but the exception would be 
initialized. I could interrupt the addBytes if there was an exception, but the 
possibility of having an exception there is actually so low that if any issues 
are happening with the storage, other things will happen to put the server down 
anyways through IOExceptions.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to