[
https://issues.apache.org/jira/browse/ARTEMIS-994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15922962#comment-15922962
]
ASF GitHub Bot commented on ARTEMIS-994:
----------------------------------------
GitHub user michaelandrepearce opened a pull request:
https://github.com/apache/activemq-artemis/pull/1093
ARTEMIS-994 Support Netty Native Epoll on Linux
The following changes are made to support Epoll.
* Refactored SharedNioEventLoopGroup into renamed SharedEventLoopGroup to
be generic (as so we can re-use for both Nio and Epoll)
* Add support and toggles for Epoll in NettyAcceptor and NettyConnector
(with fall back to NIO if cannot load Epoll)
* Removal from code of PartialPooledByteBufAllocator, caused bad address
when doing native, and no longer needed - see jira discussion
New Connector Properties:
useEpoll - toggles to use epoll or not, default true (but we failback to
nio gracefully)
epollRemotingThreads = same behaviour as nioRemotingThreads but for Epoll.
useEpollGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool but for
Epoll.
New Acceptor Properties:
useEpoll - toggles to use epoll or not, default true (but we failback to
nio gracefully)
useEpollGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool but for
Epoll.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/michaelandrepearce/activemq-artemis
netty-native-epoll
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1093.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 #1093
----
commit 0ac8f806d220c71b27133261e07a29a0813fff4d
Author: Michael Pearce <[email protected]>
Date: 2017-02-24T13:29:22Z
ARTEMIS-994 Support Netty Native Epoll on Linux
Refactored SharedNioEventLoopGroup to be generic (as so we can re-use for
both Nio and Epoll)
Add support and toggles for Epoll in NettyAcceptor and NettyConnector (with
fall back to NIO if cannot load Epoll)
commit 7bba1b062a7dfc15a000f95cb8e7ba21af20a430
Author: Michael Pearce <[email protected]>
Date: 2017-02-24T17:51:30Z
ARTEMIS-994 Support Netty Native Epoll on Linux
—committing - missed file change
Refactored SharedNioEventLoopGroup to be generic (as so we can re-use for
both Nio and Epoll)
Add support and toggles for Epoll in NettyAcceptor and NettyConnector (with
fall back to NIO if cannot load Epoll)
commit ea82374c7f8fe31dedff537c07254a8868d1a62b
Author: Michael André Pearce <[email protected]>
Date: 2017-03-12T20:37:14Z
Merge pull request #2 from apache/master
merge apache into fork
commit 1a079e8f94f0597543a0b16cdf08e9c2c2fe8541
Author: Michael André Pearce <[email protected]>
Date: 2017-03-12T20:38:27Z
Merge pull request #3 from michaelandrepearce/master
merge master into branch
commit bc82c3615feab1af5b523d7a493b80988bfbcdd8
Author: Michael André Pearce <[email protected]>
Date: 2017-03-13T10:49:27Z
ARTEMIS-994 Support Netty Native Epoll on Linux
Cleaner Epoll available check, and also fix for bad address caused by
PartialPooledByteBufAllocator
Remove usage of PartialPooledByteBufAllocator as per JIRA discussion, its
use since 2.0.0 is no longer needed. mvn clean install ran fine with all tests
passing.
Clean up code a little, around handling failback if epoll isnt available.
----
> Support Netty Native Epoll on Linux
> -----------------------------------
>
> Key: ARTEMIS-994
> URL: https://issues.apache.org/jira/browse/ARTEMIS-994
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Components: Broker
> Affects Versions: 1.5.3, 2.0.0
> Reporter: Michael Andre Pearce (IG)
>
> Netty has support for native epoll, this is available only on linux systems.
> This is more performant.
> http://netty.io/wiki/native-transports.html
> This is inline with supporting asyncio with libaio using such native feature
> to bring perfomance benefits to artemis.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)