[
https://issues.apache.org/jira/browse/ARTEMIS-2912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Nigro updated ARTEMIS-2912:
-------------------------------------
Description:
Run::execute:
# start a broker
# add several external components while starting them right after
If the broker is getting started and, right before activating, throw an
exception (eg on NodeManager::start), its process won't be stopped because the
ActivationFailureListener won't get triggered.
if the broker is getting started and, right before activating, throw an
exception AND raise an I/O critical error (eg JdbcNodeManager:.start), a
separate Thread would race to stop the broker external components while they
are being added (and started): if some of these components is added AFTER the
stop has completed or is started after being stopped, they would prevent the
process to stop.
was:
Run::execute:
# start a broker
# add several external components while starting them right after
If the broker is getting started and, right before activating, throw an
exception (eg on NodeManager::start), its process won't be stopped because the
ActivationFailureListener won't get triggered.
if the broker is getting started and, right before activating, throw an
exception AND raise an I/O critical error (eg JdbcNodeManager:.start), a
separate Thread would race to stop the external component while are being added
(and started): if some of these components is added AFTER the stop has
completed or is started after being stopped, they would prevent the process to
stop.
> Server start exception before activation can cause a zombie broker
> ------------------------------------------------------------------
>
> Key: ARTEMIS-2912
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2912
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Reporter: Francesco Nigro
> Priority: Major
>
> Run::execute:
> # start a broker
> # add several external components while starting them right after
> If the broker is getting started and, right before activating, throw an
> exception (eg on NodeManager::start), its process won't be stopped because
> the ActivationFailureListener won't get triggered.
> if the broker is getting started and, right before activating, throw an
> exception AND raise an I/O critical error (eg JdbcNodeManager:.start), a
> separate Thread would race to stop the broker external components while they
> are being added (and started): if some of these components is added AFTER the
> stop has completed or is started after being stopped, they would prevent the
> process to stop.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)