WEBdav having issues moving files on server
NOPage opened this issue · comments
I am having problems with webDAV since having upgraded to 6.0.3. Im am using the webdav feature with nginx as a webserver. Prior to upgrading, I was perfectly happy with syncing my files from phone via foldersync.
Now FolderSync gives me an error:
file transfer failed: FILE
attempt to read from field java.lang.strict.dk.tacit.android.providers.file.providerfile.displaypath on a null object reference
From seavdav.error.log:
File "/home/seafile/seafile/seafile-server-6.0.3/seahub/thirdpart/wsgidav/request_server.py", line 902, in _copyOrMove
srcRes, HTTP_NO_CONTENT, errorList)
File "/home/seafile/seafile/seafile-server-6.0.3/seahub/thirdpart/wsgidav/request_server.py", line 146, in _sendResponse
return util.sendStatusResponse(environ, start_response, errorList[0][1])
File "/home/seafile/seafile/seafile-server-6.0.3/seahub/thirdpart/wsgidav/util.py", line 758, in sendStatusResponse
assert type(body) is str # If not, Content-Length is wrong!
AssertionError" while reading response header from upstream, client: 10.0.0.1, server: XXX.XXX.net, request: "MOVE /seafdav/FOLDER/FILE/2
2016/09/17 20:16:19 [error] 9495#0: *178168 FastCGI sent in stderr: "" while reading response header from upstream, client: 10.0.0.1, server: XXX.XXX.net, request: "MOVE /seafdav/seafdav/FILE/XY
It seems as if the problem is only with moving/deleting the file after is has been uploaded. The upload itself works fine. In my case, FolderSync creates a tempfile:
file.tacitpart
and moves it when the upload is complete to
file
Since I disabled the tempfile creation in FolderSync settings, the file uploads just fine.
issue fixed in 6.0.4
Sorry, but this bug is still present in seafile-server-7.0.4
Disabling tempfile creation in FolderSync didn't help.
This most probably depends on the speed of the server.
Most probably the server already confirms the upload after the file has been received, but after receiving the file is being indexed within a background job and is not available before the operation has been finished, thus another operation immediately after uploading a file can fail.
Especially for larger files high timeouts are required on the server side to not let an upload fail completely. When tempfile creation is not enabled it does not seem to be the same issue than above, because no move operation should be performed (and thus no move operation can fail).
Looks like I'm having the same issue:
https://forum.seafile.com/t/seafdav-not-completely-working-after-server-migration/11460
@chuegel have you been able to solve it?