[GitHub] activemq-artemis issue #2015: ARTEMIS-1807 File-based Large Message encoding...
Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/2015 @clebertsuconic I'm thinking to re-implement it by dividing the mmap in several mapped chunks instead of just 1 big one to help the OS to be able to map it when it is > Integer.MAX_VALUE ---
Re: [HEADS-UP] 2.5.1 in one week
That would be great timing for us if you can do that without messing up your other plans. Thank you! -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html
[GitHub] activemq-artemis issue #2015: ARTEMIS-1807 File-based Large Message encoding...
Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/2015 @clebertsuconic Do not merge it yet, I have an exception on the test `BridgeTest.testBridgeWithVeryLargeMessage` ---
[GitHub] activemq-artemis pull request #2016: ARTEMIS-1808 LargeServerMessageImpl lea...
GitHub user franz1981 opened a pull request: https://github.com/apache/activemq-artemis/pull/2016 ARTEMIS-1808 LargeServerMessageImpl leaks direct ByteBuffer largeMessagesFactory::newBuffer could create a pooled direct ByteBuffer that will not be released into the factory pool: using a heap ByteBuffer will perform more internal copies, but will make it simpler to be garbage collected. You can merge this pull request into a Git repository by running: $ git pull https://github.com/franz1981/activemq-artemis ARTEMIS-1808 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/2016.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2016 commit 44579986ef87c531a30d9d14e158333de4aec051 Author: Francesco Nigro Date: 2018-04-15T15:31:05Z ARTEMIS-1808 LargeServerMessageImpl leaks direct ByteBuffer largeMessagesFactory::newBuffer could create a pooled direct ByteBuffer that will not be released into the factory pool: using a heap ByteBuffer will perform more internal copies, but will make it simpler to be garbage collected. ---
[GitHub] activemq-artemis issue #2015: ARTEMIS-1807 File-based Large Message encoding...
Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/2015 @clebertsuconic @gaohoward AFAIK you've worked recently on Large messages: please share your thoughts and if you see other points where this improvement should be used. The optimal solution would be by using [DefaultFileRegion](https://netty.io/4.1/api/io/netty/channel/DefaultFileRegion.html) to zero-copy data through the wire, but it involves to change `Packet` in order to use a `FileRegion` body instead of `byte[]`: this solution I've proposed seems less invasive, while providing very good perf improvements. ---
[GitHub] activemq-artemis pull request #2015: ARTEMIS-1807 File-based Large Message e...
GitHub user franz1981 opened a pull request: https://github.com/apache/activemq-artemis/pull/2015 ARTEMIS-1807 File-based Large Message encoding should use read-only mmap It provides a LargeBodyEncoder using a read only mapped view of the large message file to encode the data to be sent. It saves unecessary copies and context switches while consuming the encoded data. You can merge this pull request into a Git repository by running: $ git pull https://github.com/franz1981/activemq-artemis ARTEMIS-1807 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/2015.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2015 commit d3a221f99e30a7ba39898f0623fdd9a65c42d134 Author: Francesco Nigro Date: 2018-04-15T15:17:19Z ARTEMIS-1807 File-based Large Message encoding should use read-only mmap It provides a LargeBodyEncoder using a read only mapped view of the large message file to encode the data to be sent. It saves unecessary copies and context switches while consuming the encoded data. ---