Agreed - I can do early morning PST any day during this week (for people dialing in from the east coast and Europe).
Niklas On 22 September 2014 07:15, Tim St Clair <tstcl...@redhat.com> wrote: > Folks, > > I think this thread has fallen off the rails a bit, perhaps we could get a > tcon/hangout going for this again. > > I would be happy to moderate if needed, but it's pretty clear to me to > that trying to hash this out in an email thread is becoming > couter-productive. > > Cheers, > Tim > > ----- Original Message ----- > > From: "Dominic Hamon" <dha...@twitter.com.INVALID> > > To: "dev" <dev@mesos.apache.org> > > Sent: Saturday, September 20, 2014 9:21:59 AM > > Subject: Re: Mesos Modules Design > > > > On Fri, Sep 19, 2014 at 2:43 PM, Niklas Nielsen <nik...@mesosphere.io> > > wrote: > > > > > Hi Dominic, > > > > > > (response inlined) > > > > > > On 19 September 2014 13:03, Dominic Hamon <dha...@twopensource.com> > wrote: > > > > > > > I'm sorry, but I'm still having a hard time understanding why this > needs > > > to > > > > be dynamic. > > > > > > > > If the mesos core is split into modules that are built as standalone > > > > libraries (static) then at link time the right combination of > libraries > > > can > > > > be bundled together to create the end result. If you want to get even > > > > smarter, we can have default versions that are linked in to the mesos > > > core > > > > as weak symbols so later linked libraries can override the defaults. > This > > > > may mean that we move to static linking across the board, but frankly > > > there > > > > are a few benefits to that approach. > > > > > > > > > This works for some, but not all use cases. > > > One use-case where it _does_ make sense to statically bake into the > image > > > could be: https://issues.apache.org/jira/browse/MESOS-1330 > > > That be, you probably rarely want to swap network transport > implementations > > > in and out on per-run basis but will know up front which one to > configure > > > and use. > > > > > > On the other hand, having to relink and rebuilding give users a poor > > > experience and makes it hard to select (or unselect) custom components. > > > Using a prebuilt package and point against libraries is a pretty common > > > work-flow: Apache web server relies heavily on modules from dynamic > > > libraries. > > > > > > > > I'm going to argue against this, so please bear with me while I work > > through it, and please point out anywhere that my assertions are wrong. > > > > The proposal you are suggesting requires the following: > > > > - callsites need to be modules aware to use the right factory method to > > instantiate the modular object > > - mesos-core owners need to be aware of modules and versioning when they > > change the abstract API > > - module owners need to be aware of the modules API and versioning > > - customers (end-users) have to be modules aware and set their runtime > > configuration correctly > > - errors in versioning or modules will only be caught at runtime > > > > My alternative proposal requires the following: > > > > - module owners need to be aware of API changes during core upgrades > > - issues are caught at compile time by module owners > > - customers (end-users) are unaware of modules and only need to know > about > > per module configuration (kerberos attributes, for instance) not the > > modules system and configuration > > > > In short, your proposal adds more complexity and shifts the burden of > > knowledge and responsibility to every agent, instead of keeping it with > the > > module owner where it belongs. > > > > I think the solution that's been put up for review is clever, but I don't > > think it solves the problem in the right way for anyone involved. Please > > rethink your approach to take that into account. > > > > > > > > > TL;DR I don't see the two approaches to be mutually exclusive and we > can > > > get a lot of leverage with the current design but we want to be able > to do > > > this with static linking too. (To Tim St Clair's point) > > > > > > > > > > > > > > > > > > > > > > > With the approach as defined, does this mean that the default > versions > > > will > > > > also have to be reimplemented as modules? > > > > > > > > > > Not necessary. Mesos default implementations stays as is. See Bernd's > > > comment. > > > > > > > > > > > > > > Has any effort been put into determining the performance overhead of > the > > > > approach as specified? > > > > > > > > > > It won't affect Mesos if you are not using modules. The call sites > will be > > > virtual dispatches no matter whether you are using modules or > > > internal/default implementations. > > > There is a performance penalty of not being able to do global > optimizations > > > within the module, but that is the trade-off of implementing a dynamic > > > loadable module. > > > > > > > > > > > > > > On Fri, Sep 19, 2014 at 11:35 AM, Niklas Nielsen < > nik...@mesosphere.io> > > > > wrote: > > > > > > > > > Hi everyone, > > > > > > > > > > We have been iterating on a design for pluggable modules in Mesos > > > lately > > > > > and wanted to get a last round of feedback before putting out patch > > > sets. > > > > > > > > > > Tim St Clair, Ben Hindman and I started the discussion (and work) > on > > > this > > > > > subsystem https://issues.apache.org/jira/browse/MESOS-1224 and > > > > > https://issues.apache.org/jira/browse/MESOS-1384. > > > > > Kapil and Bernd took over the work (shepherded by Ben H and I) and > have > > > > > expanded on the original design to cope with api/modules/mesos > > > versioning > > > > > semantics and be extensible enough to cope future changes in the > > > modules > > > > > subsystem (dealing with modules dependencies, etc). > > > > > > > > > > The latest description of the modules system has been captured in: > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/MESOS/DRAFT+Design+Doc+-+Mesos+Modules > > > > > (for those of you who don't want to read through the JIRA threads). > > > > > > > > > > We have an implementation ready based on this design and will be > > > sharing > > > > / > > > > > starting review rounds start next week. > > > > > > > > > > Feel free to use this thread if you have any questions. > > > > > > > > > > Cheers, > > > > > Niklas > > > > > > > > > > > > > > > > > > > > > -- > > > > Dominic Hamon | @mrdo | Twitter > > > > *There are no bad ideas; only good ideas that go horribly wrong.* > > > > > > > > > > Hope that helps; if not, we'd be happy to jump on a call. > > > > > > Niklas > > > > > > > > > > > -- > > Dominic Hamon | @mrdo | Twitter > > *There are no bad ideas; only good ideas that go horribly wrong.* > > > > -- > Cheers, > Timothy St. Clair > Red Hat Inc. >