@Override public void executeOperation(Operation operation) { checkNotNull(operation, "operation cannot be null"); operationService.execute(operation); } }
@Override public void executeOperation(Operation operation) { checkNotNull(operation, "operation cannot be null"); operationService.execute(operation); } }
@Override public void run() { nodeEngine.getOperationService().execute(op); }
@Override public void run() { nodeEngine.getOperationService().execute(op); }
/** Reruns this operation with {@link #beforeStateCompleted} set to {@code true}. */ private void onBeforePromotionsComplete() { beforeStateCompleted = true; getNodeEngine().getOperationService().execute(this); }
/** Reruns this operation with {@link #beforeStateCompleted} set to {@code true}. */ private void onBeforePromotionsComplete() { beforeStateCompleted = true; getNodeEngine().getOperationService().execute(this); }
private void invokeOnAllMembers(Supplier<Operation> operationSupplier) { NodeEngineImpl nodeEngine = instance.node.nodeEngine; OperationService os = nodeEngine.getOperationService(); try { for (Member member : nodeEngine.getClusterService().getMembers()) { if (!member.localMember()) { os.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, operationSupplier.get(), member.getAddress()); } else { os.execute(operationSupplier.get()); } } } catch (Throwable t) { throw ExceptionUtil.rethrow(t); } }
private void invokeOnAllMembers(Supplier<Operation> operationSupplier) { NodeEngineImpl nodeEngine = instance.node.nodeEngine; OperationService os = nodeEngine.getOperationService(); try { for (Member member : nodeEngine.getClusterService().getMembers()) { if (!member.localMember()) { os.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, operationSupplier.get(), member.getAddress()); } else { os.execute(operationSupplier.get()); } } } catch (Throwable t) { throw ExceptionUtil.rethrow(t); } }
private void executeNotifyOperation(Sequence flushSequence) { if (!flushSequence.isFullFlush() || !nodeEngine.getPartitionService().isPartitionOwner(partitionId)) { return; } Operation operation = new NotifyMapFlushOperation(mapName, flushSequence.getSequence()); operation.setServiceName(SERVICE_NAME) .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setCallerUuid(nodeEngine.getLocalMember().getUuid()) .setOperationResponseHandler(createEmptyResponseHandler()); operationService.execute(operation); }
private void executeNotifyOperation(Sequence flushSequence) { if (!flushSequence.isFullFlush() || !nodeEngine.getPartitionService().isPartitionOwner(partitionId)) { return; } Operation operation = new NotifyMapFlushOperation(mapName, flushSequence.getSequence()); operation.setServiceName(SERVICE_NAME) .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setCallerUuid(nodeEngine.getLocalMember().getUuid()) .setOperationResponseHandler(createEmptyResponseHandler()); operationService.execute(operation); }
/** Processes the sent partition state and sends {@link FinalizePromotionOperation} for all promotions. */ private void finalizePromotion() { NodeEngine nodeEngine = getNodeEngine(); InternalPartitionServiceImpl partitionService = getService(); OperationService operationService = nodeEngine.getOperationService(); partitionState.setMaster(getCallerAddress()); success = partitionService.processPartitionRuntimeState(partitionState); ILogger logger = getLogger(); if (!success) { logger.severe("Promotion of " + promotions.size() + " partitions failed. " + ". Promotion partition state version: " + partitionState.getVersion() + ", current partition state version: " + partitionService.getPartitionStateVersion()); } if (logger.isFineEnabled()) { logger.fine("Submitting FinalizePromotionOperations for " + promotions.size() + " promotions. Result: " + success + ". Promotion partition state version: " + partitionState.getVersion() + ", current partition state version: " + partitionService.getPartitionStateVersion()); } for (MigrationInfo promotion : promotions) { if (logger.isFinestEnabled()) { logger.finest("Submitting FinalizePromotionOperation for promotion: " + promotion + ". Result: " + success); } FinalizePromotionOperation op = new FinalizePromotionOperation(promotion, success); op.setPartitionId(promotion.getPartitionId()).setNodeEngine(nodeEngine).setService(partitionService); operationService.execute(op); } partitionService.getInternalMigrationListener() .onPromotionComplete(MigrationParticipant.DESTINATION, promotions, success); partitionService.getMigrationManager().releasePromotionPermit(); }
/** Processes the sent partition state and sends {@link FinalizePromotionOperation} for all promotions. */ private void finalizePromotion() { NodeEngine nodeEngine = getNodeEngine(); InternalPartitionServiceImpl partitionService = getService(); OperationService operationService = nodeEngine.getOperationService(); partitionState.setEndpoint(getCallerAddress()); success = partitionService.processPartitionRuntimeState(partitionState); ILogger logger = getLogger(); if (!success) { logger.severe("Promotion of " + promotions.size() + " partitions failed. " + ". Promotion partition state version: " + partitionState.getVersion() + ", current partition state version: " + partitionService.getPartitionStateVersion()); } if (logger.isFineEnabled()) { logger.fine("Submitting FinalizePromotionOperations for " + promotions.size() + " promotions. Result: " + success + ". Promotion partition state version: " + partitionState.getVersion() + ", current partition state version: " + partitionService.getPartitionStateVersion()); } for (MigrationInfo promotion : promotions) { if (logger.isFinestEnabled()) { logger.finest("Submitting FinalizePromotionOperation for promotion: " + promotion + ". Result: " + success); } FinalizePromotionOperation op = new FinalizePromotionOperation(promotion, success); op.setPartitionId(promotion.getPartitionId()).setNodeEngine(nodeEngine).setService(partitionService); operationService.execute(op); } partitionService.getInternalMigrationListener() .onPromotionComplete(MigrationParticipant.DESTINATION, promotions, success); partitionService.getMigrationManager().releasePromotionPermit(); }