I try a simple query in NebulaGraph
GO FROM 123 OVER Invest | yield count(*)
I think the result will be tens millions. But an error occurs.
Is my memory not enough?
I try a simple query in NebulaGraph
GO FROM 123 OVER Invest | yield count(*)
I think the result will be tens millions. But an error occurs.
Is my memory not enough?
The reason for this error is usually that the storaged process returns too many data back to the graphd process. Possible solutions are as follows:
Modify configuration files: Modify the value of --storage_client_timeout_ms
in the nebula-graphd.conf
file to extend the connection timeout of the Storage client. This configuration is measured in milliseconds (ms). For example, set --storage_client_timeout_ms=60000
. If this parameter is not specified in the nebula-graphd.conf
file, specify it manually. Tip: Add --local_config=true
at the beginning of the configuration file and restart the service.
Optimize the query statement: Reduce queries that scan the entire database. No matter whether LIMIT is used to limit the number of returned results, use the GO statement to rewrite the MATCH statement (the former is optimized, while the latter is not).
Check whether the Storaged process has OOM. (dmesg |grep nebula). Use better SSD or memory for the Storage Server.
Retry.