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

Reply via email to