private void saveUserBits(boolean notToUseUserBits, byte userBits) { this.notToUseUserBits = notToUseUserBits; if (notToUseUserBits) { this.userBits = 0; } else { this.userBits = EntryBits.getPersistentBits(userBits); this.size++; // for the userBits } }
private void saveUserBits(boolean notToUseUserBits, byte userBits) { this.notToUseUserBits = notToUseUserBits; if (notToUseUserBits) { this.userBits = 0; } else { this.userBits = EntryBits.getPersistentBits(userBits); this.size++; // for the userBits } }
private void writeOneKeyEntryForKRF(byte[] keyBytes, byte userBits, int valueLength, long diskRegionId, long oplogKeyId, long valueOffset, VersionHolder tag) throws IOException { if (getParent().isValidating()) { return; } if (!getParent().isOfflineCompacting()) { assert (this.krf.dos != null); } else { if (this.krf.dos == null) { // krf already exist, thus not re-opened for write return; } } DataSerializer.writeByteArray(keyBytes, this.krf.dos); this.krf.dos.writeByte(EntryBits.getPersistentBits(userBits)); InternalDataSerializer.writeArrayLength(valueLength, this.krf.dos); DiskInitFile.writeDiskRegionID(this.krf.dos, diskRegionId); if (EntryBits.isWithVersions(userBits) && tag != null) { serializeVersionTag(tag, this.krf.dos); } InternalDataSerializer.writeVLOld(oplogKeyId, this.krf.dos); // skip the invalid entries, theire valueOffset is -1 if (!EntryBits.isAnyInvalid(userBits) && !EntryBits.isTombstone(userBits)) { InternalDataSerializer.writeVLOld((valueOffset - this.krf.lastOffset), this.krf.dos); // save the lastOffset in krf object this.krf.lastOffset = valueOffset; } this.krf.keyNum++; }
userBits = EntryBits.setHasLastModifiedTime(userBits); this.krf.dos.writeByte(EntryBits.getPersistentBits(userBits)); InternalDataSerializer.writeArrayLength(valueLength, this.krf.dos); DiskInitFile.writeDiskRegionID(this.krf.dos, diskRegionId);