Skip to content
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

receiver optimisation: defer lookup of xattrs #3569

Open
mharvey-jt opened this issue Apr 8, 2024 · 1 comment · May be fixed by #3570
Open

receiver optimisation: defer lookup of xattrs #3569

mharvey-jt opened this issue Apr 8, 2024 · 1 comment · May be fixed by #3570
Assignees
Milestone

Comments

@mharvey-jt
Copy link
Contributor

Looking at the grafting of a particularly large catalog we have, I see surprisingly large runtimes. The graft is of a sub directory to a directory containing 44k+ directories nested catalogs, no files, and full path length of ~ 34 chars. Each directory has an ACL.

The presence of the ACL causes an xattr lookup

if (new_entry.HasXattrs()) {
new_catalog_mgr_->LookupXattrs(new_path, &xattrs);
}

This is slow, and the xattrs are not used in the case I'm looking at. Moving the xattr lookup into the blocks where is it actually used markedly improves runtime - by 6x in this case.

@mharvey-jt
Copy link
Contributor Author

mharvey-jt commented Apr 9, 2024

See #3570

@mharvey-jt mharvey-jt linked a pull request Apr 9, 2024 that will close this issue
@mharvey-jt mharvey-jt changed the title receiver inefficiency: unnecessary lookup of xattrs receiver optimisation: defer lookup of xattrs Apr 9, 2024
@jblomer jblomer self-assigned this Apr 9, 2024
@jblomer jblomer added this to the 2.12 milestone Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants