|
From: Bryan T. <br...@bl...> - 2016-04-24 21:09:59
|
Perhaps you are not draining the query results? That would explain all the
points you have mentioned since the queries will continue to "run" until
all solutions are drained or the query times out or is cancelled.
The status tab will show you the running queries. I suspect that each
submitted query continues until it times out because it is not being
drained.
If you are embedded, be sure to close the solutions iterator.
Bryan
On Apr 24, 2016 4:39 PM, "Daniel Hernández" <da...@de...> wrote:
I found another issue on this. When I stopped the server it prints
several InterruptedExceptions, one for each of the queries that give a
timeout.
ERROR: BigdataRDFServlet.java:214:
cause=java.lang.InterruptedException, query=SPARQL-QUERY:
queryStr=PREFIX wikibase:<http://wikiba.se/ontology-beta#>
PREFIX wd: <http://www.wikidata.org/entity/> SELECT ?s ?p ?q ?qo
WHERE { { ?s
?p ?c . ?c ?ps wd:Q16533 . ?p wikibase:propertyValue ?ps . }
OPTIONAL { ?c ?q ?qo . ?q a wikibase:Propert
y . } } LIMIT 10000
java.lang.InterruptedException
I have set timeout=60 in the request. That is, parametrically the
request is:
"#{@endpoint}?query=#{url_encode(query)}&timeout=60&analytic=true"
It seems that the timeout is not working because tasks continue several
minutes after the timeout.
Then, I also set a timeout in a file override.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Bigdata</display-name>
<description>Bigdata</description>
<context-param>
<description></description>
<param-name>queryTimeout</param-name>
<param-value>2</param-value>
</context-param>
</web-app>
Then, I run the server with
java -Xmx10g -Xms10g -XX:PermSize=10g -XX:MaxPermSize=10g
-XX:+UseConcMarkSweepGC -XX:ParallelCMSThreads=5
-Djetty.overrideWebXml=override.xml
-Dbigdata.propertyFile=server.properties -jar blazegraph.jar
Then, several queries where aborted by the server. That is, the response
have a status code 500 and the server prints this:
Go to http://172.17.69.182:9999/blazegraph/ to get started.
WARN : Haltable.java:466: com.bigdata.util.concurrent.Haltable@bd8c9ab :
isFirstCause=true : com.bigdata.bop.engine.QueryTimeoutException: Query
deadline is expired.
com.bigdata.bop.engine.QueryTimeoutException: Query deadline is expired.
at com.bigdata.bop.engine.RunState.checkDeadline(RunState.java:832)
at com.bigdata.bop.engine.RunState.startOp(RunState.java:753)
at
com.bigdata.bop.engine.AbstractRunningQuery.startOp(AbstractRunningQuery.java:789)
at
com.bigdata.bop.engine.QueryEngine.startOp(QueryEngine.java:1348)
at
com.bigdata.bop.engine.ChunkedRunningQuery$ChunkTaskWrapper.run(ChunkedRunningQuery.java:883)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at com.bigdata.concurrent.FutureTaskMon.run(FutureTaskMon.java:63)
at
com.bigdata.bop.engine.ChunkedRunningQuery$ChunkFutureTask.run(ChunkedRunningQuery.java:792)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
ERROR: BigdataRDFServlet.java:214:
cause=java.util.concurrent.ExecutionException:
java.util.concurrent.ExecutionException:
org.openrdf.query.QueryInterruptedException: ja
va.lang.RuntimeException: java.util.concurrent.ExecutionException:
java.lang.RuntimeException: java.util.concurrent.ExecutionException:
com.bigdata.bop.engine.QueryTimeou
tException: Query deadline is expired., query=SPARQL-QUERY:
queryStr=PREFIX wikibase: <http://wikiba.se/ontology-beta#> PREFIX wd:
<http://www.wikidata.org/entity/> SELE
CT ?s ?p ?q ?qo WHERE { { ?s ?p ?c . ?c ?ps wd:Q17912672 . ?p
wikibase:propertyValue ?ps . } OPTIONAL { ?c ?q ?qo . ?q a
wikibase:Property . } } LIMIT 10000
java.util.concurrent.ExecutionException:
java.util.concurrent.ExecutionException:
org.openrdf.query.QueryInterruptedException: java.lang.RuntimeException:
java.util.concu
rrent.ExecutionException: java.lang.RuntimeException:
java.util.concurrent.ExecutionException:
com.bigdata.bop.engine.QueryTimeoutException: Query deadline is expired.
Thus, it seems that the timeout was working. However, after some
queries, I got a timeout in the client. After this first timeout every
query is answered with a timeout.
Cheers,
Daniel
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers
of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Bigdata-developers mailing list
Big...@li...
https://lists.sourceforge.net/lists/listinfo/bigdata-developers
|