Hardcoded predicateMoveTimeout set to 2 hours

What version of Dgraph are you using?

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

Have you tried reproducing the issue with the latest release?


What is the hardware spec (RAM, OS)?

32cpu 32GiB ram x12 alphas (4 groups, 3 replicas) (384cpu, 384GiB total)

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

try to move a big tablet that takes 2hr.

Expected behaviour and actual result.

I expect the move should complete. Instead it fails.

There are a lot of flags, why not make this one not hard coded. I also see in master a new constant setting in tablet.go:

const (
	predicateMoveTimeout = 120 * time.Minute
	phaseOneThreshold    = 20 * time.Minute

Maybe make both of these flags so poor guys like me do not waste hours failing to move tablets. (though at least I see the phaseOneThreshold is not fatal if it is met.)

I gonna accept it to add to the backlog. Feel free to make a PR if you are willing to.