HBASE-9458 Intermittent TestFlushSnapshotFromClient#testTakeSnapshotAfterMerge failure
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1521280 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
77599e2fc2
commit
c181637e7a
@ -246,6 +246,27 @@ public class SnapshotTestingUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Take snapshot with maximum of numTries attempts, ignoring CorruptedSnapshotException
|
||||
* except for the last CorruptedSnapshotException
|
||||
*/
|
||||
public static void snapshot(HBaseAdmin admin,
|
||||
final String snapshotName, final String tableName,
|
||||
SnapshotDescription.Type type, int numTries) throws IOException {
|
||||
int tries = 0;
|
||||
CorruptedSnapshotException lastEx = null;
|
||||
while (tries++ < numTries) {
|
||||
try {
|
||||
admin.snapshot(snapshotName, tableName, type);
|
||||
return;
|
||||
} catch (CorruptedSnapshotException cse) {
|
||||
LOG.warn("Got CorruptedSnapshotException", cse);
|
||||
lastEx = cse;
|
||||
}
|
||||
}
|
||||
throw lastEx;
|
||||
}
|
||||
|
||||
public static void cleanupSnapshot(HBaseAdmin admin, byte[] tableName)
|
||||
throws IOException {
|
||||
SnapshotTestingUtils.cleanupSnapshot(admin, Bytes.toString(tableName));
|
||||
|
@ -35,24 +35,24 @@ import org.apache.commons.logging.impl.Log4JLogger;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
||||
import org.apache.hadoop.hbase.HConstants;
|
||||
import org.apache.hadoop.hbase.HRegionInfo;
|
||||
import org.apache.hadoop.hbase.HTableDescriptor;
|
||||
import org.apache.hadoop.hbase.LargeTests;
|
||||
import org.apache.hadoop.hbase.TableName;
|
||||
import org.apache.hadoop.hbase.TableNotFoundException;
|
||||
import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
|
||||
import org.apache.hadoop.hbase.ipc.RpcClient;
|
||||
import org.apache.hadoop.hbase.ipc.RpcServer;
|
||||
import org.apache.hadoop.hbase.client.HBaseAdmin;
|
||||
import org.apache.hadoop.hbase.client.HTable;
|
||||
import org.apache.hadoop.hbase.client.ScannerCallable;
|
||||
import org.apache.hadoop.hbase.ipc.RpcClient;
|
||||
import org.apache.hadoop.hbase.ipc.RpcServer;
|
||||
import org.apache.hadoop.hbase.master.HMaster;
|
||||
import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
|
||||
import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;
|
||||
import org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
|
||||
import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
import org.apache.hadoop.hbase.util.FSTableDescriptors;
|
||||
import org.apache.hadoop.hbase.util.FSUtils;
|
||||
@ -315,7 +315,8 @@ public class TestFlushSnapshotFromClient {
|
||||
|
||||
// Take a snapshot
|
||||
String snapshotName = "snapshotAfterMerge";
|
||||
admin.snapshot(snapshotName, STRING_TABLE_NAME, SnapshotDescription.Type.FLUSH);
|
||||
SnapshotTestingUtils.snapshot(admin, snapshotName, STRING_TABLE_NAME,
|
||||
SnapshotDescription.Type.FLUSH, 3);
|
||||
|
||||
// Clone the table
|
||||
String cloneName = "cloneMerge";
|
||||
|
Loading…
x
Reference in New Issue
Block a user