You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2013/02/26 05:45:38 UTC
svn commit: r1450018 -
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
Author: tedyu
Date: Tue Feb 26 04:45:38 2013
New Revision: 1450018
URL: http://svn.apache.org/r1450018
Log:
HBASE-7723 Remove NameNode URI from ZK splitlogs (Himanshu)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java?rev=1450018&r1=1450017&r2=1450018&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java Tue Feb 26 04:45:38 2013
@@ -107,9 +107,10 @@ public class SplitLogWorker extends ZooK
// TODO have to correctly figure out when log splitting has been
// interrupted or has encountered a transient error and when it has
// encountered a bad non-retry-able persistent error.
- try {
+ try {
+ String relativeLogPath = getRelativeLogPath(filename);
if (HLogSplitter.splitLogFile(rootdir,
- fs.getFileStatus(new Path(filename)), fs, conf, p) == false) {
+ fs.getFileStatus(new Path(rootdir, relativeLogPath)), fs, conf, p) == false) {
return Status.PREEMPTED;
}
} catch (InterruptedIOException iioe) {
@@ -129,6 +130,21 @@ public class SplitLogWorker extends ZooK
}
return Status.DONE;
}
+
+ private String getRelativeLogPath(String logPath) {
+ StringBuilder sb = new StringBuilder();
+ String znodeDelimiter = Character.toString(Path.SEPARATOR_CHAR);
+ String[] filenameSplits = logPath.split(znodeDelimiter);
+ int len = filenameSplits.length;
+ String relativeLogPath = logPath;
+ if (len > 3) {
+ // the last three terms are .logs/server/log-file
+ relativeLogPath = sb.append(filenameSplits[len - 3]).append(znodeDelimiter)
+ .append(filenameSplits[len - 2]).append(znodeDelimiter)
+ .append(filenameSplits[len - 1]).toString();
+ }
+ return relativeLogPath;
+ }
});
}