Author: bobby
Date: Thu Jul 12 15:59:17 2012
New Revision: 1360738
URL: http://svn.apache.org/viewvc?rev=1360738&view=rev
Log:
svn merge -c 1360448 FIXES: HADOOP-8587. HarFileSystem access of harMetaCache isn't threadsafe.
Contributed by Eli Collins
Modified:
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HarFileSystem.java
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1360738&r1=1360737&r2=1360738&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt Thu
Jul 12 15:59:17 2012
@@ -109,6 +109,8 @@ Release 0.23.3 - UNRELEASED
EOFException on Snappy or LZO block-compressed data
(todd via harsh)
+ HADOOP-8587. HarFileSystem access of harMetaCache isn't threadsafe. (eli)
+
Release 0.23.2 - UNRELEASED
NEW FEATURES
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HarFileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HarFileSystem.java?rev=1360738&r1=1360737&r2=1360738&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HarFileSystem.java
(original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/HarFileSystem.java
Thu Jul 12 15:59:17 2012
@@ -24,11 +24,11 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLDecoder;
import java.util.ArrayList;
-import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.permission.FsPermission;
@@ -52,7 +52,8 @@ import org.apache.hadoop.util.Progressab
public class HarFileSystem extends FilterFileSystem {
public static final int VERSION = 3;
- private static final Map<URI, HarMetaData> harMetaCache = new HashMap<URI, HarMetaData>();
+ private static final Map<URI, HarMetaData> harMetaCache =
+ new ConcurrentHashMap<URI, HarMetaData>();
// uri representation of this Har filesystem
private URI uri;
@@ -1043,7 +1044,7 @@ public class HarFileSystem extends Filte
FileStatus archiveStat = fs.getFileStatus(archiveIndexPath);
archiveIndexTimestamp = archiveStat.getModificationTime();
LineReader aLin;
- String retStr = null;
+
// now start reading the real index file
for (Store s: stores) {
read = 0;
|