I am having a weird and frustrating problem. Fairly simple queries that (should) return subsets of my most numerous node label cause the browser to "timeout" and just show a completely blank white page.
Configuration:
- Neo4j Server version: 3.4.5 (community), on RHEL 7.3 remote machine
- Neo4j Browser version: 3.2.5
- Web browser Firefox 60.1.0esr (32-bit), on Windows 10 local machine
The Firefox browser is running on my local machine running Windows 10. The Neo4j server is running on a remote server elsewhere on LAN. From my local machine, I am using Firefox to connect to the remote server via http. (http://remote-machine:7474
)
I have three node labels in my graph and a total of 2411039 nodes. All the labels are mutually exclusive. I'll call them Label1
, Label2
, and Label3
. Label1
contains 2366 nodes. Label2
contains 364235 nodes. Label3
, the apparent problem child, contains 2044438 nodes (by far the most numerous). There is a relationship type between Label3
nodes and other Label3
nodes. There is another relationship type between Label3
nodes and Label2
nodes. The third and final relationship is between Label2
nodes and Label1
nodes.
If I run the sample queries in the "Database Information" section to just return 25 example nodes for each label, Label3
has problems. MATCH (n:Label3) RETURN n LIMIT 25
this causes the browser to hang for a few seconds, then eventually the entire tab just becomes a blank white page.
If I refresh the browser tab, I get back to what looks like a "fresh" new session with just the :play start
content showing. The browser is now working again (for queries not involving Label3
). If I hit the up arrow key in the query bar, my last query that caused the browser to seemingly time out shows back up.
If if try PROFILE MATCH (n:Label3) RETURN n LIMIT 25
from the browser, this also fails but with slightly different symptoms. It causes all of the "result boxes" from previous queries to go away. The content in the left frame is still visible but unresponsive if I click the icons. The query bar is still visible with a flashing cursor, but also unresponsive if I try typing in it. The tab has to be refreshed to get back to a working session.
If I run the same exact query but from the cypher-shell on my remote server's command line, instead of within browser on my local machine, the query runs fine and very fast.
So it doesn't look like the query itself is the problem, but rather something about the browser environment.
Slightly more complex queries involving Label3
also fail/timeout in the browser but run fine from the cypher-shell. Example: MATCH (n:Label3)-[r]->(m:Label2) RETURN n, r, m LIMIT 60
There is no problem if I run, from the browser, the "sample 25" queries for the other nodes. Label2
and Label1
work fine when running the MATCH (n:Labelx) RETURN n LIMIT 25
queries from the browser.
I'm not sure if Label3
being the most numerous node is part of what is causing this problem or just a coincidence, but that is my only working hypothesis.
I realize that neither my neo4j server nor the neo4j browser are the latest, greatest versions. I looked through the changelog for both neo4j and neo4j-browser to see if there is anything in the newer versions that might address this, but didn't see anything obvious.
Any ideas as to what is going on? What else can I try or check to help characterize this problem?