Hi guys,

I'm getting the following exception sometimes:

java.util.ConcurrentModificationException: Reader = 1, Writer = 1
    at com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.policyError
(ConcurrencyPolicyMRSW.java:132)
    at com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.policyError
(ConcurrencyPolicyMRSW.java:127)
    at com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.checkConcurrency
(ConcurrencyPolicyMRSW.java:64)
    at com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.startRead
(ConcurrencyPolicyMRSW.java:31)
    at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.startRead
(NodeTupleTableConcrete.java:60)
    at com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.findAsNodeIds
(NodeTupleTableConcrete.java:132)
    at com.hp.hpl.jena.tdb.store.TripleTable.find(TripleTable.java:71)
    at com.hp.hpl.jena.tdb.store.GraphTDBBase.graphBaseFindWorker
(GraphTDBBase.java:115)
    at com.hp.hpl.jena.tdb.store.GraphTriplesTDB.graphBaseFind
(GraphTriplesTDB.java:61)
    at com.hp.hpl.jena.sparql.graph.GraphBase2.find(GraphBase2.java:232)
    at com.hp.hpl.jena.sparql.graph.GraphBase2.graphBaseFind
(GraphBase2.java:253)
    at com.hp.hpl.jena.sparql.graph.GraphBase2.find(GraphBase2.java:249)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements
(ModelCom.java:378)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.listStatements
(ModelCom.java:383)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.getProperty
(ModelCom.java:1003)
    at com.ibm.lld.store.TDBMetadataStore.storeCurrentETag
(TDBMetadataStore.java:75)

I believe I'm correctly acquiring a WRITE lock. This is the failing code in
my class TDBMetadataStore:

      public void storeCurrentETag(String resourceURI, String etag)
      {
          fResourceDataset.getLock().enterCriticalSection(Lock.WRITE);
          try {
              Model model = fResourceDataset.getDefaultModel();
              Resource resource = model.getResource(resourceURI);
LINE 75 -->   Statement etagStmt = model.getProperty(resource, IndexMeta.
ETag);

Shouldn't it be impossible to get to line 75, while there's an outstanding
Reader?

I'm using the latest TDB release (0.8.10). Any ideas what could be causing
this?

Thanks,
Frank.

Reply via email to