[ 
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)

Reply via email to