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