db-migrate / db-migrate/node-db-migrate

EventEmitter memory leaks

オープン
#421 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
good first issue help wanted Refactoring
主要言語
JavaScript
スター
2.3k
フォーク
361
PR マージ指標
30日以内にマージされた PR はありません

説明

When using `db-migrate` programmatically for multiple databases, warnings are generated for EventEmitter leaks: `Warning: Possible EventEmitter memory leak detected. 11 unhandledRejection listeners added.`

Adding a `unregisterEvents` function to `api.js` should enable programmatic users to get around this. Such a function may also be used more generally to do proper cleanup.

Where `registerEvent()` is called:
https://github.com/db-migrate/node-db-migrate/blob/master/api.js#L136-L147

Where `registerEvents()` is defined:
https://github.com/db-migrate/node-db-migrate/blob/master/api.js#L136-L147
##

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/38131674-eventemitter-memory-leaks?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github).

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

api.js のリンク先にある registerEvent() と registerEvents() のコードから始め、複数のデータベースに対するプログラムからの使用を再現して、unhandledRejection listener の警告を観察します。そこで unregisterEvents() によるクリーンアップを定義し、繰り返し使用しても listener が蓄積せず、リーク警告も発生しないことを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, node.js
領域
api, backend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。