I’m having problems using Dgraph with a huge dataset on a single beefy machine.
I’ve succesfully imported a dataset with 152.9G edges, but the alpha instance seems to have problems managing the schema. Every time I try to load it from ratel UI I get:
The alpha logs this:
2023/06/04 17:22:26 http: panic serving 172.24.0.1:45378: runtime error: slice bounds out of range [:8] with length 7
goroutine 46114 [running]:
net/http.(*conn).serve.func1()
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:1825 +0xbf
panic({0x1e604e0, 0xc046638db0})
/opt/hostedtoolcache/go/1.18.5/x64/src/runtime/panic.go:844 +0x258
github.com/dgraph-io/dgraph/x.ParseNamespaceAttr(...)
/home/runner/work/dgraph/dgraph/x/keys.go:87
github.com/dgraph-io/dgraph/query.filterTypesForNamespace(0x0, {0xc00b629900, 0xd, 0x20?})
/home/runner/work/dgraph/dgraph/query/query.go:2967 +0x3b9
github.com/dgraph-io/dgraph/query.(*Request).Process(0xc00c348fc8, {0x224a5b8, 0xc03404fcb0})
/home/runner/work/dgraph/dgraph/query/query.go:2955 +0x445
github.com/dgraph-io/dgraph/edgraph.processQuery({0x224a5b8, 0xc03404fcb0}, 0xc008ee93f0)
/home/runner/work/dgraph/dgraph/edgraph/server.go:1395 +0x590
github.com/dgraph-io/dgraph/edgraph.(*Server).doQuery(0x224a580?, {0x224a5b8, 0xc00e7990b0}, 0xc00c5d16a8)
/home/runner/work/dgraph/dgraph/edgraph/server.go:1306 +0xc36
github.com/dgraph-io/dgraph/edgraph.(*Server).Query(0x224a5b8?, {0x224a580?, 0xc018ddd560?}, 0xc018ddd5c0)
/home/runner/work/dgraph/dgraph/edgraph/server.go:1171 +0x2f9
github.com/dgraph-io/dgraph/dgraph/cmd/alpha.queryHandler({0x22493d8, 0xc008e70540}, 0xc00c2d2e00)
/home/runner/work/dgraph/dgraph/dgraph/cmd/alpha/http.go:249 +0x6c5
net/http.HandlerFunc.ServeHTTP(0x2ecd8a0?, {0x22493d8?, 0xc008e70540?}, 0x6?)
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:2084 +0x2f
net/http.(*ServeMux).ServeHTTP(0xc00b7b69c0?, {0x22493d8, 0xc008e70540}, 0xc00c2d2e00)
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:2462 +0x149
github.com/dgraph-io/dgraph/ee/audit.AuditRequestHttp.func1({0x22493d8?, 0xc008e70540?}, 0x45d3d105355?)
/home/runner/work/dgraph/dgraph/ee/audit/interceptor_ee.go:91 +0xc2
net/http.HandlerFunc.ServeHTTP(0x44f44c8fb55?, {0x22493d8?, 0xc008e70540?}, 0xc027e4ee80?)
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:2084 +0x2f
net/http.(*ServeMux).ServeHTTP(0xc00dbd9cec?, {0x22493d8, 0xc008e70540}, 0xc00c2d2e00)
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:2462 +0x149
net/http.serverHandler.ServeHTTP({0x2243ab0?}, {0x22493d8, 0xc008e70540}, 0xc00c2d2e00)
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc0d93fec80, {0x224a5b8, 0xc00b99bda0})
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
/opt/hostedtoolcache/go/1.18.5/x64/src/net/http/server.go:3071 +0x4db
I can succesfully query data, but some queries are not working. For example, queries using expand
don’t work, like this one:
{
q(func: type(Log), first: 1) {
expand(_all_) {
expand(_all_)
}
}
}
Even if data correctly has dgraph.type
set to “Log”.
The same dataset and schema don’t give me any problem if I just import a subset of the available data, so probably the problem is correlated to the size of the data.