GitHub user bgutjahr opened a pull request:
https://github.com/apache/activemq-artemis/pull/1246
ARTEMIS-1112: Added wait-for-activation option to shared-store master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup
behavior.
If this option is enabled, ActiveMQServer.start() with a shared-store
master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background
activation thread has been started.
The caller can use waitForActivation() to wait until server is activated,
or just check the current activation status.
This is slightly different from the previous proposal of having a
wait-for-failback option to just run backup startup in the background in case
there is already another live server running. The implementation for the
previous idea had a race condition: if 2 masters were started simultaneously,
both might not see the other and one would still infinitely wait to obtain the
live lock. So my new solution is to decouple startup into a background
activation thread in all cases, similar to how a backup server is started. I
have called the option wait-for-activation to be aligned with the
waitForActivation() method.
Please run the integration tests, since many of then fail on Windows. I
hope I didn't break something else.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/bgutjahr/activemq-artemis
enhanced-shared-store
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1246.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1246
----
commit 481486d14c4a9f27ba55ec31bcda188e4aaa9542
Author: Bernd Gutjahr <[email protected]>
Date: 2017-05-03T12:46:47Z
ARTEMIS-1112: Added wait-for-activation option to shared-store-master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup
behavior.
If this option is enabled, ActiveMQServer.start() with a shared-store
master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background
activation thread has been started.
The caller can use waitForActivation() to wait until server is activated,
or just check the current activation status.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---