Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Disconnected Consumers Continue To Take Up Space in Heap

Aperta
#369 1 commento 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
kafka, node.js, typescript

Direzione di ricerca

Inizia riproducendo il ciclo di vita segnalato con i punti di ingresso Consumer.connect() e Consumer.disconnect(), acquisendo heap snapshots tra le creazioni dei Consumer come descritto. Traccia ciò che rimane trattenuto dopo la disconnessione; il lavoro è completato quando cicli ripetuti di connessione/disconnessione non trattengono più circa 1 MB per Consumer.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Environment Information

  • OS: Windows 11
  • Node Version: 22.7.0
  • NPM Version: 10.8.2
  • C++ Toolchain: Visual Studio Code
  • confluent-kafka-javascript version: 1.4.1

Steps to Reproduce

  1. Take a snapshot of the heap usage
  2. Initialize a new Kafka Consumer
  3. Call the Consumer.connect() method
  4. Call the Consumer.disconnect() method
  5. Take a snapshot of the updated heap usage
for(let i = 0; i < 10; i++) {
  const consumer =  kafka.consumer({ kafkaJS: { groupId: `Group-${i}`, fromBeginning: false} });
  await consumer.connect();
  await consumer.disconnect();
}

Running the above snippet and taking heap snapshots between each consumer creation shows that around 1 MB of memory is retained for each disconnected consumer. This can add up over time if an application needs to spin up a large number of consumers.

Comparing the latest heap snapshot to the initial the largest size delta is in the Array constructor which added 7.2MB.

Comparing each snapshot to the previous one shows the same. The Array constructor has the largest size delta and increases at a consistent rate between snapshots.

Image
Lingua principale
TypeScript
Stelle
305
Fork
46
Merge medio
10h 46m
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di confluentinc/confluent-kafka-javascript

Tutte le issue di confluentinc/confluent-kafka-javascript

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.