Skip to content

Conversation

@santanusinha
Copy link
Contributor

Right now, all executors send updates to ZK. With clusters having many nodes or running many containers that are constantly in a state of flux, this creates a lot of write pressure on zk. This PR addresses this issue by implementing a RemoteNodeDataStore implementation in the executor with the following behaviour:

  • Implement a new config option called remoteUpdateMode in ExecutorOptions that can be set to STORE or RPC (default)
  • STORE is the legacy behaviour and it will lead the executor to send updates via ZK
  • RPC mode (the default behaviour going forward) will lead to updates being sent over HTTP to the leader controller via the existing communicator. In case update fails or there is an exception in the update path, updates will be sent via the store (ZK)

Calls to removeNodes will lead to an error and calls to nodes will be routed via ZK.

The Guice Module has been updated to create appropriate objects.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants