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

perf: Cache workspace content for propfinds #5948

Merged
merged 1 commit into from
Jun 26, 2024

Conversation

juliushaertl
Copy link
Member

@juliushaertl juliushaertl commented Jun 25, 2024

Reading a file from disk or possibly remote storage can be costly. We can store the content in cache with the (fileId, etag) as key so we only return the result as long as the file content is unchanged.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
Copy link
Member

@mejo- mejo- left a comment

Choose a reason for hiding this comment

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

Code changes look good to me.

I just wonder how often it happens that the same folder gets opened again and again in the files app within one hour.

@juliushaertl
Copy link
Member Author

It could also be mobile clients sending a propfind with the rich workspace property and for shared folders, group folders it will also help to cache between users. Likely not a huge improvement but might still contribute to less time spent on storage operations.

@juliushaertl juliushaertl merged commit fa15cdd into main Jun 26, 2024
60 of 63 checks passed
@juliushaertl juliushaertl deleted the perf/cache-workspace-result branch June 26, 2024 12:30
Comment on lines +105 to +106
} catch (GenericFileException|NotPermittedException|LockedException $e) {
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be logged at least in debug, no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants