Added Java Support for QuiesceOffers. Review: https://reviews.apache.org/r/38120
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9c20b5d4 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9c20b5d4 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9c20b5d4 Branch: refs/heads/master Commit: 9c20b5d46f6c6d99802bf4cb1e461e594c347b64 Parents: c68f6d7 Author: Guangya Liu <[email protected]> Authored: Fri Sep 18 16:15:31 2015 -0700 Committer: Vinod Kone <[email protected]> Committed: Fri Sep 18 16:15:31 2015 -0700 ---------------------------------------------------------------------- .../org_apache_mesos_MesosSchedulerDriver.cpp | 20 ++++++++++++++++++++ .../org/apache/mesos/MesosSchedulerDriver.java | 2 ++ .../src/org/apache/mesos/SchedulerDriver.java | 10 ++++++++++ 3 files changed, 32 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/9c20b5d4/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp ---------------------------------------------------------------------- diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp index a89ebed..d8acc4f 100644 --- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp +++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp @@ -988,6 +988,26 @@ JNIEXPORT jobject JNICALL Java_org_apache_mesos_MesosSchedulerDriver_reviveOffer /* * Class: org_apache_mesos_MesosSchedulerDriver + * Method: quiesceOffers + * Signature: ()Lorg/apache/mesos/Protos/Status; + */ +JNIEXPORT jobject JNICALL Java_org_apache_mesos_MesosSchedulerDriver_quiesceOffers + (JNIEnv* env, jobject thiz) +{ + jclass clazz = env->GetObjectClass(thiz); + + jfieldID __driver = env->GetFieldID(clazz, "__driver", "J"); + MesosSchedulerDriver* driver = + (MesosSchedulerDriver*) env->GetLongField(thiz, __driver); + + Status status = driver->quiesceOffers(); + + return convert<Status>(env, status); +} + + +/* + * Class: org_apache_mesos_MesosSchedulerDriver * Method: requestResources * Signature: (Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status; */ http://git-wip-us.apache.org/repos/asf/mesos/blob/9c20b5d4/src/java/src/org/apache/mesos/MesosSchedulerDriver.java ---------------------------------------------------------------------- diff --git a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java index b9b2ea8..de88463 100644 --- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java +++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java @@ -288,6 +288,8 @@ public class MesosSchedulerDriver implements SchedulerDriver { public native Status reviveOffers(); + public native Status quiesceOffers(); + public native Status acknowledgeStatusUpdate(TaskStatus status); public native Status sendFrameworkMessage(ExecutorID executorId, http://git-wip-us.apache.org/repos/asf/mesos/blob/9c20b5d4/src/java/src/org/apache/mesos/SchedulerDriver.java ---------------------------------------------------------------------- diff --git a/src/java/src/org/apache/mesos/SchedulerDriver.java b/src/java/src/org/apache/mesos/SchedulerDriver.java index 183eec8..ba4bc58 100644 --- a/src/java/src/org/apache/mesos/SchedulerDriver.java +++ b/src/java/src/org/apache/mesos/SchedulerDriver.java @@ -251,6 +251,16 @@ public interface SchedulerDriver { Status reviveOffers(); /** + * Inform Mesos master to stop sending offers to the framework. The + * scheduler should call reviveOffers() to resume getting offers. + * + * @return The state of the driver after the call. + * + * @see Status + */ + Status quiesceOffers(); + + /** * Acknowledges the status update. This should only be called * once the status update is processed durably by the scheduler. * Not that explicit acknowledgements must be requested via the
