From 9d0d0200dbc7487efe95c1e706e2f04002993392 Mon Sep 17 00:00:00 2001 From: xq262144 Date: Sat, 8 Oct 2016 09:30:01 +0800 Subject: [PATCH] Make LzoTextInputFormat#listStatus thread safe for concurrent call --- .../java/com/hadoop/mapred/DeprecatedLzoTextInputFormat.java | 4 ++-- src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hadoop/mapred/DeprecatedLzoTextInputFormat.java b/src/main/java/com/hadoop/mapred/DeprecatedLzoTextInputFormat.java index b3cf8663..72020ec0 100644 --- a/src/main/java/com/hadoop/mapred/DeprecatedLzoTextInputFormat.java +++ b/src/main/java/com/hadoop/mapred/DeprecatedLzoTextInputFormat.java @@ -21,10 +21,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; @@ -63,7 +63,7 @@ @SuppressWarnings("deprecation") public class DeprecatedLzoTextInputFormat extends TextInputFormat { - private final Map indexes = new HashMap(); + private final Map indexes = new ConcurrentHashMap(); @Override protected FileStatus[] listStatus(JobConf conf) throws IOException { diff --git a/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java b/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java index d688dfb7..91d6843c 100644 --- a/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java +++ b/src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java @@ -20,10 +20,10 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; @@ -53,7 +53,7 @@ * behavior of this input format. */ public class LzoTextInputFormat extends TextInputFormat { - private final Map indexes = new HashMap(); + private final Map indexes = new ConcurrentHashMap(); @Override protected List listStatus(JobContext job) throws IOException {