Restarting (removing) Alpha pods helped with eq(nodeType,"rule") but it still doesn’t work for eq(nodeType,"variable") - this is a show stopper tbh :\
I exported and re-imported data but the problem persisted. I dropped an index for that predicate and it started to work. And again I defined the index of type hash and it doesn’t work.
I know that you have added support for @filter on non-indexed predicates in 1.2 but it looks like it’s buggy
Maybe dataset samples or even a mirror of your schema. So I can try to create similar samples and test it on my end.
One thing that is worth mentioning is that all Dgraph features have a battery of tests that they need to do to pass. Overall we caught 70% of the bugs in the tests. Only bugs are almost impossible to detect via tests passes. Or not predicted usage by dev core.
So, I need to have a way to reproduce in different contexts. But first I need to understand your context. So that I can compare with mine.
If I can’t reproduce it. It is hard to tell that this is a Dgraph issue.
I did again export/wipe out the cluster/import and now it looks ok, so maybe in my previous attempt to the same I made a mistake and forgot to cleanup alpha’s/zero’s volume or so. We are going to monitor this issue and also I will try re-import those data locally and verify if I can reproduce the issue.
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
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…
One important note: this doesn’t happen on the very beginning when I started a new cluster and imported data. It will start breaking after a few hours (3-5h).
Just checked our second cluster and I discovered the same problem, these two affected clusters are running a significant larger number of data, ~ 500MB, there are 2758 (2558 on the second cluster) of nodeType predicates, compared to 294 in our dev cluster.
the proposed workaround from above issue isn’t working for my simple setup:
start with a clean dgraph/standalone:latest docker image, no schema setup yet
using the go client create 30k nodes all with same dgraph.type one by one, each referencing between 0 and 250 of the other nodes
run the schema update adding the single type and a hash index to a string field
the log shows the successful schema update: Done schema update predicate:“state” value_type:STRING directive:INDEX tokenizer:“hash”
But still, searching for a node using eq(state, “some”) doesn’t yield any results.
I’m not using Datetime tokenizer in my schema and going through the dgraph logs there is no error or warning at all.