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
feat: obviate ghostlinkd #7336
feat: obviate ghostlinkd #7336
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7336 +/- ##
==========================================
- Coverage 88.98% 88.84% -0.15%
==========================================
Files 291 291
Lines 40717 40908 +191
==========================================
+ Hits 36233 36344 +111
- Misses 4484 4564 +80 ☔ View full report in Codecov by Sentry. |
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.
Reviewed what's here. Agree that you've caught all the places in your comments in the first commit. A couple minor questions that might just reflect the wip-ness of this PR.
Also, I think you can remove your TODO
in views_charter.py
now?
fwiw, for each unit, I left “bury the errors” vs “crash if there are errors” strategies as they are. Both of them bug me immensely. But to do a better thing in all these places (where the errors are really bad, and crashing is really bad) will require a bigger refactor. |
Also (for future us looking back at why we did this likely-to-look-foolish thing) - this moves a baked-in assumption into the datatracker from ghostlinkd (that the linked things are on the same filesystem and hardlinks will work). Hopefully in the near future, we will keep all the things touched here in a blobstore instead of the filesystem and the above assumption (and the things this PR adds) will be simplified/rationalized into other applications feeding from that blobstore. |
Still reviewing, but maybe this is an indication it's worth wrapping the hardlink operation in a |
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.
Looks good, just a leftover "todo" comment to remove that I see.
WRT my comment about wrapping the link()
operation - I think we'll end up wanting to do that, but I don't think it's necessary now. The main advantage is that I think it'd make the tests more independent, which might be slightly easier to change now. (Instead of separately testing that each place makes the right hard links, it'd just be a test that the hypothetical method was called, then a single test to update when that changes to a new mirroring strategy).
I don't think it'll be that much easier to do this now vs later, though.
No description provided.