Thanks so much for the time with all this!
I’ve found a quick hack was to use:
va(func: has(bills)) @cascade
which eliminates the phantom uids.
My concern is that when I play around in ratel, everything is fine, until suddenly it isn’t. I don’t know what kicks it off. I try changing the search options, adding a trigram index to name, and it all works, then suddenly the phantom uids appear again.
Furthermore I’m concerned by the results of:
{
va(func: has(_predicate_)) {
uid
expand(_all_)
}
}
It shows all the phantom uids of not only the recent mutations, but all priors mutations (before I dropped all predicates). Will they continue to accumulate indefinitely as I delete things? Is there no way to permanently delete a node?
EDIT
Stranger still, running that whole has(predicate) doesn’t actually show all phantom ids. Look at the result:
{
"data": {
"va": [
{
"uid": "0x1"
},
{
"uid": "0x2"
},
{
"uid": "0xd"
},
{
"uid": "0xe"
},
{
"uid": "0xf"
},
{
"uid": "0x10"
},
{
"uid": "0x11"
},
{
"uid": "0x12"
},
{
"uid": "0x13"
},
{
"uid": "0x14"
},
{
"uid": "0x15"
},
{
"uid": "0x16"
},
{
"uid": "0x17"
},
{
"uid": "0x18"
},
{
"uid": "0x19"
},
{
"uid": "0x1a"
},
{
"uid": "0x1b"
},
{
"uid": "0x1c"
},
{
"uid": "0x1d"
},
{
"uid": "0x1e"
},
{
"uid": "0x1f"
},
{
"uid": "0x20"
},
{
"uid": "0x21"
},
{
"uid": "0x22"
},
{
"uid": "0x23"
},
{
"uid": "0x24"
},
{
"uid": "0x25"
},
{
"uid": "0x26"
},
{
"uid": "0x27"
},
{
"uid": "0x2b",
"bills": false,
"name": "Testing4"
}
]
},
"extensions": {
"server_latency": {
"parsing_ns": 82557,
"processing_ns": 10970042,
"encoding_ns": 1092269
},
"txn": {
"start_ts": 9969
}
}
}
clearly not all used uids are present (0x3 for example). I’ve probably screwed something up with how I’ve set up dgraph. I’ll delete everything (down to the p, w and zw directories) and start again. Sorry for all the annoyance!