Index: hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java (revision 1389700) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java (working copy) @@ -79,6 +79,7 @@ this.useHBaseChecksum = useHBaseChecksum; fs.initialize(getDefaultUri(conf), conf); + addLocationsOrderInterceptor(conf); // If hbase checksum verification is switched on, then create a new // filesystem object that has cksum verification turned off. @@ -89,12 +90,13 @@ // This manifests itself in that incorrect data is read and HFileBlocks won't be able to read // their header magic numbers. See HBASE-5885 if (useHBaseChecksum && !(fs instanceof LocalFileSystem)) { + conf = new Configuration(conf); + conf.setBoolean("dfs.client.read.shortcircuit.skip.checksum", true); this.noChecksumFs = newInstanceFileSystem(conf); this.noChecksumFs.setVerifyChecksum(false); } else { this.noChecksumFs = fs; } - addLocationsOrderInterceptor(conf); } /** Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1389700) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -464,7 +464,7 @@ // do we use checksum verfication in the hbase? If hbase checksum verification // is enabled, then we automatically switch off hdfs checksum verification. this.useHBaseChecksum = conf.getBoolean( - HConstants.HBASE_CHECKSUM_VERIFICATION, true); + HConstants.HBASE_CHECKSUM_VERIFICATION, false); // Config'ed params this.numRetries = conf.getInt("hbase.client.retries.number", 10);