feat(gateways): Implement CreateTopics and Metadata Kafka Keys backed by the Iggy bridge - #4258
Merged
krishvishal merged 20 commits intoSep 28, 2026
Conversation
Wires the Kafka gateway's CreateTopics (apache#3538) and Metadata (apache#3534) handlers to the real Iggy bridge.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4258 +/- ##
=============================================
- Coverage 87.56% 27.59% -59.97%
- Complexity 1575 1576 +1
=============================================
Files 1284 1281 -3
Lines 225457 181924 -43533
Branches 188821 145288 -43533
=============================================
- Hits 197416 50203 -147213
- Misses 23314 129947 +106633
+ Partials 4727 1774 -2953
🚀 New features to boost your workflow:
|
numinnex
reviewed
Sep 22, 2026
Contributor
Author
|
/ready |
numinnex
reviewed
Sep 23, 2026
…f ssh://github.com/ryerraguntla/iggy into feat(gateways)/3534-3538-kafka-metadata-createtopics
Contributor
Author
|
/ready |
krishvishal
requested changes
Sep 24, 2026
krishvishal
left a comment
Member
There was a problem hiding this comment.
I request changes for the 20 warnings below.
The largest are the 100-name Metadata cap, the batch deadlines that drop finished results, and the configs rejection that breaks Kafka Connect.
…f ssh://github.com/ryerraguntla/iggy into feat(gateways)/3534-3538-kafka-metadata-createtopics
Contributor
Author
|
/ready |
1 similar comment
Contributor
Author
|
/ready |
Contributor
|
@ryerraguntla resolve the conflict and from my side it's good to go. |
numinnex
previously approved these changes
Sep 25, 2026
krishvishal
previously approved these changes
Sep 25, 2026
7 tasks
ryerraguntla
dismissed stale reviews from krishvishal and numinnex
via
September 25, 2026 23:28
6920b66
…f ssh://github.com/ryerraguntla/iggy into feat(gateways)/3534-3538-kafka-metadata-createtopics
krishvishal
approved these changes
Sep 27, 2026
spetz
approved these changes
Sep 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Wires the Kafka gateway's CreateTopics (#3538) and Metadata (#3534) handlers to the real Iggy bridge, instead of stub responses. Combined into one PR/branch because both touch IggyBridge::get_kafka_topic —
merging up front eliminates the duplicate-implementation risk a sequential rebase would have carried, rather than just deferring it.
With IGGY_KAFKA_BRIDGE_ENABLED=true:
With the bridge off (default), both remain stubs as before (CreateTopics → NOT_CONTROLLER, Metadata → every topic unknown).
Closes #3534, closes #3538.
Related to #3560
What's included
all above the cap), one wall-clock deadline over the request's aggregate bridge work (CreateTopics uses the wire timeout_ms, clamped [1s, 30s]; Metadata uses a fixed 20s, no timeout_ms field in its supported
versions).
expansion (up to 1000/topic) isn't priced by the pre-decode element-count bound in bounds_guard.rs.
Test plan
bridge_iggy_integration_tests.rs).
AI Usage
If AI tools were used, please answer: