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; + } }); }