1
0
Selaa lähdekoodia

YARN-7336. Unsafe cast from long to int Resource.hashCode() method
(Contributed by Miklos Szegedi via Daniel Templeton)

(cherry picked from commit d64736d58965722b71d6eade578b6c4c266e6448)

Daniel Templeton 7 vuotta sitten
vanhempi
commit
c025c9ac62

+ 2 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java

@@ -463,11 +463,11 @@ public abstract class Resource implements Comparable<Resource> {
   @Override
   @Override
   public int hashCode() {
   public int hashCode() {
     final int prime = 47;
     final int prime = 47;
-    long result = 0;
+    int result = 0;
     for (ResourceInformation entry : resources) {
     for (ResourceInformation entry : resources) {
       result = prime * result + entry.hashCode();
       result = prime * result + entry.hashCode();
     }
     }
-    return (int) result;
+    return result;
   }
   }
 
 
   /**
   /**

+ 1 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java

@@ -155,9 +155,6 @@ public class LightWeightResource extends Resource {
   @Override
   @Override
   public int hashCode() {
   public int hashCode() {
     final int prime = 47;
     final int prime = 47;
-    long result = prime + getMemorySize();
-    result = prime * result + getVirtualCores();
-
-    return (int) result;
+    return prime * (prime + Long.hashCode(getMemorySize())) + getVirtualCores();
   }
   }
 }
 }