HADOOP-6097. Fix Path conversion in makeQualified and reset LineReader byte

count at the start of each block in Hadoop archives. Contributed by Ben Slusky,
Tom White, and Mahadev Konar


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@827837 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Christopher Douglas 2009-10-20 23:39:49 +00:00
parent 1ecee2e062
commit 7313955d04
2 changed files with 16 additions and 14 deletions

View File

@ -1122,6 +1122,18 @@ Release 0.21.0 - Unreleased
HADOOP-6286. Fix bugs in related to URI handling in glob methods in HADOOP-6286. Fix bugs in related to URI handling in glob methods in
FileContext. (Boris Shkolnik via suresh) FileContext. (Boris Shkolnik via suresh)
Release 0.20.2 - Unreleased
HADOOP-6231. Allow caching of filesystem instances to be disabled on a
per-instance basis. (tomwhite)
HADOOP-5759. Fix for IllegalArgumentException when CombineFileInputFormat
is used as job InputFormat. (Amareshwari Sriramadasu via dhruba)
HADOOP-6097. Fix Path conversion in makeQualified and reset LineReader byte
count at the start of each block in Hadoop archives. (Ben Slusky, Tom
White, and Mahadev Konar via cdouglas)
Release 0.20.1 - 2009-09-01 Release 0.20.1 - 2009-09-01
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -302,19 +302,8 @@ public Path makeQualified(Path path) {
} }
URI tmpURI = fsPath.toUri(); URI tmpURI = fsPath.toUri();
fsPath = new Path(tmpURI.getPath());
//change this to Har uri //change this to Har uri
URI tmp = null; return new Path(uri.getScheme(), harAuth, tmpURI.getPath());
try {
tmp = new URI(uri.getScheme(), harAuth, fsPath.toString(),
tmpURI.getQuery(), tmpURI.getFragment());
} catch(URISyntaxException ue) {
LOG.error("Error in URI ", ue);
}
if (tmp != null) {
return new Path(tmp.toString());
}
return null;
} }
/** /**
@ -426,12 +415,13 @@ private String fileStatusInIndex(Path harPath) throws IOException {
// do nothing just a read. // do nothing just a read.
} }
FSDataInputStream aIn = fs.open(archiveIndex); FSDataInputStream aIn = fs.open(archiveIndex);
LineReader aLin = new LineReader(aIn, getConf()); LineReader aLin;
String retStr = null; String retStr = null;
// now start reading the real index file // now start reading the real index file
read = 0;
for (Store s: stores) { for (Store s: stores) {
read = 0;
aIn.seek(s.begin); aIn.seek(s.begin);
aLin = new LineReader(aIn, getConf());
while (read + s.begin < s.end) { while (read + s.begin < s.end) {
int tmp = aLin.readLine(line); int tmp = aLin.readLine(line);
read += tmp; read += tmp;