private final long columnFamilyId;
private final long creationTime;
private final long oldestKeyTime;
+ private final long slowCompressionEstimatedDataSize;
+ private final long fastCompressionEstimatedDataSize;
+ private final long externalSstFileGlobalSeqnoOffset;
private final byte[] columnFamilyName;
private final String filterPolicyName;
private final String comparatorName;
private final String compressionName;
private final Map<String, String> userCollectedProperties;
private final Map<String, String> readableProperties;
- private final Map<String, Long> propertiesOffsets;
/**
* Access is package private as this will only be constructed from
final long rawValueSize, final long numDataBlocks, final long numEntries,
final long numDeletions, final long numMergeOperands, final long numRangeDeletions,
final long formatVersion, final long fixedKeyLen, final long columnFamilyId,
- final long creationTime, final long oldestKeyTime, final byte[] columnFamilyName,
+ final long creationTime, final long oldestKeyTime,
+ final long slowCompressionEstimatedDataSize, final long fastCompressionEstimatedDataSize,
+ final long externalSstFileGlobalSeqnoOffset, final byte[] columnFamilyName,
final String filterPolicyName, final String comparatorName, final String mergeOperatorName,
final String prefixExtractorName, final String propertyCollectorsNames,
final String compressionName, final Map<String, String> userCollectedProperties,
- final Map<String, String> readableProperties, final Map<String, Long> propertiesOffsets) {
+ final Map<String, String> readableProperties) {
this.dataSize = dataSize;
this.indexSize = indexSize;
this.indexPartitions = indexPartitions;
this.columnFamilyId = columnFamilyId;
this.creationTime = creationTime;
this.oldestKeyTime = oldestKeyTime;
+ this.slowCompressionEstimatedDataSize = slowCompressionEstimatedDataSize;
+ this.fastCompressionEstimatedDataSize = fastCompressionEstimatedDataSize;
+ this.externalSstFileGlobalSeqnoOffset = externalSstFileGlobalSeqnoOffset;
this.columnFamilyName = columnFamilyName;
this.filterPolicyName = filterPolicyName;
this.comparatorName = comparatorName;
this.compressionName = compressionName;
this.userCollectedProperties = userCollectedProperties;
this.readableProperties = readableProperties;
- this.propertiesOffsets = propertiesOffsets;
}
/**
return oldestKeyTime;
}
+ /**
+ * Get the estimated size of data blocks compressed with a relatively slower
+ * compression algorithm.
+ *
+ * @return 0 means unknown, otherwise the timestamp.
+ */
+ public long getSlowCompressionEstimatedDataSize() {
+ return slowCompressionEstimatedDataSize;
+ }
+
+ /**
+ * Get the estimated size of data blocks compressed with a relatively faster
+ * compression algorithm.
+ *
+ * @return 0 means unknown, otherwise the timestamp.
+ */
+ public long getFastCompressionEstimatedDataSize() {
+ return fastCompressionEstimatedDataSize;
+ }
+
/**
* Get the name of the column family with which this
* SST file is associated.
return readableProperties;
}
- /**
- * The offset of the value of each property in the file.
- *
- * @return the offset of each property.
- */
- public Map<String, Long> getPropertiesOffsets() {
- return propertiesOffsets;
- }
-
@Override
public boolean equals(Object o) {
if (this == o)
&& formatVersion == that.formatVersion && fixedKeyLen == that.fixedKeyLen
&& columnFamilyId == that.columnFamilyId && creationTime == that.creationTime
&& oldestKeyTime == that.oldestKeyTime
+ && slowCompressionEstimatedDataSize == that.slowCompressionEstimatedDataSize
+ && fastCompressionEstimatedDataSize == that.fastCompressionEstimatedDataSize
+ && externalSstFileGlobalSeqnoOffset == that.externalSstFileGlobalSeqnoOffset
&& Arrays.equals(columnFamilyName, that.columnFamilyName)
&& Objects.equals(filterPolicyName, that.filterPolicyName)
&& Objects.equals(comparatorName, that.comparatorName)
&& Objects.equals(propertyCollectorsNames, that.propertyCollectorsNames)
&& Objects.equals(compressionName, that.compressionName)
&& Objects.equals(userCollectedProperties, that.userCollectedProperties)
- && Objects.equals(readableProperties, that.readableProperties)
- && Objects.equals(propertiesOffsets, that.propertiesOffsets);
+ && Objects.equals(readableProperties, that.readableProperties);
}
@Override
int result = Objects.hash(dataSize, indexSize, indexPartitions, topLevelIndexSize,
indexKeyIsUserKey, indexValueIsDeltaEncoded, filterSize, rawKeySize, rawValueSize,
numDataBlocks, numEntries, numDeletions, numMergeOperands, numRangeDeletions, formatVersion,
- fixedKeyLen, columnFamilyId, creationTime, oldestKeyTime, filterPolicyName, comparatorName,
- mergeOperatorName, prefixExtractorName, propertyCollectorsNames, compressionName,
- userCollectedProperties, readableProperties, propertiesOffsets);
+ fixedKeyLen, columnFamilyId, creationTime, oldestKeyTime, slowCompressionEstimatedDataSize,
+ fastCompressionEstimatedDataSize, externalSstFileGlobalSeqnoOffset, filterPolicyName,
+ comparatorName, mergeOperatorName, prefixExtractorName, propertyCollectorsNames,
+ compressionName, userCollectedProperties, readableProperties);
result = 31 * result + Arrays.hashCode(columnFamilyName);
return result;
}