Skip to content

Size tracking component#423

Merged
jfantinhardesty merged 28 commits intomainfrom
size-tracking-component
Jan 29, 2025
Merged

Size tracking component#423
jfantinhardesty merged 28 commits intomainfrom
size-tracking-component

Conversation

@jfantinhardesty
Copy link
Copy Markdown
Contributor

What type of Pull Request is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Describe your changes in brief

This adds a new size tracker component which tracks the size of the mounted directory to prevent calls to the cloud to get the size of the mount. This in particular is useful when mounting subdirectories as there is no call in S3 to retrieve the size of the storage. This component goes in between the file_cache and attr_cache to track write information.

Checklist

  • Tested locally
  • Added new dependencies
  • Updated documentation
  • Added tests

Related Issues

  • Related Issue #
  • Closes #

@jfantinhardesty jfantinhardesty marked this pull request as ready for review January 24, 2025 18:21
@jfantinhardesty jfantinhardesty marked this pull request as draft January 24, 2025 18:27
@jfantinhardesty jfantinhardesty marked this pull request as ready for review January 24, 2025 20:48
Copy link
Copy Markdown
Contributor

@foodprocessor foodprocessor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's quite the testing infrastructure! Good work!

Comment thread component/size_tracker/size_tracker.go Outdated
Comment thread component/size_tracker/size_tracker.go Outdated
jfantinhardesty and others added 4 commits January 27, 2025 08:23
Co-authored-by: Michael Habinsky <foodprocessor@users.noreply.github.com>
Signed-off-by: James Fantin-Hardesty <24646452+jfantinhardesty@users.noreply.github.com>
Comment thread component/size_tracker/size_tracker.go
Comment thread component/size_tracker/size_tracker.go
Comment thread component/size_tracker/size_tracker.go
Comment thread test/s3cleanup/s3cleanup_test.go
Comment thread test/e2e_tests/statfs_linux.go
@Dabnsky
Copy link
Copy Markdown
Contributor

Dabnsky commented Jan 29, 2025

overall, pretty cool stuff. one thing I ran into when I ran it was this error:

Error: failed to initialize new pipeline [config error in Pipeline [component size_tracker is out of order]]

so a naïve user who just tacks that on their config file won't know that there is a certain order that it needs to be listed in the components section. we can consider adding sanitation support for the config file when it is being processed.

Great job!

@jfantinhardesty
Copy link
Copy Markdown
Contributor Author

overall, pretty cool stuff. one thing I ran into when I ran it was this error:

Error: failed to initialize new pipeline [config error in Pipeline [component size_tracker is out of order]]

so a naïve user who just tacks that on their config file won't know that there is a certain order that it needs to be listed in the components section. we can consider adding sanitation support for the config file when it is being processed.

Great job!

Yes, good point. Yeah there is an implicit order in the component section, and this does require being after the file_cache section and before the attr_cache section. Once merged, I would update the current documentation on this that exists on our wiki at https://github.com/Seagate/cloudfuse/wiki/Config-File where we note the order of the configuration file and the priority that should be set if users want to use this component. Though, this component should really only be used by the plugin most likely.

@jfantinhardesty jfantinhardesty merged commit 8cfad3d into main Jan 29, 2025
@jfantinhardesty jfantinhardesty deleted the size-tracking-component branch January 29, 2025 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants