From 1da81150d56306c7d8056407821c5e3fdafc8847 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 17 Jan 2025 19:10:00 -0800 Subject: [PATCH] Added timeout for Kafka producer. --- src/lib/kafka.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/kafka.ts b/src/lib/kafka.ts index 687825ca..b73e2d45 100644 --- a/src/lib/kafka.ts +++ b/src/lib/kafka.ts @@ -4,6 +4,9 @@ import { KAFKA, KAFKA_PRODUCER } from 'lib/db'; import * as tls from 'tls'; const log = debug('umami:kafka'); +const CONNECT_TIMEOUT = 5000; +const SEND_TIMEOUT = 3000; +const ACKS = 1; let kafka: Kafka; let producer: Producer; @@ -31,7 +34,7 @@ function getClient() { const client: Kafka = new Kafka({ clientId: 'umami', brokers: brokers, - connectionTimeout: 3000, + connectionTimeout: CONNECT_TIMEOUT, logLevel: logLevel.ERROR, ...ssl, }); @@ -71,7 +74,8 @@ async function sendMessage( value: JSON.stringify(message), }, ], - acks: 1, + timeout: SEND_TIMEOUT, + acks: ACKS, }); } @@ -83,7 +87,8 @@ async function sendMessages(topic: string, messages: { [key: string]: string | n messages: messages.map(a => { return { value: JSON.stringify(a) }; }), - acks: 1, + timeout: SEND_TIMEOUT, + acks: ACKS, }); }