Skip to content

Conversation

@tillrohrmann
Copy link
Contributor

What is the purpose of the change

This commit changes the fencing behaviour such that a component which is not the
leader will set its fencing token to null. This distinction allows to throw different
exceptions depending on whether it is a token mismatch or whether the receiver has
no fencing token set (== not being the leader).

Brief change log

  • allow the fencing token to be null in FencedRpcEndpoint
  • allow FencedAkkaInvocationHandler to send a null fencing token
  • filter out messages if component is not a leader in FencedAkkaRpcActor
  • Adapt Dispatcher, ResourceManager and JobMaster to set fencing token to null at start-up

Verifying this change

This change is already covered by existing tests, such as FencedRpcEndpointTest and AsyncCallsTest.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
  • The serializers: (no)
  • The runtime per-record code paths (performance sensitive): (no)
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)

Documentation

  • Does this pull request introduce a new feature? (no)
  • If yes, how is the feature documented? (not applicable)

This commit changes the fencing behaviour such that a component which is not the
leader will set its fencing token to null. This distinction allows to throw different
exceptions depending on whether it is a token mismatch or whether the receiver has
no fencing token set (== not being the leader).
@tillrohrmann
Copy link
Contributor Author

Travis passed. Merging this PR.

@asfgit asfgit closed this in 42cc3a2 Sep 21, 2017
@tillrohrmann tillrohrmann deleted the defaultLeaderIds branch November 7, 2017 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants