Bug #1974
closed
If an error happen during boostrap, the webapp starts but is in a zombie state and the error page is not displayed
Added by François ARMAND about 13 years ago.
Updated over 7 years ago.
Category:
System integration
Severity:
Major - prevents use of part of Rudder | no simple workaround
User visibility:
Getting started - demo | first install | level 1 Techniques
Description
Today, if there is an initialisation error in the inventory endpoint webapp or in Rudder webapp, the application container is nonetheless started but the application does not work. That is the expected behaviour (a servlet container may and generally run several application, it won't be good to have an error on one of them to shutdown the whole thing).
But in our case, we have one application container by application, and we manage the full environment. So it would be much much much more easy to diagnosis a boot error for an admin if the whole application was clearly stopped.
Option I see for now:
- a System.exit(Int)
- but that's bad because it brutally stops the servlet container, maybe letting open resources not cleaned
- a container proprietary method (to be investigated for Jetty)
- a syscall to a shell script that call the normal app container shutdown (well, I know, it's ugly, but it's the most configurable for an admin who want to add things for that case and portable and simple)
- Target version changed from 18 to 24
- Target version changed from 24 to Ideas (not version specific)
- Assignee deleted (
François ARMAND)
- Subject changed from Error in webapp bootstrap must prevent full application bootstrap to If an error happen during boostrap, the webapp starts but is in a zombie state
- Severity set to Minor - inconvenience | misleading | easy workaround
- User visibility set to Getting started - demo | first install | level 1 Techniques
- Severity changed from Minor - inconvenience | misleading | easy workaround to Major - prevents use of part of Rudder | no simple workaround
Making it major, because in fact, it is not easy to understand what goes wrong and what should be done. A lot of first time user get stuck at that point.
- Related to Bug #10430: Broken pages served by Rudder 4.1 with no explanation (missing JS/CSS due to unavailable LDAP server) added
- Subject changed from If an error happen during boostrap, the webapp starts but is in a zombie state to If an error happen during boostrap, the webapp starts but is in a zombie state and the error page is not displayed
- Priority set to 0
I'm updating the title to convey the other problem: we do have an error page displayed by apache if the webapp is down (answer 500 code or node up), but in the case at hand, we don't even have that page because the application replies, even if it's full of error or without CSS (because of #10430)
- Related to Bug #10567: Infinite "rudder is loading" page if rudder-init didn't run added
So, after looking to it with a fresh eyes, the problem is not in Jetty but in Lift, which is shadowing UnavailableException error and does as if everything is ok: https://groups.google.com/forum/#!topic/liftweb/BHYjE5C-kIk
Putting the bootstrap check out of Lift boot() method will do as we want.
- Category changed from Architecture - Code maintenance to System integration
- Assignee set to François ARMAND
- Target version changed from Ideas (not version specific) to 3.1.20
- Status changed from New to In progress
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Nicolas CHARLES
- Pull Request set to https://github.com/Normation/rudder/pull/1642
- Status changed from Pending technical review to Pending release
- Related to deleted (Bug #10430: Broken pages served by Rudder 4.1 with no explanation (missing JS/CSS due to unavailable LDAP server))
- Has duplicate Bug #10430: Broken pages served by Rudder 4.1 with no explanation (missing JS/CSS due to unavailable LDAP server) added
- Status changed from Pending release to Released
This bug has been fixed in Rudder 3.1.20, 4.0.5 and 4.1.2 which were released today.
- Related to Bug #15387: Clean-up Jetty abort on boot added
Also available in: Atom
PDF