-
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
Investigate/test parallel chunking "Internal Server Error" #2724
Comments
software i use:
what i do in order to get this error
the upload is then repatet if i restart the client the problemwith git bisect i isolated the problematic commit to this one:
i was discussing this on irc with ogoffart already, he told me to test OWNCLOUD_PARALLEL_CHUNK=0 among other things. the solutionwhen started with:
the problem does not occur. instead the owncloud.log shows this:
owncloud --logfile /tmp/log
owncloud.log
|
After a bunch of successfully uploaded chunks, the server replies with 500:
On the server:
|
CC @PVince81 @DeepDiver1975 ... This is about parallel chunk upload. |
@DeepDiver1975 So does that mean we should not enable parallel chunk uploads? (see previous message) |
@PVince81 @DeepDiver1975 I don't really understand the server log. Why would it write to the session again? Why would SQL being locked be a problem? sqlite should have a busy-retry handler set? @qknight which DB do you use in the server? There is also something about |
this is the wellknown limitation of sqlite - use mysql or postgres or oci - but not sqlite |
honestly we shall disallow sync with sqlite on the server - parallel request execution can result in database locks |
@DeepDiver1975 Are you not doing something like Line 65 in b50475b
Also activateable via SQL.. https://www.sqlite.org/pragma.html#pragma_busy_timeout |
Is there a way for the client to know which database is in use? |
Not really. But the WebDAV plugin could detect the sync client's headers (or user-agent?) and return some error code ? |
I see
somewhere in the old versions of ownCloud server. Related: owncloud/core#10566 (comment) |
We do not want to have special treatment for special databases, especially as this problem is not sqlite only. We'd rather need owncloud/core#10566 fixed. |
We should close cursor everywhere ideally, yes. But touching all the code at once means retesting everything. It should be fine to do so in 8.1. I was hoping that the existing cursor fixes (which are in 8.0) were already good enough for parallel upload with sqlite. |
So then what do we do? When do we disable or enable chunk parallelism? |
Hello, Would it be possible to enable such (backwards incompatible) features only if the server replies that it supports it in the response to status.php? This is very easy to implement and will keep everyone on the safe side. kuba On Feb 5, 2015, at 3:36 PM, Olivier Goffart notifications@github.com wrote:
|
@moscicki that was the idea behind owncloud/core#13628 |
With the current situation we have now, it should only enable parallel chunking in OC >= 8.0. |
It would be interesting to do benchmak trying to upload a large file:
And see what the optimal parametters should be |
It is still happening in oc 8 ("version":"8.0.0.7","versionstring":"8.0"). |
@lmaestro: do you have the server logs showing the error? |
Owncloud.log
This the logs from my console https://gist.github.com/lmaestro/d3a89814f7746a9a6299 |
@ogoffart as discussed, the decision on how much parallel requests we do was:
|
Reported by @qknight in #69 (comment)
The text was updated successfully, but these errors were encountered: