Since I upgraded to b-9, the recovery mechanism hasn't worked once even on new
stores if any transaction read/write is made on the open store before it is
terminated unexpectly. The transaction logs are named tm_tx_log.1 and
tm_tx_log.2. I always get something like this during the recovery process:
Caused by: java.lang.RuntimeException:
org.neo4j.impl.nioneo.store.StoreFailureException: Position[42001] requested
for operation is high id[41995] or store is flagged as dirty[true]
at org.neo4j.impl.core.NodeManager.loadProperties(Unknown Source)
at org.neo4j.impl.core.NodeImpl.loadProperties(Unknown Source)
at org.neo4j.impl.core.NeoPrimitive.ensureFullProperties(Unknown Source)
at org.neo4j.impl.core.NeoPrimitive.getProperty(Unknown Source)
at org.neo4j.impl.core.NodeProxy.getProperty(Unknown Source)
at org.neo4j.util.NeoUtil.getProperty(Unknown Source)
at org.neo4j.neometa.structure.MetaStructureObject.getProperty(Unknown
Source)
at org.neo4j.neometa.structure.MetaStructureObject.getName(Unknown
Source)
at
org.neo4j.neometa.structure.MetaStructureImpl.findOrCreateInCollection(Unknown
Source)
at
org.neo4j.neometa.structure.MetaStructureNamespace.getMetaProperty(Unknown
Source)
at org.neo4j.neometa.input.rdfs.RdfsImporter$PropertyReader.get(Unknown
Source)
at
org.neo4j.neometa.input.rdfs.RdfsImporter$PropertyReader.readThing(Unknown
Source)
at
org.neo4j.neometa.input.rdfs.RdfsImporter$PropertyReader.readThing(Unknown
Source)
at org.neo4j.neometa.input.rdfs.RdfsImporter.readThings(Unknown Source)
at org.neo4j.neometa.input.rdfs.RdfsImporter.readProperties(Unknown
Source)
at org.neo4j.neometa.input.rdfs.RdfsImporter.readFrom(Unknown Source)
at org.neo4j.neometa.input.rdfs.RdfsImporter.doImport(Unknown Source)
at
edu.uchicago.nsit.iteco.server.neo.NeoHelper.<init>(NeoHelper.java:109)
at
edu.uchicago.nsit.iteco.server.neo.NeoDatabase.loadData(NeoDatabase.java:98)
... 12 more
Caused by: org.neo4j.impl.nioneo.store.StoreFailureException: Position[42001]
requested for operation is high id[41995] or store is flagged as dirty[true]
at
org.neo4j.impl.nioneo.store.CommonAbstractStore.acquireWindow(Unknown Source)
at org.neo4j.impl.nioneo.store.PropertyStore.getLightRecord(Unknown
Source)
at org.neo4j.impl.nioneo.xa.NeoTransaction.nodeGetProperties(Unknown
Source)
at
org.neo4j.impl.nioneo.xa.NeoStoreXaConnection$NodeEventConsumerImpl.getProperties(Unknown
Source)
at
org.neo4j.impl.nioneo.xa.NioNeoDbPersistenceSource$NioNeoDbResourceConnection.nodeLoadProperties(Unknown
Source)
at
org.neo4j.impl.persistence.PersistenceManager.loadNodeProperties(Unknown Source)
... 31 more
I haven't changed anything in my code in the startup/shutdown process before
upgrading. Any ideas on why this is happening all of a sudden?
> -----Original Message-----
> From: [email protected] [mailto:user-
> [email protected]] On Behalf Of Johan Svensson
> Sent: Friday, September 11, 2009 3:56 AM
> To: Neo user discussions
> Subject: Re: [Neo] StoreFailureException during load
>
> Hi,
>
> Looks like there is an inconsistency between the property store and
> either the string or array store (don't know which one since there are
> no line numbers).
>
> Terminating the running process (whenever) is not a problem as long as
> you let the recovery run on next start-up using the transaction logs to
> resolve everything to a consistent state. Do you remember what names
> the transaction logs had that you deleted?
>
> Regards,
> -Johan
>
> On Thu, Sep 10, 2009 at 8:03 PM, Justin Montgomery
> <[email protected]> wrote:
> > Hi,
> >
> > I've been happily using neo4j for the data store for our project for
> some time now, but after working with b-9 for a couple weeks in
> development I've run into the following problem during startup:
> >
> > 2009-09-10 12:09:35,926 ERROR :
> > [edu.uchicago.nsit.iteco.server.neo.NeoHelper] Error during db load
> > dir=data/neo2/neo
> > org.neo4j.impl.nioneo.store.StoreFailureException: Block not inUse[0]
> > blockId[27880]
> > at
> >
> org.neo4j.impl.nioneo.store.AbstractDynamicStore.getLightRecord(Unknow
> > n Source)
> > at
> >
> org.neo4j.impl.nioneo.store.AbstractDynamicStore.getLightRecords(Unkno
> > wn Source)
> > at org.neo4j.impl.nioneo.store.PropertyStore.makeHeavy(Unknown
> > Source)
> > at
> > org.neo4j.impl.nioneo.xa.NeoTransaction.nodeChangeProperty(Unknown
> > Source)
> > at
> >
> org.neo4j.impl.nioneo.xa.NeoStoreXaConnection$NodeEventConsumerImpl.ch
> > angeProperty(Unknown Source)
> > at
> >
> org.neo4j.impl.nioneo.xa.NioNeoDbPersistenceSource$NioNeoDbResourceCon
> > nection.nodeChangeProperty(Unknown Source)
> > at
> >
> org.neo4j.impl.persistence.PersistenceManager.nodeChangeProperty(Unkno
> > wn Source)
> > at org.neo4j.impl.core.NodeManager.nodeChangeProperty(Unknown
> > Source)
> > at org.neo4j.impl.core.NodeImpl.changeProperty(Unknown Source)
> > at org.neo4j.impl.core.NeoPrimitive.setProperty(Unknown
> Source)
> > at org.neo4j.impl.core.NodeProxy.setProperty(Unknown Source)
> > at org.neo4j.util.NeoUtil.setProperty(Unknown Source)
> > at
> > org.neo4j.neometa.structure.MetaStructureObject.setProperty(Unknown
> > Source)
> > at
> >
> org.neo4j.neometa.structure.MetaStructureObject.setOrRemoteProperty(Un
> > known Source)
> > at
> >
> org.neo4j.neometa.structure.MetaStructureProperty.setOwlPropertyType(U
> > nknown Source)
> > at
> >
> org.neo4j.neometa.input.rdfs.RdfsImporter.trySetPropertyOwlType(Unknow
> > n Source)
> > at
> org.neo4j.neometa.input.rdfs.RdfsImporter.access$500(Unknown
> > Source)
> > at
> >
> org.neo4j.neometa.input.rdfs.RdfsImporter$PropertyReader.readThing(Unk
> > nown Source)
> > at
> >
> org.neo4j.neometa.input.rdfs.RdfsImporter$PropertyReader.readThing(Unk
> > nown Source)
> > at
> org.neo4j.neometa.input.rdfs.RdfsImporter.readThings(Unknown
> > Source)
> > at
> > org.neo4j.neometa.input.rdfs.RdfsImporter.readProperties(Unknown
> > Source)
> > at org.neo4j.neometa.input.rdfs.RdfsImporter.readFrom(Unknown
> > Source)
> > at org.neo4j.neometa.input.rdfs.RdfsImporter.doImport(Unknown
> > Source)
> > at
> >
> edu.uchicago.nsit.iteco.server.neo.NeoHelper.<init>(NeoHelper.java:109
> > )
> > at
> >
> edu.uchicago.nsit.iteco.server.neo.NeoDatabase.loadData(NeoDatabase.ja
> > va:97)
> > at
> >
> edu.uchicago.nsit.iteco.server.DefaultItecoData.loadDatabase(DefaultIt
> > ecoData.java:1082)
> > at
> >
> edu.uchicago.nsit.iteco.server.DefaultItecoData.<init>(DefaultItecoDat
> > a.java:347)
> > at
> >
> edu.uchicago.nsit.iteco.server.DefaultItecoData.init(DefaultItecoData.
> > java:188)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator.ini
> > tData(LocalRequestCommunicator.java:250)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator.<in
> > it>(LocalRequestCommunicator.java:194)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator.<in
> > it>(LocalRequestCommunicator.java:174)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator$1.c
> > all(LocalRequestCommunicator.java:109)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator$1.c
> > all(LocalRequestCommunicator.java:1)
> > at
> >
> edu.uchicago.nsit.iteco.client.serverless.LocalRequestCommunicator.new
> > Instance(LocalRequestCommunicator.java:164)
> > at
> >
> edu.uchicago.nsit.iteco.netinf.serverless.ServerlessNetInfClient.main(
> > ServerlessNetInfClient.java:39)
> >
> >
> >
> > To be fair, though, on the previous run I terminated the running
> process when code outside neo was churning because I had started it by
> mistake and was impatient :). I'd done this many times before in
> development on both this version and previous releases and never ran
> into this problem. The store size is roughly 250MB. I tried deleting
> the transaction logs but no joy :(.
> >
> > This looks like some kind of assertion error, though, so I thought
> I'd let you guys know in case there is something serious going on
> here...
> >
> > Thanks,
> >
> > Justin
> _______________________________________________
> Neo mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user