private void checkNode(String name, byte[] nn, String oldAddress, String currentAddress) {
if (myLogger.isLoggable(Logger.FINE)) {
myLogger.log(Logger.FINE, "Recovering node "+name+" ...");
}
Node node = null;
try {
node = nodeSerializer.deserialize(nn);
node.platformManagerDead(oldAddress, currentAddress);
myLogger.log(Logger.INFO, "Node "+name+" successfully recovered.");
return;
}
catch (IMTPException imtpe) {
myLogger.log(Logger.INFO, "Node "+name+" unreachable. It has likely been killed in the meanwhile");
}
catch (Exception e) {
myLogger.log(Logger.WARNING, "Error deserializing node "+name+". ", e);
}
// If we get here the node either has been killed in the meanwhile or cannot be deserialized -->
// In any case remove it from the PS
try {
myPS.removeNode(node.getName());
}
catch (Exception ex) {
myLogger.log(Logger.WARNING, "Cannot remove node "+node.getName()+" from persistent storage. ", ex);
}
}