/** * Deserialize the file trailer as writable data * @param input * @throws IOException */ void deserializeFromWritable(DataInput input) throws IOException { fileInfoOffset = input.readLong(); loadOnOpenDataOffset = input.readLong(); dataIndexCount = input.readInt(); uncompressedDataIndexSize = input.readLong(); metaIndexCount = input.readInt(); totalUncompressedBytes = input.readLong(); entryCount = input.readLong(); compressionCodec = Compression.Algorithm.values()[input.readInt()]; numDataIndexLevels = input.readInt(); firstDataBlockOffset = input.readLong(); lastDataBlockOffset = input.readLong(); // TODO this is a classname encoded into an HFile's trailer. We are going to need to have // some compat code here. setComparatorClass(getComparatorClass(Bytes.readStringFixedSize(input, MAX_COMPARATOR_NAME_LENGTH))); }
@Test public void testComparatorIsHBase1Compatible() { FixedFileTrailer t = new FixedFileTrailer(version, HFileReaderImpl.PBUF_TRAILER_MINOR_VERSION); t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass()); assertEquals(CellComparatorImpl.COMPARATOR.getClass().getName(), t.getComparatorClassName()); HFileProtos.FileTrailerProto pb = t.toProtobuf(); assertEquals(KeyValue.COMPARATOR.getClass().getName(), pb.getComparatorClassName()); t.setComparatorClass(CellComparatorImpl.MetaCellComparator.META_COMPARATOR.getClass()); pb = t.toProtobuf(); assertEquals(KeyValue.META_COMPARATOR.getClass().getName(), pb.getComparatorClassName()); }
t.setLastDataBlockOffset(291); t.setNumDataIndexLevels(3); t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass());
trailer.setFirstDataBlockOffset(firstDataBlockOffset); trailer.setLastDataBlockOffset(lastDataBlockOffset); trailer.setComparatorClass(comparator.getClass()); trailer.setDataIndexCount(dataBlockIndexWriter.getNumRootEntries());
t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass());
setComparatorClass(getComparatorClass(trailerProto.getComparatorClassName()));
/** * Deserialize the file trailer as writable data * @param input * @throws IOException */ void deserializeFromWritable(DataInput input) throws IOException { fileInfoOffset = input.readLong(); loadOnOpenDataOffset = input.readLong(); dataIndexCount = input.readInt(); uncompressedDataIndexSize = input.readLong(); metaIndexCount = input.readInt(); totalUncompressedBytes = input.readLong(); entryCount = input.readLong(); compressionCodec = Compression.Algorithm.values()[input.readInt()]; numDataIndexLevels = input.readInt(); firstDataBlockOffset = input.readLong(); lastDataBlockOffset = input.readLong(); // TODO this is a classname encoded into an HFile's trailer. We are going to need to have // some compat code here. setComparatorClass(getComparatorClass(Bytes.readStringFixedSize(input, MAX_COMPARATOR_NAME_LENGTH))); }
@Test public void testComparatorIsHBase1Compatible() { FixedFileTrailer t = new FixedFileTrailer(version, HFileReaderImpl.PBUF_TRAILER_MINOR_VERSION); t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass()); assertEquals(CellComparatorImpl.COMPARATOR.getClass().getName(), t.getComparatorClassName()); HFileProtos.FileTrailerProto pb = t.toProtobuf(); assertEquals(KeyValue.COMPARATOR.getClass().getName(), pb.getComparatorClassName()); t.setComparatorClass(CellComparatorImpl.MetaCellComparator.META_COMPARATOR.getClass()); pb = t.toProtobuf(); assertEquals(KeyValue.META_COMPARATOR.getClass().getName(), pb.getComparatorClassName()); }
trailer.setFirstDataBlockOffset(firstDataBlockOffset); trailer.setLastDataBlockOffset(lastDataBlockOffset); trailer.setComparatorClass(comparator.getClass()); trailer.setDataIndexCount(dataBlockIndexWriter.getNumRootEntries());
t.setLastDataBlockOffset(291); t.setNumDataIndexLevels(3); t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass());
trailer.setFirstDataBlockOffset(firstDataBlockOffset); trailer.setLastDataBlockOffset(lastDataBlockOffset); trailer.setComparatorClass(comparator.getClass()); trailer.setDataIndexCount(dataBlockIndexWriter.getNumRootEntries());
t.setComparatorClass(CellComparatorImpl.COMPARATOR.getClass());
setComparatorClass(getComparatorClass(trailerProto.getComparatorClassName()));