Networking & DNS
Bug Report
Service won't restart with EADDRINUSE: an orphaned node process held the port, not TIME_WAIT
After a routine deploy our Node.js API failed to start with EADDRINUSE on port 3000. Everyone blamed TIME_WAIT. The real cause was the old node process surviving the restart, because systemd only killed the npm wrapper above it. How we proved it with ss and fixed the unit.