[
https://issues.apache.org/jira/browse/BOOKKEEPER-1008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15939983#comment-15939983
]
ASF GitHub Bot commented on BOOKKEEPER-1008:
--------------------------------------------
Github user eolivelli commented on the issue:
https://github.com/apache/bookkeeper/pull/116
At the last meeting (2017-03-23) we discussed about this PR and the
inclusion of OS-specific dependencies.
We all agreed that is it important to document this feature and how to
configure the classpath in order to achive best performances for a specific OS
I suggest using only the raw dependency without the native library, this
will make the build non-platform-dependant:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${libs.netty4}</version>
</dependency>
And document how to add the OS-specific version on the classpath like this:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${libs.netty4}</version>
<scope>compile</scope>
<classifier>linux-x86_64</classifier>
</dependency>
Beware that the raw dependency will import only Java classes and so we will
have to handle gracefully exceptions like this an fallback to Nio:
java.lang.UnsatisfiedLinkError: no netty-transport-native-epoll in
java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at
io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at
io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:259)
at
io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:199)
at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:269)
at io.netty.channel.epoll.Native.<clinit>(Native.java:64)
at io.netty.channel.epoll.IovArray.<clinit>(IovArray.java:57)
at io.netty.channel.epoll.EpollEventLoop.<init>(EpollEventLoop.java:54)
we should also remove checks like "SystemUtils.IS_OS_LINUX"
> Move to netty4
> --------------
>
> Key: BOOKKEEPER-1008
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1008
> Project: Bookkeeper
> Issue Type: Improvement
> Components: bookkeeper-client, bookkeeper-server
> Affects Versions: 4.5.0
> Reporter: Robert Joseph Evans
> Assignee: Robert Joseph Evans
>
> As part of the Yahoo push back and in general we would like to move to netty
> 4, preferably netty 4.1.x for the client and server communication.
> This lays the ground work for zero copy, or very nearly zero copy handling on
> the server side.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)