From 47f4dbe2dcddfb126b77209182ead53a4ddee942 Mon Sep 17 00:00:00 2001 From: Theo Butler Date: Tue, 21 Nov 2023 08:49:55 -0500 Subject: [PATCH] fix: avoid sending Kafka messages that are too large (#421) --- graph-gateway/src/reports.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/graph-gateway/src/reports.rs b/graph-gateway/src/reports.rs index 8880ff9e..8c706b72 100644 --- a/graph-gateway/src/reports.rs +++ b/graph-gateway/src/reports.rs @@ -33,6 +33,12 @@ impl KafkaClient { } pub fn send(&self, topic: &str, payload: &[u8]) { + // Don't bother attepting to send messages that the broker should reject. + const MAX_MSG_BYTES: usize = 1 << 20; + if payload.len() > MAX_MSG_BYTES { + tracing::warn!(kafka_producer_err = "msg too big"); + } + let record = rdkafka::producer::BaseRecord::<'_, (), [u8]>::to(topic).payload(payload); if let Err((kafka_producer_err, _)) = self.producer.send(record) { tracing::error!(%kafka_producer_err, %topic);