I have a problem when querying slash and receiving a large amount of data. This problem does not manifest when I host my own dgraph.
I’ve written a small tool to demonstrate the problem:
- Local dgraph (20.07.1 shuri-1), default message size: errors as expected.
$ go run main.go normal localhost:9080
wrote root at: 0x3934d
panic: cannot query: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5000232 vs. 4194304)
- Local dgraph (20.07.1 shuri-1), allow huge messages: works as expected.
$ go run main.go huge localhost:9080
wrote root at: 0x39359
got bytes of json: 5000153
queried successfully
- Slash dgraph (v20.07.1-rc1-27-g7f636633), default message size: errors as expected.
$ go run main.go normal sable-account.grpc.eu-central-1.aws.cloud.dgraph.io:443 REDACTED
wrote root at: 0x10
panic: cannot query: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5000230 vs. 4194304)
- Slash dgraph (v20.07.1-rc1-27-g7f636633), allow huge messages: doesn’t work.
$ go run main.go huge sable-account.grpc.eu-central-1.aws.cloud.dgraph.io:443 REDACTED
wrote root at: 0x17
panic: cannot query: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5000230 vs. 4194304)
In production I’m currently running queries that can return in excess of 100MiB of JSON results (lots of small snippets of data, nothing like the monster strings in the example); paginating, or otherwise rewriting the queries, is… probably possible, but I’m really hoping for a quick fix to bring hosted behaviour in line with self-hosted .