@Override public long getChecksumFailures() { return HFile.getAndResetChecksumFailuresCount(); } }
assertEquals(0, HFile.getAndResetChecksumFailuresCount());
private long readAndVerifyBlock(long pos, HFileContext ctx, HFileBlock.FSReaderImpl hbr, int size) throws IOException { HFileBlock b = hbr.readBlockData(pos, -1, false, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); b.sanityCheck(); assertFalse(b.isUnpacked()); b = b.unpack(ctx, hbr); LOG.info("Read a block at " + pos + " with" + " onDiskSizeWithHeader=" + b.getOnDiskSizeWithHeader() + " uncompressedSizeWithoutHeader=" + b.getOnDiskSizeWithoutHeader() + " uncompressedSizeWithoutHeader=" + b.getUncompressedSizeWithoutHeader()); DataInputStream dis = b.getByteStream(); for (int i = 0; i < size; i++) { int read = dis.readInt(); if (read != i) { fail("Block data corrupt at element " + i); } } return b.getOnDiskSizeWithHeader(); }
HFileBlock b = hbr.readBlockData(0, -1, pread, false); is.close(); assertEquals(0, HFile.getAndResetChecksumFailuresCount());
for (int blockId = 0; blockId < numBlocks; ++blockId) { blockFromHFile = hbr.readBlockData(pos, -1, pread, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); blockFromHFile.sanityCheck(); pos += blockFromHFile.getOnDiskSizeWithHeader();
assertEquals(1, HFile.getAndResetChecksumFailuresCount()); validateData(in); HFileBlock.CHECKSUM_VERIFICATION_NUM_IO_THRESHOLD + 1; i++) { b = hbr.readBlockData(0, -1, pread, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); assertEquals(1, HFile.getAndResetChecksumFailuresCount()); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); is.close(); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); validateData(in);
assertEquals(0, HFile.getAndResetChecksumFailuresCount());
assertEquals(b.getOnDiskDataSizeWithHeader(), b2.getOnDiskDataSizeWithHeader()); assertEquals(0, HFile.getAndResetChecksumFailuresCount());
private long readAndVerifyBlock(long pos, HFileContext ctx, HFileBlock.FSReaderImpl hbr, int size) throws IOException { HFileBlock b = hbr.readBlockData(pos, -1, false, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); b.sanityCheck(); assertFalse(b.isUnpacked()); b = b.unpack(ctx, hbr); LOG.info("Read a block at " + pos + " with" + " onDiskSizeWithHeader=" + b.getOnDiskSizeWithHeader() + " uncompressedSizeWithoutHeader=" + b.getOnDiskSizeWithoutHeader() + " uncompressedSizeWithoutHeader=" + b.getUncompressedSizeWithoutHeader()); DataInputStream dis = b.getByteStream(); for (int i = 0; i < size; i++) { int read = dis.readInt(); if (read != i) { fail("Block data corrupt at element " + i); } } return b.getOnDiskSizeWithHeader(); }
assertEquals(0, HFile.getAndResetChecksumFailuresCount());
HFileBlock b = hbr.readBlockData(0, -1, pread, false); is.close(); assertEquals(0, HFile.getAndResetChecksumFailuresCount());
assertEquals(1, HFile.getAndResetChecksumFailuresCount()); validateData(in); HFileBlock.CHECKSUM_VERIFICATION_NUM_IO_THRESHOLD + 1; i++) { b = hbr.readBlockData(0, -1, pread, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); assertEquals(1, HFile.getAndResetChecksumFailuresCount()); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); is.close(); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); validateData(in);
assertEquals(b.getOnDiskDataSizeWithHeader(), b2.getOnDiskDataSizeWithHeader()); assertEquals(0, HFile.getAndResetChecksumFailuresCount());
for (int blockId = 0; blockId < numBlocks; ++blockId) { blockFromHFile = hbr.readBlockData(pos, -1, pread, false); assertEquals(0, HFile.getAndResetChecksumFailuresCount()); blockFromHFile.sanityCheck(); pos += blockFromHFile.getOnDiskSizeWithHeader();
assertEquals(0, HFile.getAndResetChecksumFailuresCount());