MCPcopy Create free account
hub / github.com/Openpanel-dev/openpanel / isFatalProducerError

Function isFatalProducerError

packages/queue/src/kafka.ts:154–170  ·  view source on GitHub ↗
(err: unknown)

Source from the content-addressed store, hash-verified

152const FATAL_PRODUCER_ERROR_CODES = new Set<number>([45, 46, 47, 65]);
153
154const isFatalProducerError = (err: unknown): boolean => {
155 if (!err || typeof err !== 'object') {
156 return false;
157 }
158 const name = (err as { name?: string }).name;
159 // Retries-exceeded leaves the idempotent producer's sequence state
160 // suspect (broker may have persisted a batch we gave up on), so treat
161 // it as fatal-for-this-producer too.
162 if (name === 'KafkaJSNumberOfRetriesExceeded') {
163 return true;
164 }
165 if (name === 'KafkaJSProtocolError') {
166 const code = (err as { code?: number }).code;
167 return typeof code === 'number' && FATAL_PRODUCER_ERROR_CODES.has(code);
168 }
169 return false;
170};
171
172const resetProducer = (broken: Producer): void => {
173 if (producer !== broken) {

Callers 1

produceIncomingEventFunction · 0.85

Calls 1

hasMethod · 0.80

Tested by

no test coverage detected