CassandraSinkCluster: topology task now processes events #812
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
an is_up field is introduced so that nodes that are up/down can be noted as such without completely deleting the node, this will be useful for recovering from scenarios where all nodes go down. (even though there is no such logic for that yet)
Control node selection and regular message routing is changed to use is_up
Work left for future PRs
Currently the topology changes wont take affect until a new connection is made, a future PR will introduce logic to update existing connections.
Another case that is currently not handled yet is when the topology task's control connection goes down.
Currently that is undetectable because we rely on the control connections events.
I believe the solution to that will be transforms reporting timeouts to the topology task (done in a follow up PR)
Another solution could be having a backup control connection.
Because this PR is missing those features I cant integration test it yet without intermittent failures.
So lets try and land this now, and add integration tests when we complete the functionality.