Michael sent me a copy of his database.

cc'ed [email protected]
On 16/05/11 14:43, Michael Brunnbauer wrote:
>
> re
>
> On Thu, May 12, 2011 at 09:57:36PM +0100, Andy Seaborne wrote:
>> I can't reproduce the error - I'm running Joseki, breakpointing in a
>> query, issuing the update (using the SOH sripts s-query and s-update)
>> and the update is locked out.
>>
>> Could you give some more details - what's the update, what do the
>> concurrent queries look like?
>
> I can reproduce the ConcurrentModificationException with the attached TDB
> containing 100000 Quads and the attached config file. If I do
>
>   load<http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf>
>   into<http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf>
>
> on the testupdate service from a HTML form and then (quick)
>
>   select count(*) where { graph ?g { ?s ?p ?o }}
>
> on the test service from another HTML form, I get the error for the select.
>
> Does this help you ?
>
> Can you confirm that TDB 0.8.8 will have problems with TDBs modified by TDB
> 0.8.10 ?
>
> cu,
> brunni
>

No luck I'm afraid.  Works for me.

joseki-config attached.  This is Joseki in CVS at the moment.


load:
-------------------------------------
#!/bin/bash

X='load <http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf> into <http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf>'

../s-update --service http://localhost:2020/update "$X"
-------------------------------------
query:
-------------------------------------
#!/bin/bash

Q='select count(*) where { graph ?g { ?s ?p ?o }}'

../s-query --service http://localhost:2020/sparql "$Q"

-------------------------------------

s-* are the scripts from Fuseki.
http://openjena.org/repo/org/openjena/fuseki/0.2.0/fuseki-0.2.0-SOH.zip


using your database, I put 'query' in a loop to hammer the server, then issued the 'load' multiple times. It worked - and when a load hit the server I saw the query rate stutter as the load took a lock.

        Andy

@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .

@prefix module: <http://joseki.org/2003/06/module#> .
@prefix joseki: <http://joseki.org/2005/06/configuration#> .
@prefix ja:     <http://jena.hpl.hp.com/2005/11/Assembler#> .

[]  rdf:type joseki:Server .

<#service1>
    rdf:type            joseki:Service ;
    rdfs:label          "TDB/Query" ;
    joseki:serviceRef   "sparql" ;
    joseki:dataset      <#tdb> ;
    joseki:processor    joseki:ProcessorSPARQL_FixedDS ;
    .
<#service2>
    rdf:type            joseki:Service ;
    rdfs:label          "TDB/Update" ;
    joseki:serviceRef   "update" ;
    joseki:dataset      <#tdb> ;
    joseki:processor     joseki:ProcessorSPARQLUpdate ;
    .

@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .

<#tdb> rdf:type      tdb:DatasetTDB ;
    tdb:location "TDB" ;
    .

## --------------------------------------------------------------
## Processors

joseki:ProcessorSPARQL_FixedDS
    rdfs:label "SPARQL processor for fixed datasets" ;
    rdf:type joseki:Processor ;
    module:implementation 
    [   rdf:type   joseki:ServiceImpl ;
        module:className <java:org.joseki.processors.SPARQL>
    ] ;

    # This processor does not accept queries with FROM/FROM NAMED
    joseki:allowExplicitDataset       "false"^^xsd:boolean ;
    joseki:allowWebLoading            "false"^^xsd:boolean ;
    # The database is safe for MRSW (multiple-reader, single-writer).
    joseki:lockingPolicy              joseki:lockingPolicyMRSW ;
    .


joseki:ProcessorSPARQLUpdate
    rdfs:label "SPARQL Update processor" ;
    rdf:type joseki:Processor ;
    module:implementation 
    [   rdf:type   joseki:ServiceImpl ;
        module:className <java:org.joseki.processors.SPARQLUpdate>
    ] ;
    joseki:lockingPolicy              joseki:lockingPolicyMRSW ;
    .


# Local Variables:        
# tab-width: 4
# indent-tabs-mode: nil
# End:

Reply via email to