Skip to content

Implement quota fetch all mode and use actual ranged query - #76

Open
rustybee42 wants to merge 1 commit into
mainfrom
hackathon/quota
Open

Implement quota fetch all mode and use actual ranged query#76
rustybee42 wants to merge 1 commit into
mainfrom
hackathon/quota

Conversation

@rustybee42

@rustybee42 rustybee42 commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

See commit message for description.

#72 might not be necessary in this form anymore. Maybe with an only slightly increased timeout.

Related to https://github.com/ThinkParQ/beegfs-core/pull/4756

@rustybee42 rustybee42 self-assigned this Jul 8, 2026
Comment thread mgmtd/src/quota.rs Fixed
Comment thread mgmtd/src/quota.rs Dismissed
@rustybee42 rustybee42 changed the title Implement quota fetch all mode Implement quota fetch all mode and use actual ranged query Jul 15, 2026
@rustybee42
rustybee42 force-pushed the hackathon/quota branch 2 times, most recently from b57fa83 to 3f860cf Compare July 15, 2026 11:55
This commit overhauls how quota entries are fetched using the various
modes and adds a new all mode.

Previously, the fetch request always used list mode, combining all the
configured ids (from range, file and system ids) into a single list.
This patch separates the requests into a list and a separate range
request, depending on which id selection modes are used. E.g. if only
a range is set, a range request is sent, if a range and a file is
specified, a range and a list request is sent. The results are combined
together, so there is no difference in behavior.

The new all mode fetches all available entries from the storage targets
by enumeration. Using this requires updating the storage servers,
otherwise it will just return empty results. This is meant to be the
new default. The all mode is the default mode if no ids are configured
(previously this would just query nothing).

With this change (plus the storage server patch), quota user experience
should significantly improve. ID configuration should usually not be
necessary anymore and the storage servers can use enumeration for ranges
and the new all mode, querying only entries that actually exist. Which
brings a huge performance improvement.

Further changes:

* Improve fetch code structure
* Update config documentation
* Add list mode to update test
@rustybee42
rustybee42 marked this pull request as ready for review July 29, 2026 07:47
@rustybee42
rustybee42 requested a review from a team as a code owner July 29, 2026 07:47
@rustybee42
rustybee42 requested a review from philippfalk July 29, 2026 07:47
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