YAML config file with null fields should not be set

What version of Dgraph are you using?

Dgraph v21.03.0

Dgraph Version
$ dgraph version

Dgraph version   : v21.03.0
Dgraph codename  : rocket
Dgraph SHA-256   : 345a3f3be982ae8af8703a84c3ad690b10d95dcc12d77ab1e1e1735ccce656af
Commit SHA-1     : a77bbe8ae
Commit timestamp : 2021-04-07 21:36:38 +0530
Branch           : HEAD
Go version       : go1.16.3
jemalloc enabled : true

Have you tried reproducing the issue with the latest release?

Yes (v21.03 series)

What is the hardware spec (RAM, OS)?

64GB Linux

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

  1. Create this config file named alpha.yaml:
      secret_file: null
  2. Run Dgraph Alpha with the config file:
    dgraph alpha --config alpha.yaml
  3. Dgraph stops running with this config fatal message, saying it could not open the file null:
    F0510 12:00:29.101326  142681 utils_ee.go:40] error reading ACL secret key from file: /home/dmai/test/null: open /home/dmai/test/null: no such file or directory

Expected behaviour and actual result.

This config should be valid to run Dgraph. Any null fields in a config file (YAML, JSON, etc.) should be treated as unset.

In Dgraph v20.11 and earlier this config was valid.