From e17357d77a4f181af1dd9c419c345459efddb655 Mon Sep 17 00:00:00 2001 From: ramkrishna Date: Sat, 26 May 2012 17:52:44 +0000 Subject: [PATCH] HBASE-6050 HLogSplitter renaming recovered.edits and CJ removing the parent directory races, making the HBCK to think cluster is inconsistent. (Ram) git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1342937 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/hadoop/hbase/regionserver/wal/HLogSplitter.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java index 2d972fd4a0b..ef7f035bebb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java @@ -580,6 +580,13 @@ public class HLogSplitter { if (fs.exists(dst)) { fs.delete(dst, false); } else { + Path regionDir = dst.getParent().getParent(); + if (!fs.exists(regionDir)) { + // See HBASE-6050. + LOG.warn("Could not move recovered edits from " + src + + " to destination " + regionDir + " as it doesn't exist."); + continue; + } Path dstdir = dst.getParent(); if (!fs.exists(dstdir)) { if (!fs.mkdirs(dstdir)) LOG.warn("mkdir failed on " + dstdir);