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 2014/03/19 21:03:22 UTC
svn commit: r1579374 -
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
Author: tedyu
Date: Wed Mar 19 20:03:22 2014
New Revision: 1579374
URL: http://svn.apache.org/r1579374
Log:
HBASE-10786 If snapshot verification fails with 'Regions moved', the message should contain the name of region causing the failure
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java?rev=1579374&r1=1579373&r2=1579374&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java Wed Mar 19 20:03:22 2014
@@ -156,24 +156,27 @@ public final class MasterSnapshotVerifie
throw new CorruptedSnapshotException(msg);
}
+ String errorMsg = "";
if (snapshotRegions.size() != regions.size()) {
- String msg = "Regions moved during the snapshot '" +
+ errorMsg = "Regions moved during the snapshot '" +
ClientSnapshotDescriptionUtils.toString(snapshot) + "'. expected=" +
- regions.size() + " snapshotted=" + snapshotRegions.size();
- LOG.error(msg);
- throw new CorruptedSnapshotException(msg);
+ regions.size() + " snapshotted=" + snapshotRegions.size() + ".";
+ LOG.error(errorMsg);
}
for (HRegionInfo region : regions) {
if (!snapshotRegions.contains(region.getEncodedName())) {
// could happen due to a move or split race.
- String msg = "No region directory found for region:" + region;
- LOG.error(msg);
- throw new CorruptedSnapshotException(msg, snapshot);
+ String mesg = " No snapshot region directory found for region:" + region;
+ if (errorMsg.isEmpty()) errorMsg = mesg;
+ LOG.error(mesg);
}
verifyRegion(fs, snapshotDir, region);
}
+ if (!errorMsg.isEmpty()) {
+ throw new CorruptedSnapshotException(errorMsg);
+ }
}
/**