You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2015/09/19 01:17:02 UTC

[4/6] mesos git commit: Added Java Support for QuiesceOffers.

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 <gy...@gmail.com>
Authored: Fri Sep 18 16:15:31 2015 -0700
Committer: Vinod Kone <vi...@gmail.com>
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