Summary: | koha-plack --stop should make sure that Plack really stop | ||
---|---|---|---|
Product: | Koha | Reporter: | Pongtawat <pongtawat> |
Component: | Architecture, internals, and plumbing | Assignee: | Pongtawat <pongtawat> |
Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
Severity: | normal | ||
Priority: | P5 - low | CC: | barton, jonathan.druart, jsterben, julian.maurice, katrin.fischer, kyle, m.de.rooy, magnus, mtj, veron |
Version: | master | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16885 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18998 |
||
Change sponsored?: | --- | Patch complexity: | Trivial patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Bug Depends on: | |||
Bug Blocks: | 31348 | ||
Attachments: |
Unverified patch
Add retry to koha-plack stop Bug 17814: koha-plack --stop should make sure that Plack really stop Bug 17814: koha-plack --stop should make sure that Plack really stop |
Description
Pongtawat
2016-12-26 10:43:59 UTC
Created attachment 58427 [details] [review] Unverified patch A simple patch follows that in #16885. If it work there, it should work here too. But not yet verified. Should this be "Needs signoff"? Or is it too early yet? I think that --restart also has this issue. Here's a paste from a recent restart: sudo koha-plack --restart glenoaks [....] Restarting Plack daemon for glenoaks:[....] Stopping Plack daemon for gle[ ok :. [FAIL] Error: Plack already running for glenoaks: failed! failed! Won't --restart work properly if stop work properly? From the code, it seems that --restart just call stop and then start. TEST PLAN --------- 1) Login to staff client and do something that will hold connection for a long time, e.g. a batch import or a slow report. 2) sudo koha-plack --stop mykoha 3) ps aux | grep plack <-- a Plack process will still running work in 1) 4) wait for 1) to finish and all Plack processes exit 5) sudo koha-plack --start mykoha 6) apply the patch 7) repeat step 1)-2) 8) ps aux | grep plack <-- There should be no Plack process running now 9) Note that work in step 1) might get terminated midway. Since we force Plack to stop after some wait. Alternatively, I think we can test with --restart too. Before patch, it should behave like in comment 3. After patch, it should restart properly. With this patch, I'm running without problem for a month. So, just hope this get merged in. Created attachment 61845 [details] [review] Add retry to koha-plack stop Created attachment 61927 [details] [review] Bug 17814: koha-plack --stop should make sure that Plack really stop Followed test plan in comment #5. Signed-off-by: Marc Véron <veron@veron.ch> Created attachment 62421 [details] [review] Bug 17814: koha-plack --stop should make sure that Plack really stop koha-plack --stop doesn't ensure that Plack was really stopped before returning So in case that koha-plack --stop was quickly follows by koha-plack --start (e.g. logrotate), it could leave Plack in stop state. This is due to koha-plack --start think that Plack was already started, while it actually is being stopped. For me I think this is the cause why I got random Plack stop when logrotate is run. It should be similar to the case of Zebra in Bug #16885, and the solution might be the same: adding "--retry=TERM/30/KILL/5;" to start-stop-daemon command. TEST PLAN --------- 1) Login to staff client and do something that will hold connection for a long time, e.g. a batch import or a slow report. 2) sudo koha-plack --stop mykoha 3) ps aux | grep plack <-- a Plack process will still running work in 1) 4) wait for 1) to finish and all Plack processes exit 5) sudo koha-plack --start mykoha 6) apply the patch 7) repeat step 1)-2) 8) ps aux | grep plack <-- There should be no Plack process running now 9) Note that work in step 1) might get terminated midway. Since we force Plack to stop after some wait. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Pushed to master for 17.05, thanks Pongtawat! Thx Pongtawat! This patch has been pushed to 16.11.x and will be in 16.11.07. Pushed to 16.05.x, for 16.05.12 release Pushed to 3.22.x for 3.22.21 |