nickva commented on issue #571: eunit context cleanup times out while cleaning up os daemons URL: https://github.com/apache/couchdb/issues/571#issuecomment-307010881 Took a look at this. Part of shutdown code is in `terminate` callback in `couch_os_daemons` module. In `terminate` each port is sequentially stopped. When stopping, it spawns an os process to run "kill -9 <pid>" then port is also closed with "port_close". Forking another process and the sequential part could take a while I suppose. In this particular case we can probably wrap the test teardown code iin a try/except and then if cleanup fails issue an `exit(OsDPid, kill)` signal. However speaking of timing, ran this on my laptop (5 year old Thinkpad, 1.9Ghz, Ubuntu 17.04) and the `should_spawn_multiple_daemons.` test finishes in `[0.006 s]` seconds. From the log above I see it finished in `[0.607 s]` on our test runner. That's over a 100x slowdown. It's not scientific, of course, but even so seems like a significant difference. Wonder if there is any way to guarantee a minimum performance profile in the test runners, or least abandon a test run if we see it's running at the speed of a pocket calculator. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
With regards, Apache Git Services
