use of com.sequenceiq.cloudbreak.api.endpoint.v4.stacks.base.InstanceStatus.ZOMBIE in project cloudbreak by hortonworks.
the class ClusterService method updateInstancesToZombie.
public void updateInstancesToZombie(Long stackId, Set<Node> unreachableNodes) {
Set<String> unreachableInstanceIds = unreachableNodes.stream().map(Node::getInstanceId).collect(Collectors.toSet());
LOGGER.debug("Update instance statuses to ZOMBIE, instanceIds: {}", unreachableInstanceIds);
try {
transactionService.required(() -> {
Set<InstanceMetaData> notDeletedInstanceMetadatas = instanceMetaDataService.getNotDeletedAndNotZombieInstanceMetadataByStackId(stackId);
notDeletedInstanceMetadatas.stream().filter(instanceMetadata -> unreachableInstanceIds.contains(instanceMetadata.getInstanceId())).forEach(instanceMetadata -> {
instanceMetadata.setInstanceStatus(ZOMBIE);
instanceMetaDataService.save(instanceMetadata);
});
});
} catch (TransactionExecutionException e) {
throw new TransactionRuntimeExecutionException(e);
}
}
Aggregations