@Test public void requestRoleFor() { mgr.setRole(NID_LOCAL, DEV_MASTER, MASTER); mgr.setRole(NID_OTHER, DEV_OTHER, MASTER); assertEquals("wrong role:", MASTER, Futures.getUnchecked(mgr.requestRoleFor(DEV_MASTER))); assertEquals("wrong role:", STANDBY, Futures.getUnchecked(mgr.requestRoleFor(DEV_OTHER))); }
@Override public CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId) { checkPermission(CLUSTER_WRITE); checkNotNull(deviceId, DEVICE_ID_NULL); final Context timer = startTimer(requestRoleTimer); return store.requestRole(deviceId).whenComplete((result, error) -> stopTimer(timer)); }
MastershipManager extends AbstractListenerManager<MastershipEvent, MastershipListener> implements MastershipService, MastershipAdminService, MastershipTermService,
               MetricsHelper { @Override public CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId) { checkPermission(CLUSTER_WRITE); checkNotNull(deviceId, DEVICE_ID_NULL); final Context timer = startTimer(requestRoleTimer); return store.requestRole(deviceId).whenComplete((result, error) -> stopTimer(timer)); } }
MastershipManager extends AbstractListenerManager<MastershipEvent, MastershipListener> implements MastershipService, MastershipAdminService, MastershipTermService,
               MetricsHelper { @Override public CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId) { checkPermission(CLUSTER_WRITE); checkNotNull(deviceId, DEVICE_ID_NULL); final Context timer = startTimer(requestRoleTimer); return store.requestRole(deviceId).whenComplete((result, error) -> stopTimer(timer)); }  }
MastershipManager extends AbstractListenerManager<MastershipEvent, MastershipListener> implements MastershipService, MastershipAdminService, MastershipTermService,
               MetricsHelper { @Override public CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId) { checkPermission(CLUSTER_WRITE); checkNotNull(deviceId, DEVICE_ID_NULL); final Context timer = startTimer(requestRoleTimer); return store.requestRole(deviceId).whenComplete((result, error) -> stopTimer(timer)); }  @Activate void activate(); @Deactivate void deactivate(); @Override CompletableFuture<Void> setRole(NodeId nodeId, DeviceId deviceId, MastershipRole role); @Override MastershipRole getLocalRole(DeviceId deviceId); @Override CompletableFuture<Void> relinquishMastership(DeviceId deviceId); @Override CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId); @Override NodeId getMasterFor(DeviceId deviceId); @Override Set<DeviceId> getDevicesOf(NodeId nodeId); @Override RoleInfo getNodesFor(DeviceId deviceId); @Override MastershipTerm getMastershipTerm(DeviceId deviceId); @Override MetricsService metricsService(); @Override void balanceRoles(); }
MastershipManager extends AbstractListenerManager<MastershipEvent, MastershipListener> implements MastershipService, MastershipAdminService, MastershipTermService,
               MetricsHelper { @Override public CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId) { checkPermission(CLUSTER_WRITE); checkNotNull(deviceId, DEVICE_ID_NULL); final Context timer = startTimer(requestRoleTimer); return store.requestRole(deviceId).whenComplete((result, error) -> stopTimer(timer)); }  @Activate void activate(); @Deactivate void deactivate(); @Override CompletableFuture<Void> setRole(NodeId nodeId, DeviceId deviceId, MastershipRole role); @Override MastershipRole getLocalRole(DeviceId deviceId); @Override CompletableFuture<Void> relinquishMastership(DeviceId deviceId); @Override CompletableFuture<MastershipRole> requestRoleFor(DeviceId deviceId); @Override NodeId getMasterFor(DeviceId deviceId); @Override Set<DeviceId> getDevicesOf(NodeId nodeId); @Override RoleInfo getNodesFor(DeviceId deviceId); @Override MastershipTerm getMastershipTerm(DeviceId deviceId); @Override MetricsService metricsService(); @Override void balanceRoles(); public boolean useRegionForBalanceRoles; }