com.hazelcast.instance.Node.isMaster()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(9.0k)|赞(0)|评价(0)|浏览(87)

本文整理了Java中com.hazelcast.instance.Node.isMaster()方法的一些代码示例,展示了Node.isMaster()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.isMaster()方法的具体详情如下:
包路径:com.hazelcast.instance.Node
类名称:Node
方法名:isMaster

Node.isMaster介绍

暂无

代码示例

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public boolean hasOnGoingMigration() {
  return hasOnGoingMigrationLocal()
      || (!node.isMaster() && partitionReplicaStateChecker.hasOnGoingMigrationMaster(Level.FINEST));
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public boolean hasOnGoingMigration() {
  return hasOnGoingMigrationLocal()
      || (!node.isMaster() && partitionReplicaStateChecker.hasOnGoingMigrationMaster(Level.FINEST));
}

代码示例来源:origin: hazelcast/hazelcast-jet

public void onMessage(Object msg) {
    if (msg instanceof SplitBrainJoinMessage) {
      SplitBrainJoinMessage joinRequest = (SplitBrainJoinMessage) msg;
      Address thisAddress = node.getThisAddress();
      // only master nodes execute the SplitBrainHandler that processes SplitBrainJoinMessages
      if (!thisAddress.equals(joinRequest.getAddress()) && node.isMaster()) {
        deque.addFirst(joinRequest);
      }
    }
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

public void onMessage(Object msg) {
    if (msg instanceof SplitBrainJoinMessage) {
      SplitBrainJoinMessage joinRequest = (SplitBrainJoinMessage) msg;
      Address thisAddress = node.getThisAddress();
      // only master nodes execute the SplitBrainHandler that processes SplitBrainJoinMessages
      if (!thisAddress.equals(joinRequest.getAddress()) && node.isMaster()) {
        deque.addFirst(joinRequest);
      }
    }
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public PartitionRuntimeState firstArrangement() {
  if (!node.isMaster()) {
    triggerMasterToAssignPartitions();
    return null;
  }
  lock.lock();
  try {
    if (!partitionStateManager.isInitialized()) {
      Set<Address> excludedAddresses = migrationManager.getShutdownRequestedAddresses();
      if (partitionStateManager.initializePartitionAssignments(excludedAddresses)) {
        publishPartitionRuntimeState();
      }
    }
    return createPartitionStateInternal();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public PartitionRuntimeState firstArrangement() {
  if (!node.isMaster()) {
    triggerMasterToAssignPartitions();
    return null;
  }
  lock.lock();
  try {
    if (!partitionStateManager.isInitialized()) {
      Set<Member> excludedMembers = migrationManager.getShutdownRequestedMembers();
      if (partitionStateManager.initializePartitionAssignments(excludedMembers)) {
        publishPartitionRuntimeState();
      }
    }
    return createPartitionStateInternal();
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public void memberAdded(Member member) {
  logger.fine("Adding " + member);
  lock.lock();
  try {
    lastMaster = node.getClusterService().getMasterAddress();
    if (!member.localMember()) {
      partitionStateManager.updateMemberGroupsSize();
    }
    if (node.isMaster()) {
      if (partitionStateManager.isInitialized()) {
        migrationManager.triggerControlTask();
      }
    }
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public void memberAdded(MemberImpl member) {
  logger.fine("Adding " + member);
  lock.lock();
  try {
    lastMaster = node.getClusterService().getMasterAddress();
    if (!member.localMember()) {
      partitionStateManager.updateMemberGroupsSize();
    }
    if (node.isMaster()) {
      if (partitionStateManager.isInitialized()) {
        migrationManager.triggerControlTask();
      }
    }
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public void memberAdded(MembershipEvent membershipEvent) {
  try {
    Member member = membershipEvent.getMember();
    if (member != null && instance.node.isMaster() && urlChanged) {
      UpdateManagementCenterUrlOperation operation
          = new UpdateManagementCenterUrlOperation(managementCenterUrl);
      resolveFuture(callOnMember(member, operation));
    }
  } catch (Exception e) {
    logger.warning("Web server url cannot be send to the newly joined member", e);
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public void memberAdded(MembershipEvent membershipEvent) {
  try {
    Member member = membershipEvent.getMember();
    if (member != null && instance.node.isMaster() && urlChanged) {
      UpdateManagementCenterUrlOperation operation
          = new UpdateManagementCenterUrlOperation(managementCenterUrl);
      resolveFuture(callOnMember(member, operation));
    }
  } catch (Exception e) {
    logger.warning("Web server url cannot be send to the newly joined member", e);
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

public PartitionServiceState getPartitionServiceState() {
  if (partitionService.isFetchMostRecentPartitionTableTaskRequired()) {
    return FETCHING_PARTITION_TABLE;
  }
  if (hasMissingReplicaOwners()) {
    return REPLICA_NOT_OWNED;
  }
  if (migrationManager.hasOnGoingMigration()) {
    return MIGRATION_LOCAL;
  }
  if (!node.isMaster() && hasOnGoingMigrationMaster(Level.OFF)) {
    return MIGRATION_ON_MASTER;
  }
  if (!checkAndTriggerReplicaSync()) {
    return REPLICA_NOT_SYNC;
  }
  return SAFE;
}

代码示例来源:origin: com.hazelcast/hazelcast-all

public PartitionServiceState getPartitionServiceState() {
  if (partitionService.isFetchMostRecentPartitionTableTaskRequired()) {
    return FETCHING_PARTITION_TABLE;
  }
  if (hasMissingReplicaOwners()) {
    return REPLICA_NOT_OWNED;
  }
  if (migrationManager.hasOnGoingMigration()) {
    return MIGRATION_LOCAL;
  }
  if (!node.isMaster() && hasOnGoingMigrationMaster(Level.OFF)) {
    return MIGRATION_ON_MASTER;
  }
  if (!checkAndTriggerReplicaSync()) {
    return REPLICA_NOT_SYNC;
  }
  return SAFE;
}

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public void replicaChanged(PartitionReplicaChangeEvent event) {
  final int partitionId = event.getPartitionId();
  final int replicaIndex = event.getReplicaIndex();
  if (replicaIndex == 0) {
    partitionService.getReplicaManager().cancelReplicaSync(partitionId);
  }
  if (node.isMaster()) {
    partitionService.getPartitionStateManager().incrementVersion();
  }
  callListeners(event);
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public void replicaChanged(PartitionReplicaChangeEvent event) {
  final int partitionId = event.getPartitionId();
  final int replicaIndex = event.getReplicaIndex();
  if (replicaIndex == 0) {
    partitionService.getReplicaManager().cancelReplicaSync(partitionId);
  }
  if (node.isMaster()) {
    partitionService.getPartitionStateManager().incrementVersion();
  }
  callListeners(event);
}

代码示例来源:origin: hazelcast/hazelcast-jet

@Override
public Address getPartitionOwner(int partitionId) {
  if (!partitionStateManager.isInitialized()) {
    firstArrangement();
  }
  final InternalPartition partition = partitionStateManager.getPartitionImpl(partitionId);
  if (partition.getOwnerReplicaOrNull() == null && !node.isMaster()) {
    if (!isClusterFormedByOnlyLiteMembers()) {
      triggerMasterToAssignPartitions();
    }
  }
  return partition.getOwnerOrNull();
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
public Address getPartitionOwner(int partitionId) {
  if (!partitionStateManager.isInitialized()) {
    firstArrangement();
  }
  final InternalPartition partition = partitionStateManager.getPartitionImpl(partitionId);
  if (partition.getOwnerOrNull() == null && !node.isMaster()) {
    if (!isClusterFormedByOnlyLiteMembers()) {
      triggerMasterToAssignPartitions();
    }
  }
  return partition.getOwnerOrNull();
}

代码示例来源:origin: hazelcast/hazelcast-jet

void sendPartitionRuntimeState(Address target) {
  assert partitionStateManager.isInitialized();
  assert node.isMaster();
  assert areMigrationTasksAllowed();
  PartitionRuntimeState partitionState = createPartitionStateInternal();
  assert partitionState != null;
  if (logger.isFineEnabled()) {
    logger.fine("Sending partition state, version: " + partitionState.getVersion() + ", to " + target);
  }
  OperationService operationService = nodeEngine.getOperationService();
  PartitionStateOperation op = new PartitionStateOperation(partitionState, true);
  operationService.invokeOnTarget(SERVICE_NAME, op, target);
}

代码示例来源:origin: com.hazelcast/hazelcast-all

/** Clears the migration queue and triggers the control task. Called on the master node. */
void triggerControlTask() {
  migrationQueue.clear();
  if (!node.getClusterService().isJoined()) {
    logger.fine("Node is not joined, will not trigger ControlTask");
    return;
  }
  if (!node.isMaster()) {
    logger.fine("Node is not master, will not trigger ControlTask");
    return;
  }
  migrationQueue.add(new ControlTask());
  if (logger.isFinestEnabled()) {
    logger.finest("Migration queue is cleared and control task is scheduled");
  }
}

代码示例来源:origin: hazelcast/hazelcast-jet

/** Clears the migration queue and triggers the control task. Called on the master node. */
void triggerControlTask() {
  migrationQueue.clear();
  if (!node.getClusterService().isJoined()) {
    logger.fine("Node is not joined, will not trigger ControlTask");
    return;
  }
  if (!node.isMaster()) {
    logger.fine("Node is not master, will not trigger ControlTask");
    return;
  }
  migrationQueue.add(new ControlTask());
  if (logger.isFinestEnabled()) {
    logger.finest("Migration queue is cleared and control task is scheduled");
  }
}

代码示例来源:origin: com.hazelcast/hazelcast-all

@Override
  public void run() {
    if (node.isMaster()) {
      MigrationManager migrationManager = partitionService.getMigrationManager();
      boolean migrationAllowed = migrationManager.isMigrationAllowed()
          && !partitionService.isFetchMostRecentPartitionTableTaskRequired();
      if (!migrationAllowed) {
        logger.fine("Not publishing partition runtime state since migration is not allowed.");
        return;
      }

      if (migrationManager.hasOnGoingMigration()) {
        logger.info("Remaining migration tasks in queue => " + partitionService.getMigrationQueueSize());
      }

      if (node.getState() == NodeState.ACTIVE) {
        partitionService.publishPartitionRuntimeState();
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多