You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Nandakumar (Jira)" <ji...@apache.org> on 2025/03/06 17:38:00 UTC

[jira] [Commented] (HDDS-11777) Create common method for tasks that need to iterate OM namespace in parallel

    [ https://issues.apache.org/jira/browse/HDDS-11777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17933069#comment-17933069 ] 

Nandakumar commented on HDDS-11777:
-----------------------------------

It would be nice if we can implement streaming API instead of accepting {{Consumer}} function. With streaming API we should be able to make the execution parallel whenever required.
Sample Code can be found  [here | ^DBIterator.java].

> Create common method for tasks that need to iterate OM namespace in parallel
> ----------------------------------------------------------------------------
>
>                 Key: HDDS-11777
>                 URL: https://issues.apache.org/jira/browse/HDDS-11777
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Sumit Agrawal
>            Assignee: Zita Dombi
>            Priority: Major
>         Attachments: DBIterator.java
>
>
> Add a utility method that supports iterating the filesystem tree from RocksDB in a parallel manner. This has multiple potential use cases, including building a container to key mapping from a debug tool, repairing quota issues, and namespace processing on Recon snapshot install, like DU and container to key mapping.
> This method would be used in cases where we can sacrifice in-order traversal of keys to gain parallelization with low memory overhead, using a modified DFS with parallel tree splitting for FSO and more simple work splitting for OBS. Signature would look something like this:
> {code:java}
> void walkNamespace(DB omDB, String startPath, Consumer<KeyInfo> action, int threadCount)
> {code}
> Each use case would specify the action it needs to perform on each key in the consumer.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org