if (manager == null || cluster == null) {
throw new StageException("Missing attributes in event:" + event
+ ". Requires HelixManager | DataCache");
}
HelixManagerProperties properties = manager.getProperties();
// Map<String, LiveInstance> liveInstanceMap = cache.getLiveInstances();
Map<ParticipantId, Participant> liveParticipants = cluster.getLiveParticipantMap();
for (Participant liveParticipant : liveParticipants.values()) {
HelixVersion version = liveParticipant.getRunningInstance().getVersion();
String participantVersion = (version != null) ? version.toString() : null;
if (!properties.isParticipantCompatible(participantVersion)) {
String errorMsg =
"incompatible participant. pipeline will not continue. " + "controller: "
+ manager.getInstanceName() + ", controllerVersion: " + properties.getVersion()
+ ", minimumSupportedParticipantVersion: "
+ properties.getProperty("minimum_supported_version.participant")
+ ", participant: " + liveParticipant.getId() + ", participantVersion: "
+ participantVersion;
LOG.error(errorMsg);
throw new StageException(errorMsg);
}