Dgraph Live retries on unrecoverable error

Moved from GitHub dgraph/5776

Posted by EnricoMi:

What version of Dgraph are you using?

v20.03.3

Have you tried reproducing the issue with the latest release?

Yes

What is the hardware spec (RAM, OS)?

Unrelated

Steps to reproduce the issue (command/config used to run Dgraph).

Start a fresh temporary dgraph instance with docker:

docker run -it --rm dgraph/standalone:v20.03.3 /bin/bash

Inside, run the following commands:

dgraph zero > /dev/null 2>&1 < /dev/null &
dgraph alpha --lru_mb 1024 > /dev/null 2>&1 < /dev/null &
echo "<a> <p~1> <c> ." > a.rdf

Wait a bit until dgraph alpha is up, then

dgraph live --files a.rdf

It fails on the predicate with:

Error while mutating: key error: subject:"0x2" predicate:"p~1" object_id:"0x2712" : predicate "p~1": Has invalid characters s.Code Unknown

The mutation is retried indefinitely. The loader hangs on this line for ever and requires manual intervention (interrupt the loader, fix the data, rerun the loader). Make unattended loading impossible.

Expected behaviour and actual result.

Dgraph Live should stop with a non-zero exit code or skip this n-quad. There are other errors that make Dgraph Live exit right away, e.g. #5778 or #5779.

Is someone looking into this?

This should be an easy fix. @Shekar Can we bring this into the sprint?