Page MenuHomePhabricator

Add query runtime cap for blazegraph
Closed, ResolvedPublic

Description

Looking at the query list on test machine (db01) I see there are some queries that have been running for more than an hour, and Blazegraph's Java process is at 780% CPU. We probably need to put a cap on that and make some limit (like 2-3 minutes) on the query runtime, at which time the query should either return whatever it's got so far (best result) or just die. Not sure if Blazegraph already has such configuration, if not, we'd probably need to somehow add it.

Related Objects

Event Timeline

Smalyshev raised the priority of this task from to High.
Smalyshev updated the task description. (Show Details)

You can do this through web.xml. You can also mark the end point as read-only. See http://wiki.blazegraph.com/wiki/index.php/NanoSparqlServer#web.xml and also inline below for some of the more relevant options.

queryThreadPoolSize 16 The size of the thread pool used to service SPARQL queries -OR- ZERO (0) for an unbounded thread pool (which is not recommended).

readOnly false When true, the REST API will not permit mutation operations.

queryTimeout 0 When non-zero, the timeout for queries (milliseconds).

Thanks,
Bryan

@Thompsonbry.systap thanks, this looks exactly what we need! I'll try it out.

Change 206471 had a related patch set uploaded (by Smalyshev):
T97095: add customized web.xml with query runtime cap

https://gerrit.wikimedia.org/r/206471

Change 206471 merged by jenkins-bot:
T97095: add customized web.xml with query runtime cap

https://gerrit.wikimedia.org/r/206471