Implement the generator pattern in places where we handle big list
Open
Nobody has claimed this yet.
🌍 scaling
1. to develop
enhancement
performance 🚀
php
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
- [scaling] User list
- [scaling] Iterating user list of a group
- [perf] File list
- For
getChildren/getDirectoryContentmerging the subsequent request is hard, especially for mount points with duplicates filenames. Solution would be to store the history of filesname with hash or something else. - Not so an issue for big instances as it is mostly one user having a lot of files in one folder.
- For
- [scaling/perf] Add generator in
IResulthttps://github.com/nextcloud/server/pull/56494 - Add documentation
- [perf] All - Change offset pattern to
lastId < X
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the open checklist for user lists, group user lists, file lists, documentation, and the offset pattern, then inspect the completed IResult generator work in pull request 56494. Done would require clearly scoped generator-based handling for the remaining list areas and the requested documentation, but the issue does not name files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100