From 46e18c8da76ea8d91a16e59ba1154c30f37cb9fd Mon Sep 17 00:00:00 2001 From: Chen Liang Date: Wed, 13 Dec 2017 14:56:14 -0800 Subject: [PATCH] HADOOP-14914. Change to a safely casting long to int. Contributed by Ajay Kumar. --- .../datanode/erasurecode/StripedBlockChecksumReconstructor.java | 2 +- .../hadoop/yarn/server/nodemanager/DirectoryCollection.java | 2 +- .../yarn/server/nodemanager/util/NodeManagerHardwareUtils.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/StripedBlockChecksumReconstructor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/StripedBlockChecksumReconstructor.java index 6e063c154c..d530a8eaac 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/StripedBlockChecksumReconstructor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/StripedBlockChecksumReconstructor.java @@ -111,7 +111,7 @@ public class StripedBlockChecksumReconstructor extends StripedReconstructor { // case-1) length of data bytes which is fraction of bytesPerCRC // case-2) length of data bytes which is less than bytesPerCRC if (requestedLen <= toReconstructLen) { - int remainingLen = (int) requestedLen; + int remainingLen = Math.toIntExact(requestedLen); outputData = Arrays.copyOf(targetBuffer.array(), remainingLen); int partialLength = remainingLen % getChecksum().getBytesPerChecksum(); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java index 6aec0ffb3b..7a840b1d67 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java @@ -605,7 +605,7 @@ public class DirectoryCollection { if (totalSpace != 0) { long tmp = ((totalSpace - usableSpace) * 100) / totalSpace; if (Integer.MIN_VALUE < tmp && Integer.MAX_VALUE > tmp) { - goodDirsDiskUtilizationPercentage = (int) tmp; + goodDirsDiskUtilizationPercentage = Math.toIntExact(tmp); } } else { // got no good dirs diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/NodeManagerHardwareUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/NodeManagerHardwareUtils.java index 6fe5bbe73f..f53362a387 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/NodeManagerHardwareUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/util/NodeManagerHardwareUtils.java @@ -228,7 +228,7 @@ public class NodeManagerHardwareUtils { // on a single core machine - tmp can be between 0 and 1 cores = 1; } else { - cores = (int) tmp; + cores = Math.round(tmp); } } else { message = "Illegal value for "