[
https://issues.apache.org/jira/browse/HDDS-6486?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Gui resolved HDDS-6486.
----------------------------
Resolution: Fixed
> Add new container schema v3 definitions.
> ----------------------------------------
>
> Key: HDDS-6486
> URL: https://issues.apache.org/jira/browse/HDDS-6486
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Mark Gui
> Assignee: Mark Gui
> Priority: Major
> Labels: pull-request-available
>
> Add definition classes for rocksdb-merge, thus we have a new container schema
> – schemaV3.
> After rocksdb-merge, we have the metadata of multiple containers into a
> central per-disk rocksdb instances, so we should add prefix to their metadata
> KVs, here is a comparison of the old schemaV2 v.s. schemaV3:
> SchemaV2
> |*Table Name/ColumnFamily*|*KeyValue*|
> |block_data|<LocalID, BlockData>|
> |metadata|<MetadataPrefix, MetadataValue>|
> |delete_txns|<TxnID, DeletedBlocksTransaction>|
> SchemaV3
> |*Table Name/ColumnFamily*|*KeyValue*|
> |block_data|<{*}ContainerID#{*}LocalID, BlockData>|
> |metadata|<{*}ContainerID#{*}MetadataPrefix, MetadataValue>|
> |delete_txns|<{*}ContainerID#{*}TxnID, DeletedBlocksTransaction>|
> The containerID should be of fixed-length, then the iteration of a specific
> container metadata will be optimized using rocksdb "Prefix-Seek" feature:
> [https://github.com/facebook/rocksdb/wiki/Prefix-Seek].
> We need to define new classes such as:
> * DatanodeSchemaThreeDBDefinition
> * DatanodeStoreSchemaThreeImpl
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]