[
https://issues.apache.org/jira/browse/HDDS-16229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Saketa Chalamchala updated HDDS-16229:
--------------------------------------
Description:
Add a skip-cache-only batch read path through the HDDS DB layer and wire
snap-diff to use it. Useful for batched gets on secondary DBs like snapshots
for snapshot diff.
1. RocksDatabase.multiGet(ColumnFamily, List<byte[]>) -> RocksDB.multiGetAsList
2. RDBTable.multiGetSkipCache
3. Table.multiGetSkipCache(default loops getSkipCache; override in TypedTable,
DatanodeTable, InMemoryTestTable)
DagDiffSequentialReader.loadFileBatch → one multiGetSkipCache call per batch
(1000 keys){{{{}}{}}}
4. Add CodecBuffer fast path in TypedTable.multiGet / multiGetSkipCache where
codecs support it.
Out of scope: cache-aware `multiGet`, dedicated metrics, adoption outside
snap-diff.
was:
Add a skip-cache-only batch read path through the HDDS DB layer and wire
snap-diff to use it. Useful for batched gets on secondary DBs like snapshots
for snapshot diff.
1. RocksDatabase.multiGet(ColumnFamily, List<byte[]>) -> RocksDB.multiGetAsList
2. RDBTable.multiGetSkipCache
3. Table.multiGetSkipCache(default loops getSkipCache; override in TypedTable,
DatanodeTable, InMemoryTestTable)
DagDiffSequentialReader.loadFileBatch → one multiGetSkipCache call per batch
(1000 keys){{{}{}}}
Out of scope: cache-aware `multiGet`, dedicated metrics, `CodecBuffer` fast
path, adoption outside snap-diff.
> Add RocksDB skip-cache-only MultiGet for secondary DBs
> ------------------------------------------------------
>
> Key: HDDS-16229
> URL: https://issues.apache.org/jira/browse/HDDS-16229
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Saketa Chalamchala
> Assignee: Saketa Chalamchala
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.3.0
>
>
> Add a skip-cache-only batch read path through the HDDS DB layer and wire
> snap-diff to use it. Useful for batched gets on secondary DBs like snapshots
> for snapshot diff.
> 1. RocksDatabase.multiGet(ColumnFamily, List<byte[]>) ->
> RocksDB.multiGetAsList
> 2. RDBTable.multiGetSkipCache
> 3. Table.multiGetSkipCache(default loops getSkipCache; override in
> TypedTable, DatanodeTable, InMemoryTestTable)
> DagDiffSequentialReader.loadFileBatch → one multiGetSkipCache call per batch
> (1000 keys){{{{}}{}}}
> 4. Add CodecBuffer fast path in TypedTable.multiGet / multiGetSkipCache where
> codecs support it.
> Out of scope: cache-aware `multiGet`, dedicated metrics, adoption outside
> snap-diff.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]