Index: src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java (revision 1306720) +++ src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java (working copy) @@ -125,6 +125,14 @@ } } + /** + * Are these the same filesystem objects? + */ + @Override + public boolean equals(Object other) { + return this.noChecksumFs.equals(other); + } + /** * Returns a brand new instance of the FileSystem. It does not use * the FileSystem.Cache. In newer versions of HDFS, we can directly Index: src/main/java/org/apache/hadoop/hbase/regionserver/Store.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/Store.java (revision 1306720) +++ src/main/java/org/apache/hadoop/hbase/regionserver/Store.java (working copy) @@ -554,12 +554,13 @@ // Move the file if it's on another filesystem FileSystem srcFs = srcPath.getFileSystem(conf); - if (!srcFs.equals(fs)) { + if (!fs.equals(srcFs)) { LOG.info("File " + srcPath + " on different filesystem than " + "destination store - moving to this filesystem."); Path tmpPath = getTmpPath(); FileUtil.copy(srcFs, srcPath, fs, tmpPath, false, conf); - LOG.info("Copied to temporary path on dst filesystem: " + tmpPath); + LOG.info("Copied " + srcPath + + "to temporary path on dst filesystem: " + tmpPath); srcPath = tmpPath; }