[GitHub] activemq-artemis issue #2015: ARTEMIS-1807 File-based Large Message encoding...

2018-04-15 Thread franz1981
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

2018-04-15 Thread pwjenkins
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...

2018-04-15 Thread franz1981
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...

2018-04-15 Thread franz1981
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...

2018-04-15 Thread franz1981
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...

2018-04-15 Thread franz1981
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.




---