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

Bernd Mathiske commented on MESOS-1384:
---------------------------------------

I like Niklas' multi-inheritance design. It expresses as much as possible with 
pre-existing language features, avoiding extra boiler plate.

If no dynamic library were ever explicitly addressed in code that uses modules, 
that would simplify things and also answer Ben's question about library 
lifetime: it gets loaded when the module gets loaded and it can be released 
when the module is released.

Potentially, one could have multiple modules in a library, but that should be 
hidden under the rugs. (Yes, reference counting comes to mind, and that should 
also be under the rugs, if it comes to that.) The less internal mechanics come 
to the surface, the better. Easier to use and less complexity to implement.

In that spirit, it would be ideal if there were no library path or library 
identifier of any kind involved at the surface. Just a module identifier (plus 
versioning). This should also simplify managing Mesos configuration. Maybe 
Module libraries could always be found at an expected path relativ to the Mesos 
executable/library. One can have flags/env vars etc. for changing that, but 
there should be a simple default IMHO, and what could be a reason to load a 
module from anywhere else anyway? 


> Add support for loadable MesosModule
> ------------------------------------
>
>                 Key: MESOS-1384
>                 URL: https://issues.apache.org/jira/browse/MESOS-1384
>             Project: Mesos
>          Issue Type: Improvement
>    Affects Versions: 0.19.0
>            Reporter: Timothy St. Clair
>            Assignee: Niklas Quarfot Nielsen
>
> I think we should break this into multiple phases.
> -(1) Let's get the dynamic library loading via a "stout-ified" version of 
> https://github.com/timothysc/tests/blob/master/plugin_modules/DynamicLibrary.h.
>  -
> *DONE*
> (2) Use (1) to instantiate some classes in Mesos (like an Authenticator 
> and/or isolator) from a dynamic library. This will give us some more 
> experience with how we want to name the underlying library symbol, how we 
> want to specify flags for finding the library, what types of validation we 
> want when loading a library.
> *TARGET* 
> (3) After doing (2) for one or two classes in Mesos I think we can formalize 
> the approach in a "mesos-ified" version of 
> https://github.com/timothysc/tests/blob/master/plugin_modules/MesosModule.h.
> *NEXT*



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

Reply via email to