|
@@ -1321,7 +1321,7 @@ public class DatanodeManager {
|
|
public boolean shouldAvoidStaleDataNodesForWrite() {
|
|
public boolean shouldAvoidStaleDataNodesForWrite() {
|
|
// If # stale exceeds maximum staleness ratio, disable stale
|
|
// If # stale exceeds maximum staleness ratio, disable stale
|
|
// datanode avoidance on the write path
|
|
// datanode avoidance on the write path
|
|
- return avoidStaleDataNodesForWrite &&
|
|
|
|
|
|
+ return avoidStaleDataNodesForWrite && numStaleNodes > 0 &&
|
|
(numStaleNodes <= heartbeatManager.getLiveDatanodeCount()
|
|
(numStaleNodes <= heartbeatManager.getLiveDatanodeCount()
|
|
* ratioUseStaleDataNodesForWrite);
|
|
* ratioUseStaleDataNodesForWrite);
|
|
}
|
|
}
|