-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
eTag for metadata changes #8477
Comments
Probably we should have some way to trigger a parent update on all metadata changes. |
Any news here? Changing the parent etag as @rullzer suggested should be the best. |
The only problem I recently thought of is that just chaning the parent etag is not enough. Consider:
Now with two users this is fine. But now imagin sharing a file to a group of 2000 users. |
Yeah, slight overhead ;-) |
Well yes but that happens only when those users request the info. Because the etag of the file changes so we can delay it until the info is requested. In this scenario we would have to do it on all changes. Basically we would need to change the etag of the file and then it all would work. But doing that would lead to a redownload in the desktopclient. |
Then check the modification date, it eTag changed, but mod date not, you know it is only metadata ;-) |
@rullzer any news here? |
revert to old stuff. Nothing will be fixed before 22.03 |
Sad ;-) |
Reminder for myself: If we have a server fix, we need a new PR for android. |
This was scheduled for NC14, but got delayed. |
@rullzer @icewind1991 can this new eTag also change when a share is changed? |
Most likely nothing that still can be done. Sorry - see my comment in #14228 |
Sad to hear, especially that this was already moved from 15 to 16… |
still an issue? |
Yes. We would benefit quite a lot by this! |
With nextcloud/android#10783 we see this is one of our biggest area to improve. |
possible approaches: 1a) reuse the etag and make it change when a share, share permissions, acl, favorite, tag, etc changes
1b) like 1a but change the etag on a file also whenever its metadata changes
any further approaches or tweaks to the above ? @tobiasKaminsky |
1a/b) cannot work as eTag is currently used to distinguish when to sync a file. I fear 2 is the only solution. |
@icewind1991 can you estimate the effort of adding an additional metadata-etag and triggering its change in various code locations, and propagating it like the initial one ? are there any cases that we forgot to cover, like for example whether the files HPB should also expose it somehow ? |
I remember that we even started with it at some point: So DB is "ready" according to my limited knowledge. |
I would like to mention that my PR #34918 is complementary to this one. It helps in the current situation - without the metadata eTag. Will still help when the metadata eTag is implemented - in cases when the share data actually changes. |
Updated version:
Provide an
eTag
for metadata changes (favorite, share, note, etc).Currently clients (Android / iOS) check for changed
eTag
when entering a folder.If this is the same with stored database no real
propfind
to list folder content is needed.However if e.g. a new sharee was added, we still need to retrieve it. Therefore we check every time(!)
/ocs/v2.php/apps/files_sharing/api/v1/shares
This has multiple drawbacks
On next android version we wanted to rely on changed
eTags
when syncing a folder:eTag
with locally storedeTag
eTag
differsThe problem now is that with this approach we do not get info about favorited/unfavorited folders. (encrypted/not encrypted I have not checked yet).
In my opinion at least the parent folder should then have a changed
eTag
to reflect that something has changed.@skjnldsv @icewind1991
The text was updated successfully, but these errors were encountered: