loopbackio / loopbackio/loopback-connector-postgresql
PG DataSource Error handler throwing memory leak warning
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 118
- Forks
- 184
- Ø Merge
- 1 T. 22 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
Steps to reproduce
- Add onError handler in DataSource for Loopback Connector Postgresql.
- Use DataSource on frequent manner.
- It should throw warnings like
(node:80014) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Client]. Use emitter.setMaxListeners() to increase limit
(More details to reproduce the issue are provided in the README.md file in the sandbox repository)
Current Behavior
It doesn't remove the attached error event listeners while releasing the connection back to pool.
Expected Behavior
It should remove attached event listener before releasing connection back to pool.
Link to reproduction sandbox
https://github.com/vinod-hansda/loopback-pg-warning
Additional information
node -e 'console.log(process.platform, process.arch, process.versions.node)' :-
darwin arm64 18.20.6
npm ls --prod --depth 0 | grep loopback :-
npm warn config production Use --omit=dev instead.
loopback-pg@0.0.1 /Users/vinodhansda/Documents/GitHub/loopback-pg-warning
├── @loopback/boot@5.0.10
├── @loopback/core@4.0.10
├── @loopback/repository@5.1.5
├── @loopback/rest-explorer@5.0.10
├── @loopback/rest@12.0.10
├── @loopback/service-proxy@5.0.10
├── loopback-connector-postgresql@7.1.9
Related Issues
See Reporting Issues for more tips on writing good issues
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Verwende die verlinkte Sandbox und ihre README, um die MaxListenersExceededWarning mit einer PostgreSQL DataSource und einem onError-Handler zu reproduzieren. Untersuche dann den Release-Pfad des Connection-Pools des Connectors; abgeschlossen ist die Aufgabe, wenn bei wiederholter Verwendung keine Error-Listener mehr angesammelt werden, bevor eine Verbindung an den Pool zurückgegeben wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, nodejs, postgresql
- Bereich
- database
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100