[ 
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)

Reply via email to