So maybe you've hit yet another BatchInserter bug... will have to run a
similar test and try to reproduce it. Can it be reproduced consistently and
with varying data sets/sizes? Can you reproduce it if not using
BatchInserter?

2011/9/28 René Pickhardt <r.pickha...@googlemail.com>

> I used the current stable release and the problem did not arise anymore but
> I got new problems.
>
> for many nodes even though (according to the data set they should have
> relations) the
> function  (n.hasRelationship(DynamicRelationshipType.withName( "UPDATE" ),
> Direction.BOTH)) does not stop. It just seems to jump into an endless loop
> ;(
>
> I don't think I made a mistake in the code for the batch inserter but i
> just
> attached it. My insertion contains of two steps:
>
> first I create many node in the graph and store them also in an index:
> batchArticle. I do not query agains the index to check if a node with this
> key already existed. But my keys are unique.
>
> private void AddBatchNode(String key, String title){
> Map<String,Object> properties = new HashMap<String,Object>();
>
> properties.put( "key", key );
> properties.put( "title", title );
>  properties.put( "timestamp", "1" );
> long node = inserter.createNode( properties );
>
> properties = MapUtil.map( "key", key );
> batchArticle.add( node, properties );
>  }
>
> then I attach many updates (also nodes encoded via timestamp) to every node
> and connect them via a relationship.
>
> private void BatchUpdate(String timestamp, String key) {
> if (batchArticle.get("key", key).getSingle()!=null){
>  long node = batchArticle.get("key", key).getSingle();
> Map<String,Object> properties = new HashMap<String,Object>();
>  properties.put( "timestamp", timestamp );
>  long ci = inserter.createNode( properties );
>
> inserter.createRelationship( node, ci, DynamicRelationshipType.withName(
> "UPDATE" ),null);
> }
>  }
>
> the last step (i did not implement this) is to connect the nodes from the
> first steps via friendship relations. But I wanted to do some testing
> first...
>
> anyone knows of this problem?
>
> 2011/9/28 Rick Bullotta <rick.bullo...@thingworx.com>
>
> > Hi, René.
> >
> > I recognized your error almost immediately, since we encountered it in an
> > early 1.4 beta. ;-)
> >
> > I think you'll have a good result if you can switch to the 1.4.1 release!
> >
> > Best,
> >
> > Rick
> >
> > -----Original Message-----
> > From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org]
> > On Behalf Of René Pickhardt
> > Sent: Wednesday, September 28, 2011 10:29 AM
> > To: Neo4j user discussions
> > Subject: Re: [Neo4j] InvalidRecordException: Record[1983624] not in
> > useRecord[1983624] not in use
> >
> > Hey guys,
> >
> > I don't know "how" I found the old milestone. I was downloading it once I
> > started using neo4j.
> >
> > I will just migrate to the current stable version and tell you afterwards
> > if
> > I still have problems. by your comments I guess the problem will be
> solved.
> > Thanks so far!
> >
> > best regards René
> >
> > 2011/9/28 Mattias Persson <matt...@neotechnology.com>
> >
> > > I'm curious to know how you found that old milestone also :) you picked
> > the
> > > one out of extremely few having some kind of data problems.
> > >
> > > Den onsdagen den 28:e september 2011 skrev Chris Gioran<
> > > chris.gio...@neotechnology.com>:
> > > > Hi Rene,
> > > >
> > > > According to git log, 1,4.M04 was tagged 10/06/2011, while the fix
> for
> > > > a bug in the BatchInserterImpl that caused corrupted stores which
> gave
> > > > the message you are seeing is
> > > >
> > > >
> > >
> > >
> >
> https://github.com/neo4j/community/commit/71fbe4ac1174fad16a7bb154c9f78d3f1b377248
> > > >
> > > > which has a date of 04/07/2011.
> > > >
> > > > This makes 1.4.M06 the earliest release to use that does not have
> this
> > > > issue or, even better, go for 1.4.1 which is the latest stable
> > > > release. Since you are comfortable using milestones, 1.5.M01 might be
> > > > of interest to you.
> > > >
> > > > http://neo4j.org/download has the links that you need.
> > > >
> > > > hope that helped,
> > > > CG
> > > >
> > > > 2011/9/28 René Pickhardt <r.pickha...@googlemail.com>:
> > > >> Neo1.4.M04 community edition no self build.
> > > >>
> > > >> 2011/9/28 Mattias Persson <matt...@neotechnology.com>
> > > >>
> > > >>> Which version of neo4j did you use to import your data, was it a
> > > >>> downloadable package, from maven or building yourself from a
> branch?
> > > >>>
> > > >>> 2011/9/28 René Pickhardt <r.pickha...@googlemail.com>
> > > >>>
> > > >>> > hey everyone
> > > >>> >
> > > >>> > I got a strange error message that a record is not in use if I
> call
> > > >>> > hasRelationship() function even though I checked against null
> > before!
> > > My
> > > >>> > real purpose was to start the traverser but it exited with the
> same
> > > error
> > > >>> > message. That is why I put the n.hasRelationship which also would
> > not
> > > >>> work.
> > > >>> >
> > > >>> > I imported a graph with 50 mio. nodes and about the same size of
> > > >>> > relationships. (though I am about to import more relationships
> > later
> > > on)
> > > >>> I
> > > >>> > put 2 mio. nodes in a lucence index called article.
> > > >>> >
> > > >>> > the counting variable t has the value 2385 (so the first 2385
> calls
> > > work
> > > >>> > fine) if I skip this node the same problem accoures again at t =
> > > 3239.
> > > >>> >
> > > >>> > maybe it is usefull to say that I inserted the graph using the
> > batch
> > > >>> > inserter.
> > > >>> >
> > > >>> > IndexHits<Node> res = article.get("key", values[0]);
> > > >>> > if (res!=null){
> > > >>> > Node n = res.getSingle();
> > > >>> >  if (n!=null){
> > > >>> > if (n.hasRelationship(DynamicRelationshipType.withName( "UPDATE"
> ),
> > > >>> > Direction.BOTH)){
> > > >>> >  //n.traverse(Order.BREADTH_FIRST,StopEvaluator.DEPTH_ONE,
> > > >>> >
> > >
> ReturnableEvaluator.ALL_BUT_START_NODE,DynamicRelationshipType.withName(
> > > >>> > "UPDATE" ) );
> > > >>> >  t++;
> > > >>> > }
> > > >>> > }
> > > >>> >
> > > >>> > callstack:
> > > >>> >
> > > >>> > org.neo4j.kernel.impl.nioneo.store.InvalidRecordException:
> > > >>> Record[1983624]
> > > >>> > not in useRecord[1983624] not in use
> > > >>> >
> > > >>> > at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getRecord(RelationshipStore.java:230)
> > > >>> >  at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.nioneo.store.RelationshipStore.getChainRecord(RelationshipStore.java:337)
> > > >>> > at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:114)
> > > >>> >  at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:97)
> > > >>> > at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:108)
> > > >>> >  at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:603)
> > > >>> > at
> > > >>> >
> > > >>>
> > >
> >
> org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:351)
> > > >>> >  at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:318)
> > > >>> > at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:305)
> > > >>> >  at
> > > >>> >
> > > >>> >
> > > >>>
> > >
> > >
> >
> org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:156)
> > > >>> > at
> > > >>>
> > org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:236)
> > > >>> >  at
> > > >>>
> > org.neo4j.kernel.impl.core.NodeImpl.hasRelationship(NodeImpl.java:576)
> > > >>> > at
> > > >>>
> > >
> org.neo4j.kernel.impl.core.NodeProxy.hasRelationship(NodeProxy.java:109)
> > > >>> >  at IndexEvaluation.GenerateStreams(IndexEvaluation.java:124)
> > > >>> > at IndexEvaluation.<init>(IndexEvaluation.java:98)
> > > >>> >  at EntryPoint.main(EntryPoint.
> > >
> > > --
> > > Mattias Persson, [matt...@neotechnology.com]
> > > Hacker, Neo Technology
> > > www.neotechnology.com
> > > _______________________________________________
> > > Neo4j mailing list
> > > User@lists.neo4j.org
> > > https://lists.neo4j.org/mailman/listinfo/user
> > >
> >
> >
> >
> > --
> > --
> > mobile: +49 (0)176 6433 2481
> >
> > Skype: +49 (0)6131 / 4958926
> >
> > Skype: rene.pickhardt
> >
> > www.rene-pickhardt.de
> >  <http://www.beijing-china-blog.com>
> > _______________________________________________
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> > _______________________________________________
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
>
>
>
> --
> --
> mobile: +49 (0)176 6433 2481
>
> Skype: +49 (0)6131 / 4958926
>
> Skype: rene.pickhardt
>
> www.rene-pickhardt.de
>  <http://www.beijing-china-blog.com>
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to