[Neo] Dijkstra search on a big graph
Anton Popov
popov.UA.work at gmail.com
Fri Feb 5 18:36:46 CET 2010
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
More information about the User
mailing list