Skip to content

Producer queue full crashes the process instead of applying backpressure #81

Description

@lukashes

sendMessage treats every rd_kafka_produce failure the same (src/kafka/producer.zig:264-268). RD_KAFKA_RESP_ERR__QUEUE_FULL is a transient condition — the local queue is simply ahead of the broker — but it propagates as an error and the process exits.

No data is lost (the LSN is not confirmed, the batch is re-sent after restart) and each cycle makes progress, so under the current fail-fast policy this is acceptable. But under sustained bursts it means repeated restarts where a short blocking retry would do, and it will cap throughput against the Debezium-parity goal.

Ask: on __QUEUE_FULL, call rd_kafka_poll to drain delivery reports and retry the produce with a bounded backoff before giving up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions