-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
feat: Forward sizeDifference on update #52998
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
Conversation
978c3b5
to
598055d
Compare
598055d
to
8bda2dc
Compare
And remove unneeded oldSize hack Signed-off-by: Louis Chemineau <[email protected]>
8bda2dc
to
9098aa6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have tests for this?
No, I would like to validate the approach with @icewind1991 first. |
Does this even work? Since the storage operation (with object store) would have already updated the filecache, the size you get in the new Also, this would only make the It will also add an additional filecache read for every file change. |
I'm tempting to have the object store do more of the filecache management "in house" and also have it perform the size/etag propagation when it writes to the filecache |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs a better approach
@icewind1991 @artonge what is the status here? |
Summary from the discussion with Robin: Overall, the issue is that the One solution would be to create an |
@artonge what does this now mean
I read it like that the PR is not working, but will the solution work? And how long would it need to implement? |
I should have something working before the 20th of June, if not, Robin will take over. |
And remove unneeded
oldSize
hack.Reason
This will speed up update operations on S3 as primary storage by preventing the recomputation of the size of each folder higher up in the hierarchy.
Rational
When using S3 as primary storage, the
Scanner
is replaced with theObjectStoreScanner
. This means that we are not able to benefit from theoldSize
property set in theScanner
.Scanner
sets theoldSize
property on the cache object:server/lib/private/Files/Cache/Scanner.php
Line 248 in 2152650
Updater
tries to access theoldSize
propertyserver/lib/private/Files/Cache/Updater.php
Lines 134 to 136 in 2152650
ObjectStoreScanner
just does nothing:server/lib/private/Files/ObjectStore/ObjectStoreScanner.php
Lines 38 to 40 in 2152650