Hi Reto, Some questions: - Is this something that is different between your latest fast lane changes and the version before that?
- Is there someway I can shortcut things to ensure using fastlane? Since most of my queries involve multiple graphs. We are having serious performance problems that might be related to slow-lane. That is why I started messing around fuseki in the first place (to do some performance analysis to determine clerezza overhead). - Also I see that for every graphs an osgi service is registered by TcManager. This seems just fine for a limited number of graphs. However in my case, with a huge number of graphs, I would like to disable this feature. How best to approach this? Regards, Minto Op 12-7-2013 14:55, Reto Bachmann-Gmür schreef: > Hi Minto > > >From the stacktrace we see that the query is not fastlaned (this is > because it is directed against all graphs). I'm not sure what's going > wrong. Maybe something in JenaGraphAdaptor.java. Would be ineteresting > to see if and how the value got from jena in JenaGraph.java:88 > differst from the value returned to jena in JenaGraphAdaptor.java:115 > After all all that happens is a wrapping to clerezza and wrapping back > to jena. We could add some optimization here but it should work > nevertheless. > > Cheers, > Reto > > On Fri, Jul 12, 2013 at 2:34 PM, Minto van der Sluis <[email protected]> wrote: >> Hi Folks, >> >> I ran into some odd behaviour when doing a simple query (counting the >> number of graphs). This is the query I used: >> >> SELECT (COUNT(DISTINCT ?graphName) as ?nrOfGraphs) >> WHERE { >> GRAPH ?graphName { >> ?s ?p ?o >> } >> } >> >> Running this query while using Clerezza gives me a "Quad: object cannot >> be null" (see stack trace below). However the exact same query using >> Jena Fuseki result in a proper answer. Both Clerezza and Fuseki are >> configured to use the exact same TDB storage on disk. Fuseki gives the >> following response: >> >> -------------- >> | nrOfGraphs | >> ============== >> | 20538 | >> -------------- >> >> >> Using Clerezza from a while ago seems to run the query just fine >> (although it takes way to long to respond). >> >> Now I wonder whether this behaviour is cause by recent Clerezza changes, >> but I am not sure about this. Maybe there is another cause. >> >> Anyone a clue? >> >> Regards, >> >> Minto >> >> Stacktrace: >> ========= >> 2013-07-12 12:39:49,093 | ERROR | qtp2144814644-44 | >> RestAnnotationService | us.rest.dm.RestAnnotationService 165 >> | 213 - tmvplus-remote - 0.6.3.SNAPSHOT | Quad: object cannot be null >> java.lang.UnsupportedOperationException: Quad: object cannot be null >> at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:63) >> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:162) >> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:153) >> at com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:45) >> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:87) >> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:83) >> at org.apache.jena.atlas.iterator.Iter$4.next(Iter.java:301) >> at >> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(GraphTDBBase.java:175) >> at >> com.hp.hpl.jena.tdb.store.GraphTDBBase$ProjectQuadsToTriples.next(GraphTDBBase.java:163) >> at >> com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94) >> at >> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:115) >> at >> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:96) >> at >> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.next(AbstractTripleCollection.java:83)[ >> 181:org.apache.clerezza.rdf.core:0.13.0.SNAPSHOT] >> at >> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.next(AbstractTripleCollection.java:72)[ >> 181:org.apache.clerezza.rdf.core:0.13.0.SNAPSHOT] >> at >> org.apache.clerezza.rdf.jena.facade.JenaGraph$1.next(JenaGraph.java:99) >> at >> org.apache.clerezza.rdf.jena.facade.JenaGraph$1.next(JenaGraph.java:88) >> at >> com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94) >> at >> com.hp.hpl.jena.mem.TrackingTripleIterator.next(TrackingTripleIterator.java:47) >> at >> com.hp.hpl.jena.mem.TrackingTripleIterator.next(TrackingTripleIterator.java:31) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.hasNextBinding(QueryIterTriplePattern.java:153) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:81) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterBlockTriples.hasNextBinding(QueryIterBlockTriples.java:64) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.hasNextBinding(QueryIterGraph.java:123) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:81) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterGroup$1.initializeIterator(QueryIterGroup.java:85) >> at >> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.init(IteratorDelayedInitialization.java:37) >> at >> org.apache.jena.atlas.iterator.IteratorDelayedInitialization.hasNext(IteratorDelayedInitialization.java:47) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40) >> at >> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) >> at >> com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72) >> at >> org.apache.clerezza.rdf.jena.sparql.ResultSetWrapper.<init>(ResultSetWrapper.java:40) >> at >> org.apache.clerezza.rdf.jena.sparql.JenaSparqlEngine.execute(JenaSparqlEngine.java:115) >> at >> org.apache.clerezza.rdf.core.access.TcManager.executeSparqlQuery(TcManager.java:294) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> Method)[:1.7.0_25] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_25] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_25] >> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_25] >> at >> org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54) >> at >> org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119) >> at >> org.apache.clerezza.rdf.core.access.$TcManager552685843.executeSparqlQuery(Unknown >> Source) >> at >> nl.overheid.stelsel.digimelding.astore.storage.clerezza.ClerezzaStorageProvider.query(ClerezzaStorageProvider.java:250) >> ... >> > -- ir. ing. Minto van der Sluis Software innovator / renovator Xup BV Mobiel: +31 (0) 626 014541
