java-topology/defects/hadoop/patch/hadoop-0004.patch

21 lines
1.5 KiB
Diff

# UNDF: UNDF-2026-000000099
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java
@@ -... +... @@
- private final List<DBlock> srcBlocks = new ArrayList<DBlock>();
+ // CWE-407 fix: LinkedHashSet for O(1) contains(); preserves insertion order for getBlockIterator().
+ private final Set<DBlock> srcBlocks = new LinkedHashSet<DBlock>();
/** @return an iterator to this source's blocks */
Iterator<DBlock> getBlockIterator() {
return srcBlocks.iterator();
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/MovedBlocks.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/MovedBlocks.java
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/MovedBlocks.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/MovedBlocks.java
@@ -... +... @@
- protected final List<L> locations = new ArrayList<L>(3);
+ // CWE-407 fix: LinkedHashSet for O(1) contains() in addLocation(); avoids O(L) scan per call.
+ protected final Set<L> locations = new LinkedHashSet<L>(3);