[Neo] Dijkstra search on a big graph

Anton Popov popov.UA.work at gmail.com
Mon Feb 8 08:48:41 CET 2010


Is there anybody, who can help me?

On 5 February 2010 19:36, Anton Popov <popov.UA.work at gmail.com> wrote:

> Hello all,
>
> I'm still doing my tests on Neo4J. I've imported some data to Neo4J
> database & trying to search a shortest path search using Dijkstra
> implementation from neo4j-graph-algo package.
> As a result - I get exceptions & hanged application - can anyone help me to
> solve the problem?
>
> I've packed the bundle, containing Java code, system output (with
> Exceptions), neo4j.properties and results of top command. It's available
> here:
> https://docs.google.com/leaf?id=0Bx7diqqg3SSaYzMzZjU1ZGUtNjhjOS00MDg1LWFhYzItOWY0YjU5MTRlODdm&hl=en
> Please forgive me many System.out prints - that's just an test code to be
> introduced to the system, it's features & performance.
>
> After the last Exception, written to the output application seems to hang.
> Used memory is 1848m during that moment.
> My environment is:
>  - Ubuntu, 4GB of RAM.
>  - Before test starts, top shows that I have 3.4GB of RAM non-used. So
> almost no other applications run.
>  - I'm using following Neo4J versions:
>         <dependency>
>             <groupId>org.neo4j</groupId>
>             <artifactId>neo4j-kernel</artifactId>
>             <version>1.0-SNAPSHOT</version>
>         </dependency>
>
>         <dependency>
>             <groupId>org.neo4j</groupId>
>             <artifactId>neo4j-graph-algo</artifactId>
>             <version>0.3-SNAPSHOT</version>
>         </dependency>
>
>         <dependency>
>             <groupId>org.neo4j</groupId>
>             <artifactId>neo4j-index</artifactId>
>             <version>1.0-SNAPSHOT</version>
>         </dependency>
>
>
> The Exceptions actually are:
>
> org.neo4j.kernel.impl.nioneo.store.MappedMemException: java.io.IOException:
> Invalid argument
>     at
> org.neo4j.kernel.impl.nioneo.store.MappedPersistenceWindow.<init>(MappedPersistenceWindow.java:59)
>     at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.allocateNewWindow(PersistenceWindowPool.java:530)
>     at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.refreshBricks(PersistenceWindowPool.java:430)
>     at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.acquire(PersistenceWindowPool.java:122)
>     at
> org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java:459)
>     at
> org.neo4j.kernel.impl.nioneo.store.NodeStore.loadLightNode(NodeStore.java:129)
>     at
> org.neo4j.kernel.impl.nioneo.xa.NeoReadTransaction.nodeLoadLight(NeoReadTransaction.java:74)
>     at
> org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$ReadOnlyResourceConnection.nodeLoadLight(NioNeoDbPersistenceSource.java:234)
>     at
> org.neo4j.kernel.impl.persistence.PersistenceManager.loadLightNode(PersistenceManager.java:67)
>     at
> org.neo4j.kernel.impl.core.NodeManager.getNodeForProxy(NodeManager.java:442)
>     at
> org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:87)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra$DijstraIterator.next(Dijkstra.java:313)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra.calculate(Dijkstra.java:497)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra.getPathAsNodes(Dijkstra.java:693)
>     at com.example.neo4j.search.NeoDijkstra.getRoute(NeoDijkstra.java:85)
>     at com.example.neo4j.search.NeoDijkstra.main(NeoDijkstra.java:153)
> Caused by: java.io.IOException: Invalid argument
>     at sun.nio.ch.FileChannelImpl.truncate0(Native Method)
>     at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:728)
>     at
> org.neo4j.kernel.impl.nioneo.store.MappedPersistenceWindow.<init>(MappedPersistenceWindow.java:53)
>     ... 15 more
>
> *and the last one is*
>
> Feb 5, 2010 6:58:00 PM
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool logWarn
> WARNING: [/home/apopov/tmp/neo4j/data/neostore.nodestore.db] Unable to
> memory map
> Exception in thread "main" java.lang.IllegalArgumentException: Start node
> equals end node
>     at
> org.neo4j.kernel.impl.core.RelationshipImpl.<init>(RelationshipImpl.java:58)
>     at
> org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:598)
>     at
> org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:332)
>     at
> org.neo4j.kernel.impl.core.NodeImpl.ensureFullRelationships(NodeImpl.java:320)
>     at
> org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:129)
>     at
> org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:199)
>     at
> org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:87)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra$DijstraIterator.next(Dijkstra.java:313)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra.calculate(Dijkstra.java:509)
>     at
> org.neo4j.graphalgo.shortestpath.Dijkstra.getPathAsNodes(Dijkstra.java:693)
>     at com.example.neo4j.search.NeoDijkstra.getRoute(NeoDijkstra.java:85)
>     at com.example.neo4j.search.NeoDijkstra.main(NeoDijkstra.java:153)
>
> --
> Best regards,
> Popov Anton
>



-- 
Best regards,
Popov Anton


More information about the User mailing list