-
Notifications
You must be signed in to change notification settings - Fork 663
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
Client uses old chunking protocol with new DAV endpoint "Precondition failed" "An If-Match header was specified and the resource did not exist" #5855
Comments
Desktop client version owncloud-client-2.3.2-1.5.x86_64 on openSUSE Tumbleweed. |
Going to update the report, there is something about file sizes |
@jturcotte @ogoffart I think this is about https://github.com/owncloud/client/blob/v2.3.2/src/libsync/syncengine.cpp#L520 blindly overwriting (I wonder if this has other implications, e.g. progress reporting? maybe not) |
Steps:
ExpectedBoth overwrite operations use the "uploads" chunking approach. ActualWhen overwriting the small file, it will use the old chunking approach (ugly file names) on the new endpoint. For big:
For overwriting small.dat:
|
@mrow4a Could you add a smashbox test for overwriting/uploading a small remote file with a big one? |
I've tested #5855 locally and it works correctly:
No errors, looks good. |
I think that commit is pentotially bery dangerous. I believe the issue should be fixed with: #5852 Altough it may still be a problem if the file changes on disk between discovery and propagation or such things. Maybe then we need to make sure that the legacy job does not do chunking at all. |
But that's right that we should not overwrite the size from an INSTRUCTION_NONE, that may be the bug. |
Checks instruction, direction, size, modtime for three common cases.
owncloud/smashbox#163 integration for server/client to protect that, will also add zero sized |
Checks instruction, direction, size, modtime for three common cases.
@mrow4a has confirmed in the PR that this is fixed now :) |
I'm having sometimes the error syncing nextcloud |
I think you need to contact NextCloud for that, this might be related to the server also. I am not sure if they follow our protocol. We developed new chunking algorithm, you can read about it here #4019 |
yep. sorry didn't notice this is for the owncloud and not the nextcloud |
As far as I remember, they are using ownCloud's sync client, which is just branded. So you are in proper place. What is your sync client version? Maybe you just need to update your client. Otherwise, you need to post an issue in the Nextcloud server repository. |
Steps
Follow the steps from owncloud/core#28197 and observe access log.
The linked ticket is about a received shared file (not folder, not file in shared folder).
When upload+overwriting this special file (which is also a shared mount / mount point), the client somehow decides to use the old chunking approach but with the new endpoint:
If you do the same test with a regular file that you overwrite, it will use the new chunking approach with the "uploads" folder:
Is there a special logic in place that makes it fall back to old chunking and keeps the new dav endpoint ?
I'd expect it to always use the "uploads" folder for any uploads when using the new dav endpoint.
The error that happens on the server is not related, to be investigated in owncloud/core#28197.
In general I except all three approaches to be valid:
@guruz
The text was updated successfully, but these errors were encountered: