Problem with Neo4J Installation stability

load

(Johncrockeratwork) #1

Hello

We are having problems with the stability of our Neo4J Server, we have had instances of the server being overloaded and becoming unavailable, sometimes with instances of 195% CPU inside the Docker container. The specification of the server is high and has been stated that it has more than enough power needed. However we have subsequently narrowed it down to one query.

CALL db.indexes()

This query statement seems to block Neo and make it unstable. We have tracked down to the individual developer PC that ran this query and they have not run this query in the Neo4J Browser. My question is - does this query get regularly run as part of the functionality of the Neo4J Browser and is it possible to prevent it from running? And finally - what does it actually do? I cannot find any reference to it in the user guides.

John


(M. David Allen) #2

The query in question lists all database indexes in Neo4j, you can find docs about it here:

https://neo4j.com/docs/developer-manual/current/cypher/schema/index/#schema-index-get-a-list-of-all-indexes-in-the-database

Neo4j Browser does do a number of initial queries when it connects to a neo4j instance in order to populate things in the sidebar. I don't know if this particular query is in that list but it wouldn't surprise me if it was, this is pretty basic information about the database really.

Can you provide any more diagnostic information about what leads you to believe this is the particular query that's hanging things up? Have you inspected CALL dbms.listQueries() and CALL dbms.listTransactions() to have a look at what else is running?

https://neo4j.com/docs/operations-manual/current/monitoring/query-management/procedures/#query-management-list-transactions