@514labs/moose-lib 0.6.256 → 0.6.257

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,7 @@ __export(commons_exports, {
42
42
  antiCachePath: () => antiCachePath,
43
43
  cliLog: () => cliLog,
44
44
  compilerLog: () => compilerLog,
45
+ createProducerConfig: () => createProducerConfig,
45
46
  getClickhouseClient: () => getClickhouseClient,
46
47
  getFileName: () => getFileName,
47
48
  getKafkaClient: () => getKafkaClient,
@@ -64,18 +65,25 @@ function isTruthy(value) {
64
65
  function mapTstoJs(filePath) {
65
66
  return filePath.replace(/\.ts$/, ".js").replace(/\.cts$/, ".cjs").replace(/\.mts$/, ".mjs");
66
67
  }
67
- async function getKafkaProducer(cfg, logger) {
68
- const kafka = await getKafkaClient(cfg, logger);
69
- const producer = kafka.producer({
68
+ function createProducerConfig(maxMessageBytes) {
69
+ return {
70
70
  kafkaJS: {
71
- idempotent: true,
71
+ idempotent: false,
72
+ // Not needed for at-least-once delivery
72
73
  acks: ACKs,
73
74
  retry: {
74
75
  retries: MAX_RETRIES_PRODUCER,
75
76
  maxRetryTime: MAX_RETRY_TIME_MS
76
77
  }
77
- }
78
- });
78
+ },
79
+ "linger.ms": 0,
80
+ // This is to make sure at least once delivery with immediate feedback on the send
81
+ ...maxMessageBytes && { "message.max.bytes": maxMessageBytes }
82
+ };
83
+ }
84
+ async function getKafkaProducer(cfg, logger, maxMessageBytes) {
85
+ const kafka = await getKafkaClient(cfg, logger);
86
+ const producer = kafka.producer(createProducerConfig(maxMessageBytes));
79
87
  await producer.connect();
80
88
  return producer;
81
89
  }