-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HDDS-1461. Optimize listStatus api in OzoneFileSystem #782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
💔 -1 overall
This message was automatically generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great optimization.
Should this point to first character in the ASCII table ? Also lets verify that this for UTF-8 encoding as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first character in the ASCII table would not work in our case.
The second commit uses codec of RDBStore for handling the UTF-8 case.
|
💔 -1 overall
This message was automatically generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we move the acquireBucketLock inside the try block? The original pattern seems good to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs to be moved out of try block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall. A few comments added inline
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
keyName can be used here, as keyPath was derived from that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments here do not match with the assert in the next line. Can you please have a look.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a comment here to explain this line
|
@xiaoyuyao @mukul1987 I have made addresses the review comments in the latest commit. |
|
💔 -1 overall
This message was automatically generated. |
|
+1, the patch looks good to me. |
|
@mukul1987 @xiaoyuyao Thanks for reviewing the PR! I have merged it to trunk. |
… method. Author: Boris S <[email protected]> Author: Boris S <[email protected]> Author: Boris Shkolnik <[email protected]> Reviewers: Bharath Kumarasubramanian <[email protected]> Closes apache#782 from sborya/removeExtendedSystemAdmin
Currently in listStatus we make multiple getFileStatus calls. This can be optimized by converting to a single rpc call for listStatus.
Also currently listStatus has to traverse a directory recursively in order to list its immediate children. This happens because in OzoneManager all the metadata is stored in rocksdb sorted on keynames. The Jira also aims to fix this by using seek api provided by rocksdb.