franz1981 commented on issue #2845: ARTEMIS-2336 Use zero copy to replicate 
journal/page/large message file (AGAIN)
URL: https://github.com/apache/activemq-artemis/pull/2845#issuecomment-534999649
 
 
   @wy96f 
   
   > . So only non file packet accounts for the pending write bytes in channel, 
and flowControl is not working very well in this case, will this have a 
negative impact?
   
   I see that `DefaultMessageSizeEstimator` for `FileRegion` isn't handled nor 
`ChannelOutboundBuffer::decrementPendingOutboundBytes` is called afted 
`sendFile` succeed: it means that our `lazy` backpressure is quite limiting 
while using `FileRegion`s.
   For `ChunkedNioFile` is a different story, but equally interesting: 
`DefaultMessageSizeEstimator` is not able to recognize `ChunkedNioFile` , but 
`ChannelOutboundBuffer::decrementPendingOutboundBytes` is correctly handling it 
because `ChunkedWriteHandler` is transparently handling the files as `ByteBuf`s.
   I think that is time to simplify `blockUntilWritable` to make it more lazy 
ie to just leverage on Netty `isWritable` instead of trying to calculate 
exactly the pending bytes :) 
   I'm adding a commit to address that :)

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to