This is an automated email from the ASF dual-hosted git repository.

bmahler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit fa122214fdabbb140971059b5ea21d8542850df7
Author: Andrei Sekretenko <[email protected]>
AuthorDate: Thu Jul 4 18:07:21 2019 -0400

    Added suppressOffers(roles) to V0 Java bindings.
    
    Review: https://reviews.apache.org/r/70985/
---
 .../jni/org_apache_mesos_MesosSchedulerDriver.cpp  | 24 +++++++++++++++++++++-
 .../src/org/apache/mesos/MesosSchedulerDriver.java |  2 ++
 src/java/src/org/apache/mesos/SchedulerDriver.java | 14 +++++++++++++
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
index fd852fd..1817bba 100644
--- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
+++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
@@ -981,7 +981,7 @@ 
Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers__Ljava_util_Collection_2
  * Signature: ()Lorg/apache/mesos/Protos/Status;
  */
 JNIEXPORT jobject JNICALL
-Java_org_apache_mesos_MesosSchedulerDriver_suppressOffers(
+Java_org_apache_mesos_MesosSchedulerDriver_suppressOffers__(
     JNIEnv* env, jobject thiz)
 {
   jclass clazz = env->GetObjectClass(thiz);
@@ -998,6 +998,28 @@ Java_org_apache_mesos_MesosSchedulerDriver_suppressOffers(
 
 /*
  * Class:     org_apache_mesos_MesosSchedulerDriver
+ * Method:    suppressOffersForRoles
+ * Signature: (Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status;
+ */
+JNIEXPORT jobject JNICALL
+Java_org_apache_mesos_MesosSchedulerDriver_suppressOffers__Ljava_util_Collection_2(
 // NOLINT(whitespace/line_length)
+    JNIEnv* env, jobject thiz, jobject jroles)
+{
+  jclass clazz = env->GetObjectClass(thiz);
+
+  jfieldID __driver = env->GetFieldID(clazz, "__driver", "J");
+  MesosSchedulerDriver* driver =
+    (MesosSchedulerDriver*) env->GetLongField(thiz, __driver);
+
+  Status status =
+    driver->suppressOffers(constructFromIterable<string>(env, jroles));
+
+  return convert<Status>(env, status);
+}
+
+
+/*
+ * Class:     org_apache_mesos_MesosSchedulerDriver
  * Method:    requestResources
  * Signature: (Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status;
  */
diff --git a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
index c373436..3e74be9 100644
--- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
+++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java
@@ -397,6 +397,8 @@ public class MesosSchedulerDriver implements 
SchedulerDriver {
 
   public native Status suppressOffers();
 
+  public native Status suppressOffers(Collection<String> roles);
+
   public native Status acknowledgeStatusUpdate(TaskStatus status);
 
   public native Status sendFrameworkMessage(ExecutorID executorId,
diff --git a/src/java/src/org/apache/mesos/SchedulerDriver.java 
b/src/java/src/org/apache/mesos/SchedulerDriver.java
index 25ba439..e04916e 100644
--- a/src/java/src/org/apache/mesos/SchedulerDriver.java
+++ b/src/java/src/org/apache/mesos/SchedulerDriver.java
@@ -301,6 +301,20 @@ public interface SchedulerDriver {
   Status suppressOffers();
 
   /**
+   * Adds the roles to the suppressed set. If the framework is not connected
+   * to the master, an up-to-date set of suppressed roles will be sent to
+   * the master during re-registration.
+   *
+   * @param roles The collection of framework roles to be suppressed.
+   *              If empty, the method does nothing.
+   *
+   * @return    The state of the driver after the call.
+   *
+   * @see Status
+   */
+  Status suppressOffers(Collection<String> roles);
+
+  /**
    * 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

Reply via email to