dydra / support

4 stars 1 forks source link

server timeout #44

Closed laura-slaughter closed 8 years ago

laura-slaughter commented 8 years ago

I am trying to run several queries to a large repository (drugbank) in dydra. I get a server timeout and I am wondering if it is possible to set a larger timeout.

SELECT DISTINCT ?prop FROM http://bio2rdf.org/drugbank_resource:bio2rdf.dataset.drugbank.R4 WHERE { ?obj a http://bio2rdf.org/drugbank_vocabulary:Half-life . ?obj ?prop ?targetObj . FILTER (isLiteral(?targetObj)) }

SELECT (DATATYPE(?targetObj) as ?type) FROM http://bio2rdf.org/drugbank_resource:bio2rdf.dataset.drugbank.R4 WHERE { ?obj a http://bio2rdf.org/drugbank_vocabulary:Half-life . ?obj http://www.w3.org/2000/01/rdf-schema#label ?targetObj . } LIMIT 1

Server response: "

504 Gateway Time-out

<body bgcolor=\"white\">

504 Gateway Time-out


nginx/1.4.6 (Ubuntu)

lisp commented 8 years ago

while the repository is beyond the customary size for accounts on that host, it is not very large. it appears that the compiler makes an unfortunate choice as to how to combine the filter with the join. this causes the filter rate to drop well below the normal +/-1M/second and the query times out.

i will investigate, but, in the meantime, i saved on your view page several variations which avoid the issue.

lisp commented 8 years ago

there are three issues involved in this:

the most significant aspect, limiting the information required to apply the predicate, has been addressed, with the consequence that the original query now completes within the standard time constraint.