Query based on eq() stopped working for one predicate

Hi, I am having a similar issue since last upgrade of the dgraph/standalone docker image. I don’t have a clue what’s happening, but suddenly eq stops working in my simple example:

  • schema has one Type “State” referencing itself:
state: string @index(hash) .
states: [uid] @count .

type State {
  state
  states
}
  • run a loop generating 30k nodes one by one, each referencing between 0 and 250 other State nodes
  • while loop is running executing this query in Ratel finds the start node, and using it’s UID in the test query finds the same node
start(func: type(State)) @filter(eq(state, "start")) {
    uid
    state
    count(states)
  }
    
  test(func: uid(<ABOVE START UID>)) {
    uid
    state
    count(states)
  }

Result:
{
  "data": {
    "start": [
     {
        "uid": "0x1",
        "state": "start",
        "count(states)": 65
      }
    ],
    "test": [
      {
        "uid": "0x1",
        "state": "start",
        "count(states)": 65
      }
    ]

At some point when executing this query again only the test block finds the node while the start block suddenly can’t find any node anymore. Even if the test block clearly shows the searched node exists with the exact state string, the start block stays empty.

I’ve spent way too much time checking my really simple saving loop here where I do not manipulate schema but only save above type with references.

Hope this helps, this drove me crazy for last two days…