-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test-run left running subprocesses alive after exiting by timeout #382
Comments
I looked over the luatest_server.py code and it seems the root of the problem is that it doesn't follow (Another option is to use The same change has sense for How test-run handles different timeoutstest-run has a carcade of increasing timeouts.
The idea here is to catch a problem as close as possible to its root.
This is the last resort timeout. It means that test-run is constructed with an idea that it should never occur. Hitting In the given case the problem is lack of Since the It seems move valuable to fix the cause of hitting However I have an idea here, which shouldn't be sophisticated: we can move each worker into its own process group/session and kill the entire group at hitting the timeout. However, it has its own consequences: shell's job control will not see the workers, so, for example, Ctrl+Z will not pause them. (It can be handled by re-sending a signal from the main process to the workers, though.) Footnotes
|
The implementation is borrowed from `lib/app_server.py`. Closes #382
I proposed a fix in PR #384. Sergey, please, take a look. Remember to add something like |
The implementation is borrowed from `lib/app_server.py`. Closes #382
Steps to reproduce:
Expected result
test-run exits by timeout, because "--no-output-timeout" is less than test duration, and kills all subprocesses
Actual result
test-run exits by timeout and left luatest process alive
See log:
Bug was found on debugging etcd-client tests in https://github.com/tarantool/tarantool-ee/pull/444.
The text was updated successfully, but these errors were encountered: