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.
Progress towards #1526
This PR implements "Extended shotover nodes config" and "Message rewriting" from #1526
But it leaves "Rack aware routing" for follow up work.
The old message rewriting implementation was quite hacky, it attempted to assign various kafka roles (coordinators, controllers etc) to different shotover nodes but with only a poor understanding of what the shotover cluster looks like (no broker ids)
However I believe this PR gives us a much more robust implementation.
This is because we now have an exact model of our shotover cluster and can return that in our metadata.
cluster_2_racks_single_shotover is deleted since the case no longer makes sense. When kafka is configured with racks we need one shotover node per rack however this test case has 2 racks but only one shotover node.
I'm hopeful this PR will also fix the java driver cluster issues, but I wont get into that rabbit hole until this PR lands.