osma commented on PR #3047: URL: https://github.com/apache/jena/pull/3047#issuecomment-2720497412
I had the same problem, as mentioned in https://github.com/apache/jena/issues/3044#issuecomment-2720484943. I tested the code from the PR branch and it seems to solve the problem: ``` 11:00:39 INFO Server :: Apache Jena Fuseki 5.4.0-SNAPSHOT 11:00:39 INFO Config :: Fuseki Base = /home/oisuomin/proj/test-fuseki5-timeout/run 11:00:39 INFO Config :: Database: /ds 11:00:39 INFO Config :: UI Base = fuseki-server.jar 11:00:39 INFO Server :: Configuration file: fuseki-config.ttl 11:00:39 INFO Server :: Path = /ds 11:00:39 INFO Server :: Memory: 4.0 GiB 11:00:39 INFO Server :: Java: 21.0.6 11:00:39 INFO Server :: OS: Linux 6.11.0-19-generic amd64 11:00:39 INFO Server :: PID: 483024 11:00:39 INFO Shiro :: Shiro configuration: file:/home/oisuomin/proj/test-fuseki5-timeout/run/shiro.ini 11:00:39 INFO Server :: Start Fuseki (http=3030) 11:00:43 INFO Fuseki :: [3] POST http://localhost:3030/ds/ 11:00:43 INFO Fuseki :: [3] Query = PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT * WHERE { GRAPH <http://www.yso.fi/onto/yso/> { ?uri ?p ?o . OPTIONAL { ?x skos:member ?o . FILTER NOT EXISTS { ?x skos:member ?other . FILTER NOT EXISTS { ?other skos:broader ?uri } } } } VALUES (?uri) { (<http://www.yso.fi/onto/yso/p24009>) } } 11:00:44 INFO Fuseki :: [3] 503 Service Unavailable (1.021 s) ``` One thing I noticed that occasionally, some pretty long tracebacks end up in the log when the timeout triggers. However, this happened once or twice with Fuseki 4.10.0 as well, so it's not a new thing. It just looks ugly in the log: ``` 11:01:15 INFO Fuseki :: [4] POST http://localhost:3030/ds/ 11:01:15 INFO Fuseki :: [4] Query = PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT * WHERE { GRAPH <http://www.yso.fi/onto/yso/> { ?uri ?p ?o . OPTIONAL { ?x skos:member ?o . FILTER NOT EXISTS { ?x skos:member ?other . FILTER NOT EXISTS { ?other skos:broader ?uri } } } } VALUES (?uri) { (<http://www.yso.fi/onto/yso/p24009>) } } 11:01:16 WARN QueryIterFilterExpr :: General exception in (notexists (filter (notexists (quadpattern (quad <http://www.yso.fi/onto/yso/> ?other <http://www.w3.org/2004/02/skos/core#broader> <http://www.yso.fi/onto/yso/p26543>))) (quadpattern (quad <http://www.yso.fi/onto/yso/> ?x <http://www.w3.org/2004/02/skos/core#member> ?other)))) org.apache.jena.query.QueryCancelledException: null at org.apache.jena.tdb2.solver.StageMatchTuple.lambda$access$1(StageMatchTuple.java:78) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter$IterMap.next(Iter.java:439) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter$IterMap.next(Iter.java:439) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter.next(Iter.java:1161) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter$IterFiltered.hasNext(Iter.java:282) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter.hasNext(Iter.java:1156) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.IteratorFlatMap.hasNext(IteratorFlatMap.java:59) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.IterAbortable.hasNext(IterAbortable.java:59) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.atlas.iterator.Iter$IterMap.hasNext(Iter.java:434) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:59) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:76) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:37) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.expr.E_NotExists.eval(E_NotExists.java:69) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.expr.ExprFunctionOp.eval(ExprFunctionOp.java:72) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.expr.ExprNode.isSatisfied(ExprNode.java:42) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterFilterExpr.accept(QueryIterFilterExpr.java:48) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:80) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterDefaulting.hasNextBinding(QueryIterDefaulting.java:54) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:69) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIterPeek.hasNextBinding(QueryIterPeek.java:57) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132) ~[?:?] at org.apache.jena.sparql.engine.join.AbstractIterHashJoin.buildHashTable(AbstractIterHashJoin.java:100) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.join.AbstractIterHashJoin.doInit(AbstractIterHashJoin.java:92) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.join.AbstractIterHashJoin.moveToNextBindingOrNull(AbstractIterHashJoin.java:138) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.join.AbstractIterHashJoin.hasNextBinding(AbstractIterHashJoin.java:112) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:37) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:37) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:122) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.sparql.exec.RowSetStream.hasNext(RowSetStream.java:48) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeQuery(SPARQLQueryProcessor.java:391) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:284) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.executeWithParameter(SPARQLQueryProcessor.java:224) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execute(SPARQLQueryProcessor.java:209) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.ActionService.executeLifecycle(ActionService.java:58) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.SPARQLQueryProcessor.execPost(SPARQLQueryProcessor.java:84) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.ActionProcessor.process(ActionProcessor.java:34) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.ActionBase.process(ActionBase.java:54) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.ActionExecLib.execActionSub(ActionExecLib.java:124) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.ActionExecLib.execAction(ActionExecLib.java:98) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.server.Dispatcher.dispatchAction(Dispatcher.java:240) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.server.Dispatcher.process(Dispatcher.java:230) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.server.Dispatcher.dispatch(Dispatcher.java:148) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.FusekiFilter.doFilter(FusekiFilter.java:49) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:351) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.apache.jena.fuseki.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:304) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:205) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1591) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1552) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:717) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.server.Server.handle(Server.java:182) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164) ~[fuseki-server.jar:5.4.0-SNAPSHOT] at java.base/java.lang.Thread.run(Thread.java:1583) [?:?] 11:01:16 INFO Fuseki :: [4] 503 Service Unavailable (1.015 s) ``` Great work @Aklakan , thanks for providing a fix! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
