-
Notifications
You must be signed in to change notification settings - Fork 211
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
Virtuoso S1TAT Error Query did not complete due to ANYTIME timeout #1340
Comments
I'm guessing that the Virtuoso instance you're querying has a lower timeout setting than you're trying to set on the query side. (Server-side settings take precedence.) I will also note that the client-side value is set in milliseconds — i.e., I would
Please let us know if that information is sufficient to explain what's going on, and to resolve it if you are (or are in contact with) the administrator of that Virtuoso instance. |
Hi, I think there is some confusion as to what timeout applies where. First, VDBDisconnectTimeout is for the virtual database layer - this is not applicable to an incoming sparql query unless it involves the VDB layer behind the scenes. That can be set aside for now. Second, MaxQueryExecutionTime is a server-side cap on the query execution time. According to the docs,
Third, Virtuoso's Anytime query system allows the client to ask for a desired max runtime via the The behaviour matrix is:
For live public production purposes, we advise you to specify timeouts. The short answer here is: for development / internal use, just comment-out the The complication is that it seems SPARQLWrapper has a bug preventing you from enjoying timeouts to the full. I added a debug to dump the request object:
which shows two things:
which lacks mention of the word "timeout". Accordingly, I have raised an issue with SPARQLWrapper to ask for Virtuoso Anytime support via HTH |
Thank you for the explanations and recommendations. I did some extra tests and I'm still seeing a strange behavior. These are the cases I tested:
Therefore, removing the parameter seems at least to remove the upper limit defined by the default timeout. Still it would be useful to define a configurable timeout to limit the execution time of the query. Setting I didn't change any other parameter related to the UPDATE: actually it looks like that if |
I want to confirm that you did test settings of |
Yes, I confirm. Sorry for that, it was just a typo from my side. |
I'm using the
SPARQLWrapper
Python library to call the Virtuoso/sparql
endpoint to trigger a query against the database. For example:The problem I'm facing is related to long running queries. I'm not able to define a consistent timeout with the Virtuoso parameters. I tried to configure
MaxQueryExecutionTime
andVDBDisconnectTimeout
to different values but it does not change the behavior. After approximately 16 minutes, I assume after 1000 seconds, theSPARQLWrapper
call returns anEbndPointInternalError
with status code500
and messageVirtuoso S1TAT Error Query did not complete due to ANYTIME timeout
.I also tried to increase the timeout with
sparql.setTimeout(timeout=3600)
on theSPARQLWrapper
object but that didn't change the results.What I would like to understand is how this particular timeout on the call of the Virtuoso
/sparql
endpoints is configured. Which value should I change and how? What changing the above parameters does not lead to any visible effect?Thanks a lot.
The text was updated successfully, but these errors were encountered: