sujitn opened a new pull request, #3038: URL: https://github.com/apache/iggy/pull/3038
Spike for Kafka wire protocol compatibility, discussed on Discord. Submitting as WIP for architectural feedback. Adds an in-process Kafka transport that accepts standard Kafka clients (kcat, librdkafka) on a configurable port. Translates Kafka protocol requests into direct shard API calls (append_messages, poll_messages), bypassing binary dispatch. Topic names map to Iggy topics within a configurable default stream. Supported: ApiVersions (v0-v3), Metadata (v1), Produce (v3), Fetch (v4), ListOffsets (v1), FindCoordinator (v0), CreateTopics (v0), DeleteTopics (v0). Verified end-to-end with kcat — metadata, produce, consume all work. Smoke test: ./scripts/test-kafka-transport.sh ``` [kafka] enabled = false address = "127.0.0.1:9092" default_stream = "kafka" auto_create_topics = true num_partitions = 1 max_request_size = 67108864 ``` ~40 additive lines touch existing files (ServerConfig field, IggyShard bound address, init_tasks block, config re-exports). Everything else is new code under core/server/src/kafka/. Not yet implemented: SASL, TLS, consumer group protocol, record key preservation, multi-shard listeners. Looking for feedback on the overall approach and module structure. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
