LiUSemWeb / HeFQUIN

HeFQUIN is a query federation engine for heterogeneous federations of graph data sources, including federations of knowledge graphs.
https://liusemweb.github.io/HeFQUIN/
Apache License 2.0
20 stars 3 forks source link

"Thread limit exceeded replacing blocked worker" #168

Open chengsijin0817 opened 2 years ago

chengsijin0817 commented 2 years ago

Error message:

Failure:Processing the query operator using HeFQUIN failed. org.apache.jena.query.QueryExecException: Processing the query operator using HeFQUIN failed. at se.liu.ida.hefquin.jenaintegration.sparql.engine.main.OpExecutorHeFQUIN$MainQueryIterator.nextStage(OpExecutorHeFQUIN.java:164) at org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:100) at org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:60) at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114) at org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58) at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114) at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38) at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114) at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38) at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114) at org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:64) at org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55) at org.apache.jena.sparql.resultset.ResultSetApply.apply(ResultSetApply.java:38) at org.apache.jena.riot.resultset.rw.ResultSetWriterXML.write(ResultSetWriterXML.java:82) at org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:156) at org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:126) at org.apache.jena.sparql.util.QueryExecUtils.outputResultSet(QueryExecUtils.java:133) at org.apache.jena.sparql.util.QueryExecUtils.doSelectQuery(QueryExecUtils.java:150) at org.apache.jena.sparql.util.QueryExecUtils.executeQuery(QueryExecUtils.java:81) at se.liu.ida.hefquin.engine.HeFQUINEngineBuilder$MyEngine.executeQuery(HeFQUINEngineBuilder.java:90) at se.liu.ida.hefquin.hefquinwebservice.Controller.index(Controller.java:89) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: se.liu.ida.hefquin.engine.queryproc.QueryOptimizationException: Determining the cost for plans caused an exception. at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.utils.PhysicalPlanWithCostUtils.annotatePlansWithCost(PhysicalPlanWithCostUtils.java:29) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.generateNextGen(EvolutionaryAlgorithmQueryOptimizer.java:145) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.optimize(EvolutionaryAlgorithmQueryOptimizer.java:87) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.optimize(EvolutionaryAlgorithmQueryOptimizer.java:49) at se.liu.ida.hefquin.engine.queryproc.impl.planning.QueryPlannerImpl.createPlan(QueryPlannerImpl.java:44) at se.liu.ida.hefquin.engine.queryproc.impl.QueryProcessorImpl.processQuery(QueryProcessorImpl.java:66) at se.liu.ida.hefquin.jenaintegration.sparql.engine.main.OpExecutorHeFQUIN$MainQueryIterator.nextStage(OpExecutorHeFQUIN.java:161) ... 71 more Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Getting a variable-specific cardinality estimate caused an exception. at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) at se.liu.ida.hefquin.engine.utils.CompletableFutureUtils.getAll(CompletableFutureUtils.java:33) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.utils.CostEstimationUtils.getEstimates(CostEstimationUtils.java:47) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.utils.PhysicalPlanWithCostUtils.annotatePlansWithCost(PhysicalPlanWithCostUtils.java:27) ... 77 more Caused by: java.lang.RuntimeException: Getting a variable-specific cardinality estimate caused an exception. at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForJoins.getEstimateBasedOnJoinVars(CardinalityEstimationImpl.java:246) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForJoins.get(CardinalityEstimationImpl.java:197) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForJoins.get(CardinalityEstimationImpl.java:182) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) at se.liu.ida.hefquin.engine.utils.CompletableFutureUtils.getAll(CompletableFutureUtils.java:33) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForJoins.getEstimateBasedOnJoinVars(CardinalityEstimationImpl.java:239) ... 9 more Caused by: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker at java.base/java.util.concurrent.ForkJoinPool.tryCompensate(ForkJoinPool.java:1575) at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3115) at java.base/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1823) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1998) at se.liu.ida.hefquin.engine.utils.CompletableFutureUtils.getAll(CompletableFutureUtils.java:33) at se.liu.ida.hefquin.engine.federation.access.utils.FederationAccessUtils.performCardinalityRequests(FederationAccessUtils.java:113) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForRequestOps.get(CardinalityEstimationImpl.java:152) at se.liu.ida.hefquin.engine.queryproc.impl.optimizer.cardinality.CardinalityEstimationImpl$WorkerForRequestOps.get(CardinalityEstimationImpl.java:129) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.helpAsyncBlocker(ForkJoinPool.java:1144) at java.base/java.util.concurrent.ForkJoinPool.helpAsyncBlocker(ForkJoinPool.java:3151) at java.base/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1817) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1998) ... 11 more

hartig commented 2 years ago

This issue has been observed in experiments with the evolutionary algorithm when the number of candidates per generation is large (e.g., 100). However, it is a more general issue. To things need to be done here:

The same issue may also exist for CostEstimationUtils.getEstimates.

hartig commented 2 years ago

The workaround outlined in my second bullet point above has been implemented in PR #174

Nonetheless, I think we need to keep this issue open to investigate the actual problem more thoroughly (see my first bullet point above) and to implement a solution in which different types of CompletableFutures use separate thread pools.

chengsijin0817 commented 1 year ago

This issue occurs again when applying the evolutionary algorithm for finding an optimal plan of query cd4 (from FedBench).

Here is the query:

SELECT ?actor ?news WHERE {
        SERVICE <http://lmdb:8890/sparql>{?film <http://purl.org/dc/terms/title> 'Tarzan' .
          ?film <http://data.linkedmdb.org/resource/movie/actor> ?actor .}
        {
            {SERVICE <http://dbpedia:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
            UNION
            {SERVICE <http://nyt:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
            UNION
            {SERVICE <http://lmdb:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
            UNION
            {SERVICE <http://jamendo:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
            UNION
            {SERVICE <http://geonames:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
            UNION
            {SERVICE <http://swdfood:8890/sparql>{?actor <http://www.w3.org/2002/07/owl#sameAs> ?x.}}
        }
        {
            {SERVICE <http://dbpedia:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
            UNION
            {SERVICE <http://nyt:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
            UNION
            {SERVICE <http://lmdb:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
            UNION
            {SERVICE <http://jamendo:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
            UNION
            {SERVICE <http://geonames:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
            UNION
            {SERVICE <http://swdfood:8890/sparql>{?y <http://www.w3.org/2002/07/owl#sameAs> ?x .}}
        }
        SERVICE <http://nyt:8890/sparql>{?y <http://data.nytimes.com/elements/topicPage> ?news}
      }

This is a logical plan (with UNION-pull-up):

> mu 
  > mj 
    > req[1393800234, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1679205146, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[65838984, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1679205146, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[-108280648, -1271990507] ( { (bgp (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -681788356] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1679205146, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -431613507] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1679205146, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, 1489723880] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1679205146, -1811946371] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -1811946371] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1689521028, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[2093203072, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-108280648, -1271990507] ( { (bgp (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1689521028, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-630359010, -681788356] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1689521028, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -431613507] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1689521028, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-630359010, 1489723880] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1689521028, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -1811946371] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[2007939764, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[2007939764, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[65838984, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1065078724, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[2007939764, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-630359010, -681788356] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -431613507] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[2007939764, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[2007939764, -1271990507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-630359010, 1489723880] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -1811946371] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1679205146, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1679205146, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[65838984, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-108280648, -1271990507] ( { (bgp (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1679205146, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1393800234, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -431613507] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1679205146, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, 1489723880] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1679205146, -681788356] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -1811946371] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1679205146, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1679205146, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[65838984, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1679205146, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[-108280648, -1271990507] ( { (bgp (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -681788356] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1679205146, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1393800234, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, 1489723880] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1679205146, -431613507] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -1811946371] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://dbpedia:8890/sparql )
    > req[1679205146, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1679205146, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[65838984, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-108280648, -1271990507] ( { (bgp (triple ?actor @owl:sameAs ?x) (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1679205146, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -681788356] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://jamendo:8890/sparql )
    > req[1679205146, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[-630359010, -431613507] ( { (bgp (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://geonames:8890/sparql )
    > req[1679205146, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )
  > mj 
    > req[1799787584, -1271990507] ( { (bgp (triple ?film @http://purl.org/dc/terms/title "Tarzan") (triple ?film @http://data.linkedmdb.org/resource/movie/actor ?actor)  ) }, SPARQL endpoint at http://lmdb:8890/sparql )
    > req[1393800234, 1489723880] ( { (bgp (triple ?y @owl:sameAs ?x) (triple ?actor @owl:sameAs ?x)  ) }, SPARQL endpoint at http://swdfood:8890/sparql )
    > req[-1109054596, -1324539491] ( { (bgp (triple ?y @http://data.nytimes.com/elements/topicPage ?news)  ) }, SPARQL endpoint at http://nyt:8890/sparql )

Here is the stack trace:

Processing the query operator using HeFQUIN failed.
org.apache.jena.query.QueryExecException: Processing the query operator using HeFQUIN failed.
    at se.liu.ida.hefquin.jenaintegration.sparql.engine.main.OpExecutorHeFQUIN$MainQueryIterator.nextStage(OpExecutorHeFQUIN.java:217)
    at org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:100)
    at org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:60)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
    at org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:38)
    at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
    at org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:64)
    at org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
    at org.apache.jena.sparql.resultset.ResultSetApply.apply(ResultSetApply.java:38)
    at org.apache.jena.riot.resultset.rw.ResultSetWriterXML.write(ResultSetWriterXML.java:82)
    at org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:156)
    at org.apache.jena.riot.resultset.rw.ResultsWriter.write(ResultsWriter.java:126)
    at org.apache.jena.sparql.util.QueryExecUtils.outputResultSet(QueryExecUtils.java:133)
    at org.apache.jena.sparql.util.QueryExecUtils.doSelectQuery(QueryExecUtils.java:150)
    at org.apache.jena.sparql.util.QueryExecUtils.executeQuery(QueryExecUtils.java:81)
    at se.liu.ida.hefquin.engine.HeFQUINEngineBuilder$MyEngine.executeQuery(HeFQUINEngineBuilder.java:169)
    at se.liu.ida.hefquin.hefquinwebservice.Controller.index(Controller.java:138)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: se.liu.ida.hefquin.engine.queryproc.PhysicalOptimizationException: Determining the cost for plans caused an exception.
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.utils.PhysicalPlanWithCostUtils.annotatePlansWithCost(PhysicalPlanWithCostUtils.java:30)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.generateFirstGen(EvolutionaryAlgorithmQueryOptimizer.java:125)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.optimize(EvolutionaryAlgorithmQueryOptimizer.java:59)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.evolutionaryAlgorithm.EvolutionaryAlgorithmQueryOptimizer.optimize(EvolutionaryAlgorithmQueryOptimizer.java:51)
    at se.liu.ida.hefquin.engine.queryproc.impl.planning.QueryPlannerImpl.createPlan(QueryPlannerImpl.java:81)
    at se.liu.ida.hefquin.engine.queryproc.impl.QueryProcessorImpl.processQuery(QueryProcessorImpl.java:62)
    at se.liu.ida.hefquin.jenaintegration.sparql.engine.main.OpExecutorHeFQUIN$MainQueryIterator.nextStage(OpExecutorHeFQUIN.java:214)
    ... 71 more
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker
    at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
    at se.liu.ida.hefquin.engine.utils.CompletableFutureUtils.getAll(CompletableFutureUtils.java:33)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.utils.CostEstimationUtils.getEstimates(CostEstimationUtils.java:52)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.utils.PhysicalPlanWithCostUtils.annotatePlansWithCost(PhysicalPlanWithCostUtils.java:28)
    ... 77 more
Caused by: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker
    at java.base/java.util.concurrent.ForkJoinPool.tryCompensate(ForkJoinPool.java:1575)
    at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3115)
    at java.base/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1823)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1998)
    at se.liu.ida.hefquin.engine.utils.CompletableFutureUtils.getAll(CompletableFutureUtils.java:33)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.cardinality.CardinalityEstimationImpl$WorkerForSubquery.getEstimateBasedOnAllCertainVars(CardinalityEstimationImpl.java:194)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.cardinality.CardinalityEstimationImpl$WorkerForSubquery.get(CardinalityEstimationImpl.java:180)
    at se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.cardinality.CardinalityEstimationImpl$WorkerForSubquery.get(CardinalityEstimationImpl.java:166)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)