private void setOperationResponseHandler(Operation op) { OperationResponseHandler handler = outboundResponseHandler; if (op.getCallId() == 0) { if (op.returnsResponse()) { throw new HazelcastException( "Operation " + op + " wants to return a response, but doesn't have a call ID"); } handler = createEmptyResponseHandler(); } op.setOperationResponseHandler(handler); }
private void prepareOperation(Operation op) { int partitionId = getPartitionId(); int replicaIndex = getReplicaIndex(); NodeEngine nodeEngine = getNodeEngine(); ILogger opLogger = nodeEngine.getLogger(op.getClass()); OperationResponseHandler responseHandler = createErrorLoggingResponseHandler(opLogger); op.setNodeEngine(nodeEngine).setPartitionId(partitionId) .setReplicaIndex(replicaIndex).setOperationResponseHandler(responseHandler); }
private void setOperationResponseHandler(Operation op) { OperationResponseHandler handler = outboundResponseHandler; if (op.getCallId() == 0) { if (op.returnsResponse()) { throw new HazelcastException( "Operation " + op + " wants to return a response, but doesn't have a call ID"); } handler = createEmptyResponseHandler(); } op.setOperationResponseHandler(handler); }
private void prepareOperation(Operation op) { int partitionId = getPartitionId(); int replicaIndex = getReplicaIndex(); NodeEngine nodeEngine = getNodeEngine(); ILogger opLogger = nodeEngine.getLogger(op.getClass()); OperationResponseHandler responseHandler = createErrorLoggingResponseHandler(opLogger); op.setNodeEngine(nodeEngine).setPartitionId(partitionId) .setReplicaIndex(replicaIndex).setOperationResponseHandler(responseHandler); }
protected void startClusterMerge(Address targetAddress, int expectedMemberListVersion) { ClusterServiceImpl clusterService = node.clusterService; if (!prepareClusterState(clusterService, expectedMemberListVersion)) { return; } OperationService operationService = node.nodeEngine.getOperationService(); Collection<Member> memberList = clusterService.getMembers(); Collection<Future> futures = new ArrayList<Future>(memberList.size()); for (Member member : memberList) { if (!member.localMember()) { Operation op = new MergeClustersOp(targetAddress); Future<Object> future = operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, op, member.getAddress()); futures.add(future); } } waitWithDeadline(futures, SPLIT_BRAIN_MERGE_TIMEOUT_SECONDS, TimeUnit.SECONDS, splitBrainMergeExceptionHandler); Operation op = new MergeClustersOp(targetAddress); op.setNodeEngine(node.nodeEngine).setService(clusterService).setOperationResponseHandler(createEmptyResponseHandler()); operationService.run(op); }
@Override public void beforeRun() throws Exception { if (operations != null && operations.length > 0) { final NodeEngine nodeEngine = getNodeEngine(); final int len = operations.length; OperationResponseHandler responseHandler = createErrorLoggingResponseHandler(getLogger()); for (int i = 0; i < len; i++) { final Operation op = operations[i]; op.setNodeEngine(nodeEngine); op.setOperationResponseHandler(responseHandler); OperationAccessor.setCallerAddress(op, getCallerAddress()); OperationAccessor.setConnection(op, getConnection()); operations[i] = op; } } }
protected void startClusterMerge(Address targetAddress, int expectedMemberListVersion) { ClusterServiceImpl clusterService = node.clusterService; if (!prepareClusterState(clusterService, expectedMemberListVersion)) { return; } OperationService operationService = node.nodeEngine.getOperationService(); Collection<Member> memberList = clusterService.getMembers(); Collection<Future> futures = new ArrayList<Future>(memberList.size()); for (Member member : memberList) { if (!member.localMember()) { Operation op = new MergeClustersOp(targetAddress); Future<Object> future = operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, op, member.getAddress()); futures.add(future); } } waitWithDeadline(futures, SPLIT_BRAIN_MERGE_TIMEOUT_SECONDS, TimeUnit.SECONDS, splitBrainMergeExceptionHandler); Operation op = new MergeClustersOp(targetAddress); op.setNodeEngine(node.nodeEngine).setService(clusterService).setOperationResponseHandler(createEmptyResponseHandler()); operationService.run(op); }
@Override public void beforeRun() throws Exception { if (operations != null && operations.length > 0) { final NodeEngine nodeEngine = getNodeEngine(); final int len = operations.length; OperationResponseHandler responseHandler = createErrorLoggingResponseHandler(getLogger()); for (int i = 0; i < len; i++) { final Operation op = operations[i]; op.setNodeEngine(nodeEngine); op.setOperationResponseHandler(responseHandler); OperationAccessor.setCallerAddress(op, getCallerAddress()); OperationAccessor.setConnection(op, getConnection()); operations[i] = op; } } }
private boolean preparePostOp(Operation postOp) { if (postOp == null) { return false; } ClusterServiceImpl clusterService = getService(); NodeEngineImpl nodeEngine = clusterService.getNodeEngine(); postOp.setNodeEngine(nodeEngine); OperationAccessor.setCallerAddress(postOp, getCallerAddress()); OperationAccessor.setConnection(postOp, getConnection()); postOp.setOperationResponseHandler(createEmptyResponseHandler()); return true; }
private boolean preparePostOp(Operation postOp) { if (postOp == null) { return false; } ClusterServiceImpl clusterService = getService(); NodeEngineImpl nodeEngine = clusterService.getNodeEngine(); postOp.setNodeEngine(nodeEngine); OperationAccessor.setCallerAddress(postOp, getCallerAddress()); OperationAccessor.setConnection(postOp, getConnection()); postOp.setOperationResponseHandler(createEmptyResponseHandler()); return true; }
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 ensureBackupOperationInitialized() { if (!backupOperationInitialized) { backupOperationInitialized = true; backupOp.setNodeEngine(getNodeEngine()); backupOp.setPartitionId(getPartitionId()); backupOp.setReplicaIndex(getReplicaIndex()); backupOp.setCallerUuid(getCallerUuid()); OperationAccessor.setCallerAddress(backupOp, getCallerAddress()); OperationAccessor.setInvocationTime(backupOp, Clock.currentTimeMillis()); backupOp.setOperationResponseHandler(createEmptyResponseHandler()); } }
private void ensureBackupOperationInitialized() { if (!backupOperationInitialized) { backupOperationInitialized = true; backupOp.setNodeEngine(getNodeEngine()); backupOp.setPartitionId(getPartitionId()); backupOp.setReplicaIndex(getReplicaIndex()); backupOp.setCallerUuid(getCallerUuid()); OperationAccessor.setCallerAddress(backupOp, getCallerAddress()); OperationAccessor.setInvocationTime(backupOp, Clock.currentTimeMillis()); backupOp.setOperationResponseHandler(createEmptyResponseHandler()); } }
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); }