As part of a cluster, I should be able to shutdown and let the other nodes continue my works gracefully.
In the tomcat we already have two entry points which participate to the lifecycle of the application.
- org.nuxeo.runtime.tomcat.NuxeoLauncher which is part of the container and handles lifecycle's events on the nuxeo's web context component
- org.nuxeo.runtime.deployment.NuxeoStarter which is part of the web application and handle the nuxeo's web context events.
The launcher is mainly responsible for preparing the environment for the web application. It's the starter which proceed with the runtime initialization and shutdown as part of the web application.
Once a shutdown is requested, tomcat is blocking new requests to the application and initiate the nuxeo's web context shutdown. Then the launcher is handled for preparing the shutdown before the starter being handled for the runtime shutdown. So problems comes from web requests in progress and asynchronous threads which could start at any time.
We want to wait for web requests currently in progress and stop running asynchronous works as soon as the launcher is handled for the shutdown.
- depends on
-
NXP-21977 identify all thread's entry points in nuxeo code base
- Resolved
-
NXP-21979 allow works queuing while disabling processing
- Resolved
- is related to
-
NXP-23520 Allow post-commit events during startup phase
- Open
-
NXP-22325 scheduler inialization error in postgresql cluster
- Resolved
-
NXP-22322 missing dependency in drive startup
- Resolved
-
NXP-22395 Fix Drive tests under mongodb
- Resolved
-
NXP-22595 MQueue WorkManager startup deadlock
- Resolved
-
NXP-22715 Workflows configured with Studio are not deployed
- Resolved
-
NXP-22107 Provides a WorkManager impl with Computation
- Resolved
- is required by
-
NXP-21005 service passivator could deadlock nuxeo when hot-reloading
- Resolved
-
NXP-22271 nuxeoctl standby / resume
- Open