See

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

Fixed r1369086 but you really want JENA-301 as well.

You can try recovering the database, if nothing has touched it since the incident, by running the latest development build of TDB - all you need to do is to open the DB.

 tdbquery --loc=<pathToIndexRemoved> 'ASK{}'

The setup process will replay the journal and it should be OK, icludin use with the released code.

If the DB has been used without the journal, and there were writes, then the journalled committed transactions are lost. Do not reply the journal - the database is very likely to be corrupted that way.

The DB is valid whether you replay the journal with dev code or not - it will have lost some state though if it has evolved without the journal being successfully played back.

        Andy

On 29/08/12 16:05, Simon Helsen wrote:
Hi guys,

we are testing with Jena 2.7.1 (transactional) in a customer deployment
(so, obviously, I don't have a test case from this) and we are seeing the
following on journal recovery:

2012-08-29 10:24:48,952 [              WebContainer : 8]  WARN
com.ibm.team.jfs                                    - Unhandled Exception
com.hp.hpl.jena.tdb.base.block.BlockException: BlockAccessBase: Bounds
exception: <pathToIndexRemoved>\GPOS.idn: (32798,32798)
         at
com.hp.hpl.jena.tdb.base.file.BlockAccessBase.check(BlockAccessBase.java:107)
         at
com.hp.hpl.jena.tdb.base.file.BlockAccessBase.check(BlockAccessBase.java:114)
         at
com.hp.hpl.jena.tdb.base.file.BlockAccessDirect.write(BlockAccessDirect.java:85)
         at
com.hp.hpl.jena.tdb.base.file.BlockAccessDirect.overwrite(BlockAccessDirect.java:104)
         at
com.hp.hpl.jena.tdb.base.block.BlockMgrFileAccess.overwrite(BlockMgrFileAccess.java:102)
         at
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.overwrite(BlockMgrWrapper.java:89)
         at
com.hp.hpl.jena.tdb.base.block.BlockMgrSync.overwrite(BlockMgrSync.java:90)
         at
com.hp.hpl.jena.tdb.base.block.BlockMgrCache.overwrite(BlockMgrCache.java:206)
         at
com.hp.hpl.jena.tdb.transaction.JournalControl.replay(JournalControl.java:305)
         at
com.hp.hpl.jena.tdb.transaction.JournalControl.recoverSegment(JournalControl.java:175)
         at
com.hp.hpl.jena.tdb.transaction.JournalControl.recoverFromJournal(JournalControl.java:128)
         at
com.hp.hpl.jena.tdb.StoreConnection._makeAndCache(StoreConnection.java:231)
         at
com.hp.hpl.jena.tdb.StoreConnection.make(StoreConnection.java:190)
         at
com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:63)
         at
com.hp.hpl.jena.tdb.sys.TDBMakerTxn._create(TDBMakerTxn.java:49)
         at
com.hp.hpl.jena.tdb.sys.TDBMakerTxn.createDatasetGraph(TDBMakerTxn.java:37)
         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)

This is on a Windows 2008 Server machine. (64 bit, but as always
everything is run in direct mode) From the information I gathered, I am
pretty sure the issue surfaced after the client had killed the JVM. It is
unclear what activities exactly were going on when the kill was initiated,
but I am assuming it involved both read and write operations

Is this stack trace known? Is it possible/likely something like this may
have been fixed in 2.7.4?

thanks

Simon

PS: I will see if I can produce a test case by killing an async thread
which performed read/writes, but I am not too hopeful


Reply via email to