mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niklas Nielsen" <...@qni.dk>
Subject Re: Review Request 14669: launchTasks on list of offers
Date Thu, 16 Jan 2014 19:23:22 GMT


> On Jan. 16, 2014, 10:34 a.m., Niklas Nielsen wrote:
> > src/master/master.cpp, lines 1427-1445
> > <https://reviews.apache.org/r/14669/diff/18/?file=392804#file392804line1427>
> >
> >     Unfortunately, the offer visitors won't be invoked if offerIds is empty.
> >     
> >     Also, the visitors can't be passed a reference to a slave or an offer if the
validity/out-lived check is written as a visitor.
> >     
> >     Would you prefer to only pass a framework reference and pointer to the master
and do master->getOffer() & master->getSlave() in every visitor?
> >

I do have a version ready in case of the latter. You are right, the launchTask code looks
much cleaner but it introduces more code in the visitors. Also, Master::getSlave() and Master::getOffer()
needs to be made available to the visitors. I got around it by making the OfferVisitor a friend
of Master and have convenienve methods to let sub-classed visitors access Master::getSlave()
and Master::getOffer().

Let me know if that is the way we want to go, and I'll update the diff.


- Niklas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14669/#review32047
-----------------------------------------------------------


On Jan. 16, 2014, 9:27 a.m., Niklas Nielsen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14669/
> -----------------------------------------------------------
> 
> (Updated Jan. 16, 2014, 9:27 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, and Vinod Kone.
> 
> 
> Bugs: MESOS-749
>     https://issues.apache.org/jira/browse/MESOS-749
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Running tasks on more than one offer belonging to a single slave can be useful in situations
with multiple out-standing offers.
> 
> This patch extends the usual launchTasks() to accept a vector of OfferIDs. The previous
launchTasks (accepting a single OfferID) has been kept for backward compatibility, but this
now calls the new launchTasks() with a one-element list.
> This also applied for the JNI and python interfaces, which accepts both formats as well.
> 
> Offers are verified to belong to the same slave and framework, before resources are merged
and used.
> 
> 
> Diffs
> -----
> 
>   include/mesos/scheduler.hpp 8063997 
>   src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 9869929 
>   src/java/src/org/apache/mesos/MesosSchedulerDriver.java ed4b4a3 
>   src/java/src/org/apache/mesos/SchedulerDriver.java 5b0ca39 
>   src/master/master.hpp 18a6cc4 
>   src/master/master.cpp 008033e 
>   src/messages/messages.proto 1f264d5 
>   src/python/native/mesos_scheduler_driver_impl.cpp 059ed5d 
>   src/sched/sched.cpp f9028e8 
>   src/tests/master_tests.cpp d34450b 
>   src/tests/resource_offers_tests.cpp 9beb949 
> 
> Diff: https://reviews.apache.org/r/14669/diff/
> 
> 
> Testing
> -------
> 
> Three new tests has been added: LaunchCombinedOfferTest, LaunchAcrossSlavesTest and LaunchDuplicateOfferTest
> This test ensures that:
> 1) Multiple offers can be used to run a single task (requesting the sum of offer resources).
> 2) Offers cannot span multiple slaves.
> 3) No offers can appear more than once in offer list.
> 
> $ make check
> ...
> [ RUN      ] MasterTest.LaunchCombinedOfferTest
> [       OK ] MasterTest.LaunchCombinedOfferTest (2010 ms)
> [ RUN      ] MasterTest.LaunchAcrossSlavesTest
> [       OK ] MasterTest.LaunchAcrossSlavesTest (3 ms)
> [ RUN      ] MasterTest.LaunchDuplicateOfferTest
> [       OK ] MasterTest.LaunchDuplicateOfferTest (3 ms)
> ...
> 
> 
> Thanks,
> 
> Niklas Nielsen
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message