21 lines
1.5 KiB
Diff
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);
|