I have code that uses Jena-Libs 2.11.1 and  executes the following block:
(edited for brevity)

 dataset.begin( ReadWrite.WRITE);

 try {

    Model model = dataset.getDefaultModel();

    Property[] props = ( create an array of properties in Model)

    String dcsId = "someStringValue";

    int cnt = 0;
    ..... (get an iterator on a set of rows from a db table)

    while (rIter.hasNext())

    {

        cnt++;

        Row r = rIter.next();

        Resource eventR = model.createResource( makeURI( eventUri,
r.getColumn(dcsId).toString()), typeURI);

           for (int i=0;i<cols.size();i++)

        {

          Object o = r.getColumn(i);

          if (props[i] != null && o != null)

          {

            String val = o.toString();

            if (val.length()>0)

            {

              eventR.addProperty( props[i], val); // <-- line 134 as noted
in call stack below

            }

         }

       }

        // commit every 500 entries

        if (cnt % 500 == 0) {

          System.out.println( cnt );

          dataset.commit();

          dataset.begin( ReadWrite.WRITE );

        }

          }

    }

  }

}

finally {

   dataset.commit();

}


The table I am reading from contains several 10's of thousands of rows.  I
am basically converting from relational table to RDF graph.

However, after the first 500 subjects are committed (5000 +/- triples) I
run into the following problem while adding the 6th property to subject
502.


DEBUG [main] (MySQLTableDef.java:261) - Query String: SELECT  ... <--
Initial debugging statement

500 <-- output from commit block in code above

ERROR [main] (Log.java:94) - Not active: 1

ERROR [main] (Log.java:94) - **** Not active: 1


Now, I know this is a transaction error.  But I think I have a transaction,
as I restart one right after the commit after the 500th record.  Log is
made in the BlockMgrJournal.checkActive()  and the call stack appears as
follows:
BlockMgrJournal.checkActive() line: 306
BlockMgrJournal._promote(Block) line: 220
BlockMgrJournal.promote(Block) line: 215
BPTreeRecordsMgr(PageBlockMgr<T>).promote(Page) line: 110
BPTreeRecords.promote() line: 119
BPTreeRecords.internalInsert(Record) line: 131
BPTreeNode.internalInsert(Record) line: 468
BPTreeNode.internalInsert(Record) line: 468
BPTreeNode.insert(BPTreeNode, Record) line: 212
BPlusTree.addAndReturnOld(Record) line: 328
BPlusTree.add(Record) line: 320
TupleIndexRecord.performAdd(Tuple<NodeId>) line: 60
TupleIndexRecord(TupleIndexBase).add(Tuple<NodeId>) line: 64
TupleTable.add(Tuple<NodeId>) line: 96
NodeTupleTableConcrete.addRow(Node...) line: 87
TripleTable.add(Node, Node, Node) line: 58
DatasetGraphTDB.addToDftGraph(Node, Node, Node) line: 100
DatasetGraphTDB(DatasetGraphTriplesQuads).add(Node, Node, Node, Node) line:
47
GraphTDB(GraphView).performAdd(Triple) line: 140
GraphTDB.performAdd(Triple) line: 87
GraphTDB(GraphBase).add(Triple) line: 202
ModelCom.add(Resource, Property, RDFNode) line: 1159
ModelCom.add(Resource, Property, String, String, boolean) line: 161
ModelCom.add(Resource, Property, String) line: 149
ResourceImpl.addProperty(Property, String) line: 241
JenaSink.updateTable(UpdateBlock) line: 134


Any help fixing this problem would be appreciated.

Claude
-- 
I like: Like Like - The likeliest place on the web<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to