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 f2deec5e57a84cef0033bda45ee87ee4259ab4c7 Author: Andrei Sekretenko <[email protected]> AuthorDate: Mon Jul 1 23:21:25 2019 -0400 Supported suppressedRoles in updateFramework() in V0 Java bindings. Review: https://reviews.apache.org/r/70897/ --- src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp | 9 ++++++--- src/java/src/org/apache/mesos/MesosSchedulerDriver.java | 3 ++- src/java/src/org/apache/mesos/SchedulerDriver.java | 11 +++++++---- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp index 167f232..5ac9a64 100644 --- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp +++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp @@ -1001,22 +1001,25 @@ Java_org_apache_mesos_MesosSchedulerDriver_reconcileTasks( /* Class: org_apache_mesos_MesosSchedulerDriver * Method: updateFramework - * Signature: (Lorg/apache/mesos/Protos/FrameworkInfo;)Lorg/apache/mesos/Protos/Status; + * Signature: (Lorg/apache/mesos/Protos/FrameworkInfo;Ljava/util/Collection;)Lorg/apache/mesos/Protos/Status; */ JNIEXPORT jobject JNICALL Java_org_apache_mesos_MesosSchedulerDriver_updateFramework( - JNIEnv* env, jobject thiz, jobject jframeworkInfo) + JNIEnv* env, jobject thiz, jobject jframeworkInfo, jobject jsuppressedRoles) { const FrameworkInfo& frameworkInfo = construct<FrameworkInfo>(env, jframeworkInfo); + const vector<string> suppressedRoles = + constructFromIterable<string>(env, jsuppressedRoles); + jclass clazz = env->GetObjectClass(thiz); jfieldID __driver = env->GetFieldID(clazz, "__driver", "J"); MesosSchedulerDriver* driver = (MesosSchedulerDriver*) env->GetLongField(thiz, __driver); - Status status = driver->updateFramework(frameworkInfo, {}); + Status status = driver->updateFramework(frameworkInfo, suppressedRoles); return convert<Status>(env, status); } diff --git a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java index 55ebc87..fb16b67 100644 --- a/src/java/src/org/apache/mesos/MesosSchedulerDriver.java +++ b/src/java/src/org/apache/mesos/MesosSchedulerDriver.java @@ -298,7 +298,8 @@ public class MesosSchedulerDriver implements SchedulerDriver { public native Status reconcileTasks(Collection<TaskStatus> statuses); - public native Status updateFramework(FrameworkInfo frameworkInfo); + public native Status updateFramework(FrameworkInfo frameworkInfo, + Collection<String> suppressedRoles); protected native void initialize(); protected native void finalize(); diff --git a/src/java/src/org/apache/mesos/SchedulerDriver.java b/src/java/src/org/apache/mesos/SchedulerDriver.java index f92521a..155e4ac 100644 --- a/src/java/src/org/apache/mesos/SchedulerDriver.java +++ b/src/java/src/org/apache/mesos/SchedulerDriver.java @@ -336,9 +336,9 @@ public interface SchedulerDriver { Status reconcileTasks(Collection<TaskStatus> statuses); /** - * Inform Mesos master about changes to the `FrameworkInfo`. The - * driver will store the new `FrameworkInfo` and all subsequent - * re-registrations will use it. + * Inform Mesos master about changes to the `FrameworkInfo` and the list of + * suppressed roles. The driver will store the new `FrameworkInfo` and the new + * suppressed roles list, and all subsequent re-registrations will use it. * * NOTE: If the supplied info is invalid or fails authorization, * the `error()` callback will be invoked asynchronously (after @@ -354,9 +354,12 @@ public interface SchedulerDriver { * * @param frameworkInfo The new FrameworkInfo. * + * @param suppressedRoles The new list of suppressed roles. + * * @return The state of the driver after the call. * * @see FrameworkInfo */ - Status updateFramework(FrameworkInfo frameworkInfo); + Status updateFramework(FrameworkInfo frameworkInfo, + Collection<String> suppressedRoles); }
