Closed littlemilkwu closed 2 years ago
@littlemilkwu Thanks for bringing this issue to our attention. And sorry for the late reply.
Two comments:
The problem you're facing is certainly interesting, but unfortunately won't be addressed with highest priority since it is not an officially supported usage pattern. That being said, if you want to help debugging this (which we would appreciate), I'd recommend starting with monitoring the JVM while the loop is running and identify code that constantly allocates. You could use Flight Recorder or Java Visual VM. And insights you might find can help us identifying and eventually fixing a potential leak.
Thanks.
Closing this for now. Feel free to re-open if you want to continue the discussion.
In my real use case, I first create an In-memory projected graph which have 6017 nodes and 37819 relations. Then, I run personal PageRank only 3 times that each time with 2276 nodes as [sourceNodes].
what can I do for this situation ? I am suffer from this error for a long time....
below are my cypher queries
CALL gds.graph.create(
'UP',
['User', 'Post'],
{
Action: {
orientation: 'UNDIRECTED',
properties: 'weight'
}
}
)
MATCH (sources:User)
WITH sources
CALL gds.pageRank.stream('UP', {
sourceNodes: [sources],
relationshipWeightProperty: 'weight',
concurrency: 1
})
YIELD nodeId, score
WITH sources, gds.util.asNode(nodeId) as nodes, score
WHERE (nodes.pid IS NOT NULL) AND (NOT (sources)-[]->(nodes))
RETURN sources.uid as source, nodes.pid as pid, score
ORDER BY score DESC
It still throw the same error. (neo4j.log)
(query.log)
(debug.log)
Describe the bug when run many times of algorithm like pagerank, the java process thread in Activity Monitor will grow too large, and cause an error like
Also, the thread cost by java process will not release automatically util I restart whole Neo4j Desktop.
To Reproduce GDS version: 1.7.0 Neo4j version: 4.3.3 Operating system: macOS Big Sur 11.5.2
Steps to reproduce the behavior:
follow the pagerank example in gds 1.7 docs https://neo4j.com/docs/graph-data-science/1.7/algorithms/page-rank/ submit all cypher codes in Neo4j Browser
create nodes, relations
project gds graph
run Page Rank algorithm many times (using unwind just for loop)
OOM error
threads meet 409X cause this error
Expected behavior I thought Java Threads will automatically release after few minute.
Additional context At first, I was written python script using Neo4J Python Driver 4.3 to run many times personalized PageRank. In my datasets, there are about 5 thousand nodes I need to apply pagerank, then I faced this problem, I thought Maybe I wasn't close sessions properly, but I open and close sesison on every time pagerank apply, this problem still there, And even using Neo4J Browser would faced this problem too.
In neo4j.conf I just edit these setting