|
@@ -30,6 +30,7 @@ import org.apache.hadoop.net.SocketOutputStream;
|
|
import org.apache.hadoop.util.*;
|
|
import org.apache.hadoop.util.*;
|
|
import org.apache.hadoop.util.DiskChecker.DiskErrorException;
|
|
import org.apache.hadoop.util.DiskChecker.DiskErrorException;
|
|
import org.apache.hadoop.util.DiskChecker.DiskOutOfSpaceException;
|
|
import org.apache.hadoop.util.DiskChecker.DiskOutOfSpaceException;
|
|
|
|
+import org.apache.hadoop.dfs.IncorrectVersionException;
|
|
import org.apache.hadoop.mapred.StatusHttpServer;
|
|
import org.apache.hadoop.mapred.StatusHttpServer;
|
|
import org.apache.hadoop.dfs.BlockCommand;
|
|
import org.apache.hadoop.dfs.BlockCommand;
|
|
import org.apache.hadoop.dfs.DatanodeProtocol;
|
|
import org.apache.hadoop.dfs.DatanodeProtocol;
|
|
@@ -648,6 +649,7 @@ public class DataNode extends Configured
|
|
// -- Total capacity
|
|
// -- Total capacity
|
|
// -- Bytes remaining
|
|
// -- Bytes remaining
|
|
//
|
|
//
|
|
|
|
+ lastHeartbeat = startTime;
|
|
DatanodeCommand cmd = namenode.sendHeartbeat(dnRegistration,
|
|
DatanodeCommand cmd = namenode.sendHeartbeat(dnRegistration,
|
|
data.getCapacity(),
|
|
data.getCapacity(),
|
|
data.getDfsUsed(),
|
|
data.getDfsUsed(),
|
|
@@ -656,7 +658,6 @@ public class DataNode extends Configured
|
|
getXceiverCount());
|
|
getXceiverCount());
|
|
myMetrics.heartbeats.inc(now() - startTime);
|
|
myMetrics.heartbeats.inc(now() - startTime);
|
|
//LOG.info("Just sent heartbeat, with name " + localName);
|
|
//LOG.info("Just sent heartbeat, with name " + localName);
|
|
- lastHeartbeat = startTime;
|
|
|
|
if (!processCommand(cmd))
|
|
if (!processCommand(cmd))
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -746,7 +747,8 @@ public class DataNode extends Configured
|
|
} catch(RemoteException re) {
|
|
} catch(RemoteException re) {
|
|
String reClass = re.getClassName();
|
|
String reClass = re.getClassName();
|
|
if (UnregisteredDatanodeException.class.getName().equals(reClass) ||
|
|
if (UnregisteredDatanodeException.class.getName().equals(reClass) ||
|
|
- DisallowedDatanodeException.class.getName().equals(reClass)) {
|
|
|
|
|
|
+ DisallowedDatanodeException.class.getName().equals(reClass) ||
|
|
|
|
+ IncorrectVersionException.class.getName().equals(reClass)) {
|
|
LOG.warn("DataNode is shutting down: " +
|
|
LOG.warn("DataNode is shutting down: " +
|
|
StringUtils.stringifyException(re));
|
|
StringUtils.stringifyException(re));
|
|
shutdown();
|
|
shutdown();
|