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

[Proposal] Make etags only propagate to the root of the storage. #20231

Closed
icewind1991 opened this issue Nov 2, 2015 · 6 comments
Closed

[Proposal] Make etags only propagate to the root of the storage. #20231

icewind1991 opened this issue Nov 2, 2015 · 6 comments
Labels
Milestone

Comments

@icewind1991
Copy link
Contributor

Almost all etag propagation issues come down to having to propagate etags across storage boundaries.

We could get rid of all those problems by only propagating etags up to the root of the storage which saves us from having to update etags for other users besides the owner of the file (or the current user in case of multiple users sharing an external storage).

Then when reading the etag of a folder from the database we combine the "storage etag" with the etags from all mount points in that folder to calculate an etag that has proper cross storage propagation.

A similar method is used to calculate folder sizes and this could also be used for folder mtimes

We sacrifice some complexity when reading etag (I dont think it will actually result in a performance penalty since we already need to get the metadata from the cache for all mount points in a folder to get the size) to make etag propagation a lot simpler.

Note that this could also lead the way to reproducible folder etags although that would conflict with things like #20229

cc @DeepDiver1975 @PVince81 @MorrisJobke

@PVince81
Copy link
Contributor

PVince81 commented Nov 2, 2015

But you would still be able to propagate etags in a single query within the same storage, right ?

@icewind1991
Copy link
Contributor Author

Stable/reproducible folder etags will make it difficult/impossible because it will require different etags for the parents, the #20229 trick relies on giving all parents the same etag

But this approach can still give good improvements for etag propagation without stable folder etags

@PVince81
Copy link
Contributor

@icewind1991 link to your PR ? Or is it not related ?

@icewind1991
Copy link
Contributor Author

Fix is here: #20439

@MorrisJobke
Copy link
Contributor

#20439 was merged yesterday -> closing

@MorrisJobke MorrisJobke added this to the 9.0-current milestone Nov 26, 2015
@lock
Copy link

lock bot commented Aug 7, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Aug 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants