sidorares / sidorares/node-mysql2
node-mysql2 hangs for long time without showing anything
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.4k
- Forks
- 680
- Avg merge
- 9h 7m
- Merged PRs (30d)
- 59
Description
I have a script, that makes heavy use of node-mysql2. It inserts large number of rows into db, then proceeds to make further modifications to those rows. First part is run as separate promise with lots of async/await.
After the first part, during the early stages of second part script suddenly hangs (at first I attributed that to some kind of terminal IO glitch, but the behaviour is reproducible in different terminals both on Windows and Linux). mysql processlist looks like this
+-----+------+-----------+------+---------+------+-------+-----------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+-----+------+-----------+------+---------+------+-------+-----------------------+----------+
| 130 | root | localhost | basa | Sleep | 1 | | NULL | 0.000 |
| 133 | root | localhost | NULL | Query | 0 | init | SHOW FULL PROCESSLIST | 0.000 |
+-----+------+-----------+------+---------+------+-------+-----------------------+----------+
Interestingly, running the first and second part of script separately eliminates the issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by reducing the reported two-phase async/await script to a minimal reproduction and inspect the MySQL processlist while it hangs; done means the connection or query lifecycle causing the hang is identified and covered by a regression test or documented resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql, node.js
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100