-
Notifications
You must be signed in to change notification settings - Fork 2.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
OC ext storage PROPFIND recreates etag for every call #15125
Comments
Hmm, it looks like every "hasUpdated" call causes the file's etag to change. So basically in |
This can be observed by running:
and seeing that for every call, the etag of the file changes! |
Ok I think I got it: There are two possible fixes for this, either:
Another problem: we currently do not use the OwnCloud ext storage impl for federation, so we cannot simply move logic there... CC @icewind1991 in case you got a better idea |
This PR fixes the OC ext storage resync/conflict, but will break DAV servers: #15895 |
Also just observed on stable7. Basically OC ext storage backend is broken with sync since the introduction of s2s/federation. |
This also causes server2server shares to be synced every minute |
Maybe some code path is bypassing the shareinfo.php logic |
Looks like with s2s it is also redownloading the same file (single file share through s2s) over and over again. It doesn't seem to go through shareinfo.php, so it is likely that it is re-generating a new etag for every access too. |
This PR fixes it: #15895 But not sure about the consequences with regular WebDAV servers that do not return etags. It would just fallback to re-generating a new etag as it did before. On the other hand, "hasUpdated()" will not rely on remote etags in such cases but only on mtimes. So might be fine. |
Steps to reproduce
Expected result
File is overwritten properly
Actual result
Sync client says there is a conflict and creates a local conflict file.
Versions
Both ownCloud 8.0.2
Logs
Frontend OC log:
Backend OC: nothing
Note: mount points that use server to server sharing work fine with overwrite, this seems to be specific to external storages.
The text was updated successfully, but these errors were encountered: