Hi Helix team,

We have configured the Helix state model so that there can only be one
master instance among the cluster participants. What is the
recommended approach in Helix to allow only the master instance to
edit a shared znode? We are trying to avoid split brain, i.e., many
masters editing the same znode.

Looking at ZooKeeper features we have at least the following approaches:

1. Znode ACLs. Helix controller edits the ACL before electing new
master. Only allow master node to edit the znode.
2. ZooKeeper session expiration: New master gets elected when old
master's session expires. Old master can't make edits with an expired
session.
3. Multi operation: Atomically check that node is still master and
edit the znode.

Does Helix provide any fencing mechanisms of its own?

Best regards,
Martin Yrjölä

Reply via email to