clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Minto van der Sluis <mi...@xup.nl>
Subject Re: ERROR: Quad: object cannot be null
Date Fri, 12 Jul 2013 13:20:28 GMT
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 <minto@xup.nl> 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


Mime
View raw message