What Redlock Assumes

A team is proposing Redlock across five independent Redis masters to guard a job that rewrites a file in object storage. More than one of these statements is true. Select all of them.

A

The Redis documentation itself tells you to implement fencing tokens for work that can take significant time.

B

Each successful acquisition returns a number that is strictly greater than the previous one, which the storage layer can use to reject stale writers.

C

Its mutual exclusion argument holds only while the client finishes its work inside the validity time computed at acquisition, minus a margin for clock drift between processes.

D

Redis expires the lock key against a wall clock, not a monotonic clock, so an operator or NTP moving the system time can let two processes hold the lock at once.

E

Acquiring on 3 of 5 independent masters makes the lock safe against an arbitrarily long pause in the client that holds it.