[
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 it, it throws 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 are added AFTER the
stop has completed or are 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 it, it throws 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.
> 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
> Time Spent: 50m
> Remaining Estimate: 0h
>
> 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 it, it throws
> 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 are added AFTER
> the stop has completed or are started after being stopped, they would prevent
> the process to stop.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)