Class SchemaOneDeletedBlocksTable
java.lang.Object
org.apache.hadoop.ozone.container.metadata.DatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList>
org.apache.hadoop.ozone.container.metadata.SchemaOneDeletedBlocksTable
- All Implemented Interfaces:
org.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList>
public class SchemaOneDeletedBlocksTable
extends DatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList>
For RocksDB instances written using DB schema version 1, all data is
stored in the default column family. This differs from later schema
versions, which put deleted blocks in a different column family.
As a result, the block IDs used as keys for deleted blocks must be
prefixed in schema version 1 so that they can be differentiated from
regular blocks. However, these prefixes are not necessary in later schema
versions, because the deleted blocks and regular blocks are in different
column families.
Since clients must operate independently of the underlying schema version,
This class is returned to clients using DatanodeStoreSchemaOneImpl
instances, allowing them to access keys as if no prefix is
required, while it adds or removes the prefix when necessary.
This means the client should omit the deleted prefix when putting and
getting keys, regardless of the schema version.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.hadoop.hdds.utils.db.Table
org.apache.hadoop.hdds.utils.db.Table.KeyValue<K,V>, org.apache.hadoop.hdds.utils.db.Table.KeyValueIterator<KEY, VALUE> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSchemaOneDeletedBlocksTable(org.apache.hadoop.hdds.utils.db.Table<String, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> table) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoiddeleteRange(String beginKey, String endKey) voiddeleteWithBatch(org.apache.hadoop.hdds.utils.db.BatchOperation batch, String key) org.apache.hadoop.ozone.container.common.helpers.ChunkInfoListorg.apache.hadoop.ozone.container.common.helpers.ChunkInfoListgetIfExist(String key) List<org.apache.hadoop.hdds.utils.db.Table.KeyValue<String, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList>> getRangeKVs(String startKey, int count, String prefix, org.apache.hadoop.hdds.utils.MetadataKeyFilters.KeyPrefixFilter filter, boolean isSequential) org.apache.hadoop.ozone.container.common.helpers.ChunkInfoListgetReadCopy(String key) booleanvoidvoidputWithBatch(org.apache.hadoop.hdds.utils.db.BatchOperation batch, String key, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList value) Methods inherited from class org.apache.hadoop.ozone.container.metadata.DatanodeTable
deleteBatchWithPrefix, deleteRangeWithBatch, dumpToFileWithPrefix, getEstimatedKeyCount, getName, isEmpty, iterator, loadFromFileMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.hdds.utils.db.Table
addCacheEntry, addCacheEntry, addCacheEntry, cacheIterator, cleanupCache, createCacheMetrics, getCacheValue, getRangeKVs, getRangeKVs, getSkipCache, iterator, iterator, keyIterator, keyIterator, valueIterator, valueIterator
-
Field Details
-
DELETED_KEY_PREFIX
- See Also:
-
-
Constructor Details
-
SchemaOneDeletedBlocksTable
public SchemaOneDeletedBlocksTable(org.apache.hadoop.hdds.utils.db.Table<String, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> table)
-
-
Method Details
-
put
public void put(String key, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList value) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
putin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
putin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
putWithBatch
public void putWithBatch(org.apache.hadoop.hdds.utils.db.BatchOperation batch, String key, org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList value) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
putWithBatchin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
putWithBatchin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
delete
public void delete(String key) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
deletein interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
deletein classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
deleteWithBatch
public void deleteWithBatch(org.apache.hadoop.hdds.utils.db.BatchOperation batch, String key) throws org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
deleteWithBatchin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
deleteWithBatchin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.CodecException
-
deleteRange
public void deleteRange(String beginKey, String endKey) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
deleteRangein interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
deleteRangein classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
isExist
public boolean isExist(String key) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
isExistin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
isExistin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
get
public org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList get(String key) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
getin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
getin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
getIfExist
public org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList getIfExist(String key) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
getIfExistin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
getIfExistin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
getReadCopy
public org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList getReadCopy(String key) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
getReadCopyin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
getReadCopyin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-
getRangeKVs
public List<org.apache.hadoop.hdds.utils.db.Table.KeyValue<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList>> getRangeKVs(String startKey, int count, String prefix, org.apache.hadoop.hdds.utils.MetadataKeyFilters.KeyPrefixFilter filter, boolean isSequential) throws org.apache.hadoop.hdds.utils.db.RocksDatabaseException, org.apache.hadoop.hdds.utils.db.CodecException - Specified by:
getRangeKVsin interfaceorg.apache.hadoop.hdds.utils.db.Table<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Overrides:
getRangeKVsin classDatanodeTable<String,org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList> - Throws:
org.apache.hadoop.hdds.utils.db.RocksDatabaseExceptionorg.apache.hadoop.hdds.utils.db.CodecException
-