[ 
https://issues.apache.org/jira/browse/JENA-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13444488#comment-13444488
 ] 

Simon Helsen commented on JENA-308:
-----------------------------------

The exception as shown in the description is the most common and has been 
observed on both 0.9.1 and 0.9.4. However, the following exception very rarely 
occurs instead (also seen in both 0.9.1. and 0.9.4):

1346278257925 : Iteration 1
1346278257931 : create dataset
************* UNEXPECTED [1]
1346278257945 : read
1346278257947 : write
18:10:57,969 [Thread-2]  WARN com.hp.hpl.jena.tdb.transaction.NodeTableTrans    
  - Txn[4]/W journalStartOffset not zero: 1048/0x418


Different ids for https://localhost:9443/jazz/storage/net.jazz.ajax.theme0: 
allocated: expected [0000000000000665], got [0000000000000000]
>>>>>>>>>>
label = nodes
txn = Transaction: 4 : Mode=WRITE : State=PREPARING : C:\Temp\testIndexLocation\
offset = 1637
journalStartOffset = 1048
journal = nodes.dat-jrnl

com.hp.hpl.jena.tdb.TDBException: Different ids for 
https://localhost:9443/jazz/storage/net.jazz.ajax.theme0: allocated: expected 
[0000000000000665], got [0000000000000000]
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.inconsistent(NodeTableTrans.java:212)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans.java:200)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeTableTrans.java:306)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTableTrans.java:266)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java:131)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:112)
        at 
com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.commit(DatasetGraphTxn.java:44)
        at 
com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._commit(DatasetGraphTransaction.java:148)
        at 
com.hp.hpl.jena.sparql.core.DatasetGraphTrackActive.commit(DatasetGraphTrackActive.java:54)
        at com.hp.hpl.jena.sparql.core.DatasetImpl.commit(DatasetImpl.java:141)
        at 
com.ibm.jena.test.JournalRecoveryTest.storeOperation(JournalRecoveryTest.java:92)
        at 
com.ibm.jena.test.JournalRecoveryTest.writeModel(JournalRecoveryTest.java:212)
        at 
com.ibm.jena.test.JournalRecoveryTest$TestRunnable.run(JournalRecoveryTest.java:277)
        at java.lang.Thread.run(Thread.java:662)
                
> Index corruption after killing process
> --------------------------------------
>
>                 Key: JENA-308
>                 URL: https://issues.apache.org/jira/browse/JENA-308
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: TDB
>    Affects Versions: TDB 0.9.1, TDB 0.9.4
>         Environment: Windows 2008/7 (64 bit) both on IBM and SUN JVM 6. 
> Direct mode
>            Reporter: Simon Helsen
>            Priority: Critical
>
> We are faced with a series of possible exceptions which may or may not occur 
> after an active tdb store is killed. The most common exception has the form:
> Exception in thread "Thread-3" 
> com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Feaild to read block 
> checksum.
>       at com.hp.hpl.jena.tdb.transaction.Journal._read(Journal.java:238)
>       at 
> com.hp.hpl.jena.tdb.transaction.Journal._readJournal(Journal.java:197)
>       at com.hp.hpl.jena.tdb.transaction.Journal.access$1(Journal.java:192)
>       at 
> com.hp.hpl.jena.tdb.transaction.Journal$IteratorEntries.moveToNext(Journal.java:267)
>       at 
> com.hp.hpl.jena.tdb.transaction.Journal$IteratorEntries.moveToNext(Journal.java:1)
>       at 
> org.openjena.atlas.iterator.IteratorSlotted.hasNext(IteratorSlotted.java:67)
>       at 
> com.hp.hpl.jena.tdb.transaction.JournalControl.scanForCommit(JournalControl.java:148)
>       at 
> com.hp.hpl.jena.tdb.transaction.JournalControl.recoverFromJournal(JournalControl.java:127)
>       at 
> com.hp.hpl.jena.tdb.StoreConnection._makeAndCache(StoreConnection.java:234)
>       at com.hp.hpl.jena.tdb.StoreConnection.make(StoreConnection.java:214)
>       at 
> com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:76)
>       at com.hp.hpl.jena.tdb.sys.TDBMaker._create(TDBMaker.java:57)
>       at 
> com.hp.hpl.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:45)
>       at 
> com.hp.hpl.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:104)
>       at com.hp.hpl.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:73)
>       at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:52)
> Other exceptions are possible (see comments below). I have been able to 
> produce a standalone java program/test case which simulates a process kill 
> and is able to produce the exception after a non-deterministic time. It runs 
> an iteration until it hits one of the possible problems. Sometimes, an 
> exception hits after just 2 iterations, other times, it can take 40 runs or 
> more before hitting a problem. Because I don't know what the cause is here, I 
> have not been able to make the test case more specific

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to