You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/10/02 01:03:30 UTC
[3/6] hbase git commit: HBASE-19275 TestSnapshotFileCache never
worked properly
HBASE-19275 TestSnapshotFileCache never worked properly
Signed-off-by: Andrew Purtell <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/76a487c0
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/76a487c0
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/76a487c0
Branch: refs/heads/branch-2.1
Commit: 76a487c0625f5e0c6d2eab88f4aa2b0c1710ca44
Parents: 259d12f
Author: Xu Cang <xc...@salesforce.com>
Authored: Sun Jul 22 20:37:55 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Oct 1 17:12:21 2018 -0700
----------------------------------------------------------------------
.../master/snapshot/TestSnapshotFileCache.java | 38 +++++++++-----------
1 file changed, 17 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/76a487c0/hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java
index 60422a0..6cb0142 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/snapshot/TestSnapshotFileCache.java
@@ -68,7 +68,6 @@ public class TestSnapshotFileCache {
private static final Logger LOG = LoggerFactory.getLogger(TestSnapshotFileCache.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
- private static long sequenceId = 0;
private static FileSystem fs;
private static Path rootDir;
@@ -163,9 +162,6 @@ public class TestSnapshotFileCache {
SnapshotMock.SnapshotBuilder complete =
createAndTestSnapshotV1(cache, "snapshot", false, false);
- SnapshotMock.SnapshotBuilder inProgress =
- createAndTestSnapshotV1(cache, "snapshotInProgress", true, false);
-
int countBeforeCheck = count.get();
FSUtils.logFileSystemState(fs, rootDir, LOG);
@@ -238,12 +234,11 @@ public class TestSnapshotFileCache {
List<Path> files = new ArrayList<>();
for (int i = 0; i < 3; ++i) {
for (Path filePath: builder.addRegion()) {
- String fileName = filePath.getName();
if (tmp) {
// We should be able to find all the files while the snapshot creation is in-progress
FSUtils.logFileSystemState(fs, rootDir, LOG);
- Iterable<FileStatus> nonSnapshot = getNonSnapshotFiles(cache, filePath);
- assertFalse("Cache didn't find " + fileName, Iterables.contains(nonSnapshot, fileName));
+ assertFalse("Cache didn't find " + filePath,
+ contains(getNonSnapshotFiles(cache, filePath), filePath));
}
files.add(filePath);
}
@@ -256,9 +251,7 @@ public class TestSnapshotFileCache {
// Make sure that all files are still present
for (Path path: files) {
- Iterable<FileStatus> nonSnapshotFiles = getNonSnapshotFiles(cache, path);
- assertFalse("Cache didn't find " + path.getName(),
- Iterables.contains(nonSnapshotFiles, path.getName()));
+ assertFalse("Cache didn't find " + path, contains(getNonSnapshotFiles(cache, path), path));
}
FSUtils.logFileSystemState(fs, rootDir, LOG);
@@ -267,25 +260,28 @@ public class TestSnapshotFileCache {
fs.delete(builder.getSnapshotsDir(), true);
FSUtils.logFileSystemState(fs, rootDir, LOG);
- // The files should be in cache until next refresh
- for (Path filePath: files) {
- Iterable<FileStatus> nonSnapshotFiles = getNonSnapshotFiles(cache, filePath);
- assertFalse("Cache didn't find " + filePath.getName(), Iterables.contains(nonSnapshotFiles,
- filePath.getName()));
- }
-
// then trigger a refresh
cache.triggerCacheRefreshForTesting();
// and not it shouldn't find those files
for (Path filePath: files) {
- Iterable<FileStatus> nonSnapshotFiles = getNonSnapshotFiles(cache, filePath);
- assertTrue("Cache found '" + filePath.getName() + "', but it shouldn't have.",
- !Iterables.contains(nonSnapshotFiles, filePath.getName()));
+ assertTrue("Cache found '" + filePath + "', but it shouldn't have.",
+ contains(getNonSnapshotFiles(cache, filePath), filePath));
+
+ }
+ }
+ }
+
+ private static boolean contains(Iterable<FileStatus> files, Path filePath) {
+ for (FileStatus status: files) {
+ LOG.debug("debug in contains, 3.1: " + status.getPath() + " filePath:" + filePath);
+ if (filePath.equals(status.getPath())) {
+ return true;
}
}
+ return false;
}
- private Iterable<FileStatus> getNonSnapshotFiles(SnapshotFileCache cache, Path storeFile)
+ private static Iterable<FileStatus> getNonSnapshotFiles(SnapshotFileCache cache, Path storeFile)
throws IOException {
return cache.getUnreferencedFiles(
Arrays.asList(FSUtils.listStatus(fs, storeFile.getParent())), null