0

I try a simple query in NebulaGraph

GO FROM 123 OVER Invest | yield count(*)

enter image description here

I think the result will be tens millions. But an error occurs.

Is my memory not enough?

starball
  • 20,030
  • 7
  • 43
  • 238
user13726945
  • 105
  • 1
  • 5

1 Answers1

0

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.

foesa Yang
  • 26
  • 5