Github user tdunning commented on the pull request:
https://github.com/apache/storm/pull/354#issuecomment-74326698
This is a bit late, but a ZK capability that might help with fencing is the
multi operation. What you can do is to a check on a leader election znode in
the same multi that you are doing a state update. If the leader election znode
does not have the expected value, the state update will not be done.
You may also be able to use version numbers to achieve the desired fencing.
You could do a read of the state, verify that the correct master is listed in
the state and then do a modify that requires a known version. This will fail
if somebody else has updated the state, but will succeed if the updating node
is still the master.
These sorts of guaranteed updates are more secure than most other forms of
fencing because they are guaranteed against race conditions, partitions and
time faults.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---