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 286d7bd1cd3a62d244c0ac3216d4a130d1408a99 Author: Andrei Sekretenko <[email protected]> AuthorDate: Thu Jul 4 18:05:53 2019 -0400 Added reviveOffers(roles) to V0 Java bindings. Review: https://reviews.apache.org/r/70947/ --- .../jni/org_apache_mesos_MesosSchedulerDriver.cpp | 24 +++++++++++++++++++++- .../src/org/apache/mesos/MesosSchedulerDriver.java | 2 ++ src/java/src/org/apache/mesos/SchedulerDriver.java | 15 ++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp index f81a69a..fd852fd 100644 --- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp +++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp @@ -938,7 +938,7 @@ Java_org_apache_mesos_MesosSchedulerDriver_declineOffer( * Signature: ()Lorg/apache/mesos/Protos/Status; */ JNIEXPORT jobject JNICALL -Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers( +Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers__( JNIEnv* env, jobject thiz) { jclass clazz = env->GetObjectClass(thiz); @@ -955,6 +955,28 @@ Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers( /* * Class: org_apache_mesos_MesosSchedulerDriver + * Method: reviveOffersForRoles + * Signature: (Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status; + */ +JNIEXPORT jobject JNICALL +Java_org_apache_mesos_MesosSchedulerDriver_reviveOffers__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->reviveOffers(constructFromIterable<string>(env, jroles)); + + return convert<Status>(env, status); +} + + +/* + * Class: org_apache_mesos_MesosSchedulerDriver * Method: suppressOffers * Signature: ()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 772a738..c373436 100644 --- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java +++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java @@ -393,6 +393,8 @@ public class MesosSchedulerDriver implements SchedulerDriver { public native Status reviveOffers(); + public native Status reviveOffers(Collection<String> roles); + public native Status suppressOffers(); public native Status acknowledgeStatusUpdate(TaskStatus status); diff --git a/src/java/src/org/apache/mesos/SchedulerDriver.java b/src/java/src/org/apache/mesos/SchedulerDriver.java index 155e4ac..25ba439 100644 --- a/src/java/src/org/apache/mesos/SchedulerDriver.java +++ b/src/java/src/org/apache/mesos/SchedulerDriver.java @@ -269,6 +269,21 @@ public interface SchedulerDriver { Status reviveOffers(); /** + * Removes filters for the specified roles and removes these roles from + * 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 the framework roles to be revivied. + * If empty, this method does nothing. + * + * @return The state of the driver after the call. + * + * @see Status + */ + Status reviveOffers(Collection<String> roles); + + /** * Informs Mesos master to stop sending offers to the framework (i.e. * to suppress all roles of the framework). To resume getting offers, * the scheduler can call reviveOffers() or set the suppressed roles
