Github user bgutjahr commented on the pull request:

    https://github.com/apache/activemq-artemis/pull/468#issuecomment-212411924
  
    **@mtaylor** I squashed my changes into 3 commits and reverted the default 
thread pool size.
    
    About the memory usage. It look like Netty is putting pooled byte buffers 
into thread-local caches. So with every new client thread, a separate byte 
buffer cache is used. After I changed NettyConnection.createTransportBuffer to 
allocate the buffer with .ioBuffer instead of .directBuffer, the memory 
allocation issue went away. Although this helped in my case, I don't want to 
submit such a change, as I have no idea how this would impact Artemis' 
performance. I guess a real solution would be different, probably more 
complicated. To me it looks like the Netty's pre-thread buffer caching has a 
different threading model in mind than Artemis.
    
    I'm not going to dig deeper into the memory / buffer caching issue, but I 
still want to experiment with a different thread pool implementation. Should I 
create a separate JIRA for the memory issue?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to