1

I have an application that executes Geosparql queries successfully on version 10.0.x but the same fail on 10.1.4 In order to pinpoint the issue I tried using the Geosparql examples at https://graphdb.ontotext.com/documentation/10.1/geosparql-support.html?highlight=geosparql#id3 with the same result.

Executing example 4

PREFIX uom: <http://www.opengis.net/def/uom/OGC/1.0/>
PREFIX my: <http://example.org/ApplicationSchema#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

SELECT ?f
WHERE {
    my:C my:hasExactGeometry ?cGeom .
    ?cGeom geo:asWKT ?cWKT .
    ?f my:hasExactGeometry ?fGeom .
    ?fGeom geo:asWKT ?fWKT .
    FILTER (?fGeom != ?cGeom)
}
ORDER BY ASC(geof:distance(?cWKT, ?fWKT, uom:metre))
LIMIT 3

works fine on 10.0.x but does not return any result and fails on 10.1.4 with the following error in the log:

[ERROR] 2023-02-23 19:21:13,756 [http-nio-7200-exec-9 | o.a.c.c.C.[.[.[.[openrdf-http-server]] Servlet.service() for servlet [openrdf-http-server] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.useekm.geosparql.UnitsOfMeasure] with root cause
java.lang.NoClassDefFoundError: Could not initialize class com.useekm.geosparql.UnitsOfMeasure
        at com.useekm.geosparql.Distance.computeDistanceinUnits(Distance.java:59)
        at com.useekm.geosparql.Distance.evaluate(Distance.java:46)
        at com.useekm.geosparql.AbstractLiteralBinaryFunction.eval(AbstractLiteralBinaryFunction.java:32)
        at com.useekm.geosparql.AbstractLiteralBinaryFunction.eval(AbstractLiteralBinaryFunction.java:23)
        at com.useekm.geosparql.AbstractFunction.evaluate(AbstractFunction.java:56)
        at org.eclipse.rdf4j.query.algebra.evaluation.function.Function.evaluate(Function.java:55)
        at org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy.lambda$prepare$14(StrictEvaluationStrategy.java:1488)
        at com.ontotext.trree.query.OwlimEvaluationStrategyImpl.evaluateFunctionCall(OwlimEvaluationStrategyImpl.java:1318)
        at com.ontotext.trree.query.OwlimEvaluationStrategyImpl.evaluate(OwlimEvaluationStrategyImpl.java:1307)
        at org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy.evaluate(StrictEvaluationStrategy.java:961)
        at com.ontotext.trree.query.OwlimEvaluationStrategyImpl.evaluate(OwlimEvaluationStrategyImpl.java:1542)
        at com.ontotext.trree.query.evaluation.GraphDBOrderComparator.evaluate(GraphDBOrderComparator.java:60)
        at com.ontotext.trree.query.evaluation.GraphDBOrderComparator.compareEvaluations(GraphDBOrderComparator.java:48)
        at com.ontotext.trree.query.evaluation.GraphDBOrderComparator.compare(GraphDBOrderComparator.java:35)
        at com.ontotext.trree.query.evaluation.GraphDBOrderComparator.compare(GraphDBOrderComparator.java:19)
        at java.base/java.util.TreeMap.compare(TreeMap.java:1292)
        at java.base/java.util.TreeMap.put(TreeMap.java:536)
        at com.ontotext.trree.query.OwlimOrderIterator.createIteration(OwlimOrderIterator.java:97)
        at org.eclipse.rdf4j.common.iteration.DelayedIteration.hasNext(DelayedIteration.java:65)
        at org.eclipse.rdf4j.common.iteration.ConvertingIteration.hasNext(ConvertingIteration.java:66)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at org.eclipse.rdf4j.common.iteration.LimitIteration.hasNext(LimitIteration.java:71)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at com.ontotext.trree.SailIterationWrapper.hasNext(SailIterationWrapper.java:60)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at com.ontotext.trree.SailConnectionImpl$ConnectionClosingIteration.hasNext(SailConnectionImpl.java:3134)
        at com.ontotext.trree.query.LoggingClosableIteration.hasNext(LoggingClosableIteration.java:88)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at org.eclipse.rdf4j.common.iteration.LimitIteration.hasNext(LimitIteration.java:71)
        at org.eclipse.rdf4j.common.iteration.IterationWrapper.hasNext(IterationWrapper.java:67)
        at com.ontotext.graphdb.sesame.CatchHandler.processWithBuffer(CatchHandler.java:104)
        at com.ontotext.graphdb.sesame.TupleQueryResultView.renderInternal(TupleQueryResultView.java:87)
        at org.eclipse.rdf4j.http.server.repository.QueryResultView.render(QueryResultView.java:66)
        at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1405)
        at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1149)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:696)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.security.AdminDelegatingFilterProxy.doFilter(AdminDelegatingFilterProxy.java:82)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.clusterproxy.ClusterFilterBean.doFilter(ClusterFilterBean.java:73)
        at com.ontotext.forest.clusterproxy.ClusterLoadBalancerFilter.doFilterInternal(ClusterLoadBalancerFilter.java:25)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.ontotext.forest.core.request.RequestFilter.doFilterInternal(RequestFilter.java:47)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
        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:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263)
        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:177)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        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.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784)
        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)
[ERROR] 2023-02-23 19:21:13,756 [http-nio-7200-exec-9 | o.a.c.c.C.[.[.[/]] customError: OK (HTTP status 200)
java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:586)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:227)
        at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:114)
        at com.ontotext.graphdb.server.CustomErrorHandler.handleError(CustomErrorHandler.java:41)
        at com.ontotext.graphdb.server.CustomErrorHandler.doPost(CustomErrorHandler.java:55)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:696)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:711)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:578)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:517)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:369)
        at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:244)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:329)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784)
        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)

Can you please help me out because this is blocking our application upgrade.

Thanks!

Kind regards, Johan,

1 Answers1

0

This looks like a bug. I will open a ticket to be resolved in the next version.

Konstantin Petrov
  • 1,058
  • 6
  • 11