Blizzard / node-rdkafka

Node.js bindings for librdkafka
MIT License
2.08k stars 391 forks source link

Some message is missing #1046

Open tuafree opened 9 months ago

tuafree commented 9 months ago

I sent one-by-one message to the producer, please see my code below,

const producer = new Kafka.Producer( { 'bootstrap.servers': ${process.env.KAFKA_SERVER}, 'sasl.username': ${process.env.KAFKA_USERNAME}, 'sasl.password': ${process.env.KAFKA_PASSWORD}, 'security.protocol': 'sasl_ssl', 'sasl.mechanisms': 'PLAIN', 'client.id': ${process.env.KAFKA_CLIENT_ID}, 'dr_cb': true, 'enable.idempotence': true }, { 'request.required.acks': -1, }, );

producer.setPollInterval(100);

producer.connect({}, (err, data) => {
  if (err) {
    console.log('CONNECT ERROR: ', err)
  }
});

producer.on('ready', async function () {
  const key: string = uuid + `-` + providerRefCode + `-` + Date.now();
  producer.produce(
    topic,
    -1,
    data,
    key,
    Date.now()
  );
  producer.poll();
});

producer.on('delivery-report', function (err, report) {
  if (err) {
    console.log('REPORT ERROR: ', JSON.stringify(err))
  }
  producer.disconnect();
});

producer.on('event.error', function (err) {
  console.error(err);
  if (err.code == -1) {
    producer.disconnect();
  }
});

I found some messages missing from the target database without an error message. How to find the root cause?