db-migrate / db-migrate/node-db-migrate
EventEmitter memory leaks
- 主要言語
- 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