You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Kafka gateway: Kafka OffsetCommit and OffsetFetch with persisted consumer offsets #3542
changed the title [-]feat(gateways): Kafka OffsetCommit and OffsetFetch with persisted consumer offsets[/-][+]Kafka gateway: Kafka OffsetCommit and OffsetFetch with persisted consumer offsets[/+]on Jun 24, 2026
The offset design in OFFSET_STORAGE.md won't work against the current server. I assume this is this allready known?
The plan is for the gateway to save Kafka offsets in the Iggy consumer group kafka.cg. without joining that group. But the server only accepts a group offset from a client that has joined the group and owns the partition. Anyone else gets error 5009 (ConsumerGroupPartitionNotOwned). The check is fence_group_offset in core/server/src/namespace.rs.
I tested this on server 0.9.0. Saving an offset without joining fails with 5009, even when the group has no members. Reading the offset without joining works.
So if OffsetCommit is built as the doc describes, every Kafka commit through the gateway will fail.
One fix is to skip the ownership check when the group has no members. An empty group would then act as a plain offset store. Would that be acceptable on the server side?
Activity
[-]feat(gateways): Kafka OffsetCommit and OffsetFetch with persisted consumer offsets[/-][+]Kafka gateway: Kafka OffsetCommit and OffsetFetch with persisted consumer offsets[/+]krishvishal commentedon Sep 30, 2026
I am picking this up.
justinmclean commentedon Oct 2, 2026
The offset design in OFFSET_STORAGE.md won't work against the current server. I assume this is this allready known?
The plan is for the gateway to save Kafka offsets in the Iggy consumer group kafka.cg. without joining that group. But the server only accepts a group offset from a client that has joined the group and owns the partition. Anyone else gets error 5009 (ConsumerGroupPartitionNotOwned). The check is fence_group_offset in core/server/src/namespace.rs.
I tested this on server 0.9.0. Saving an offset without joining fails with 5009, even when the group has no members. Reading the offset without joining works.
So if OffsetCommit is built as the doc describes, every Kafka commit through the gateway will fail.
One fix is to skip the ownership check when the group has no members. An empty group would then act as a plain offset store. Would that be acceptable on the server side?
krishvishal commentedon Oct 5, 2026
@justinmclean this PR #4392 should address the above concern. Let me know if this works.
feat(gateways): answer OffsetCommit and OffsetFetch (#4415)