You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Till Toenshoff (JIRA)" <ji...@apache.org> on 2014/03/05 23:28:44 UTC

[jira] [Commented] (MESOS-855) Move JNI code to separate library

    [ https://issues.apache.org/jira/browse/MESOS-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921527#comment-13921527 ] 

Till Toenshoff commented on MESOS-855:
--------------------------------------

The path forward that I would like to put up for discussion;

Introduce a new environment variable: MESOS_NATIVE_JAVA_LIBRARY. That variable points towards libmesos_java. libmesos_java contains the JNI-specific code (formally part of libmesos) and dynamically links against libmesos.

I am suggesting to add a new variable as we most likely want to keep the old one around for non-java-based frameworks that may make use of it.

The actual loading of that native library is commonly done via mesos.jar.  So this change is almost transparent to the java-frameworks. A typical java-based framework (e.g. marathon) relies on mesos.jar to do the loading but may have some extra logic in its startup to make sure MESOS_NATIVE[_JAVA]_LIBRARY is set/valid. That extra-logic would need to be adapted to use the new environment variable instead of the old one.

> Move JNI code to separate library
> ---------------------------------
>
>                 Key: MESOS-855
>                 URL: https://issues.apache.org/jira/browse/MESOS-855
>             Project: Mesos
>          Issue Type: Improvement
>          Components: java api
>    Affects Versions: 0.16.0
>            Reporter: Niklas Quarfot Nielsen
>            Assignee: Niklas Quarfot Nielsen
>
> libmesos library dependency to libjvm seems unnecessary for all but for frameworks and executors that use JNI. 
> In order words, it has caused confusion that libjvm is a dependency when people have been writing python or c++ frameworks/executors.
> We could instead build a libmesos-jni which contain the JNI code and which has libmesos as a dependency.



--
This message was sent by Atlassian JIRA
(v6.2#6252)