activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (ARTEMIS-1112) EmbeddedJMS.start() doesn't return if shared-store master starts as backup server
Date Tue, 02 May 2017 13:15:04 GMT


ASF GitHub Bot commented on ARTEMIS-1112:

Github user bgutjahr commented on the issue:
    In the meantime, I have found a way to get what I want without changing Artemis code.
Not very nice, but seems to work: when I start a slave server, it automatically becomes live
when there is not live running. There is only one exception: on first startup when no live
has even been started, the slave waits for a live server to start before going into backup
mode. But in that case, the is no bindings directory. So my solution is to check for the existance
of a bindings directory and start a master server if it is missing. It becomes live and creates
the bindings directory. From then on, I always start slave servers.
    This means I won't need an Artemis enhancement. Personally, I would prefer that the start()
method doesn't block infinitely. I.e. start of a master server should return even if the master
becomes a backup; and start of a slave server should also become live even if no live server
has even run before. Even throwing an exception instead instead of blocking would be better
in my opinion).
    But since than behavior can't be changed due without breaking backwards compatibility,
I'll just use my own solution and check for the bindings directory.

> EmbeddedJMS.start() doesn't return if shared-store master starts as backup server
> ---------------------------------------------------------------------------------
>                 Key: ARTEMIS-1112
>                 URL:
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.5.4, 2.0.0
>            Reporter: Bernd Gutjahr
>            Priority: Minor
> EmbeddedServer.start() doesn't return when a share-store master server has been configured,
but at startup another server is already running as live server (i.e. another previously started
> In that case, this server becomes a backup server for the currently running live server.
The start() method hangs until the currently running live server stops and this server actually
becomes the new live server.
> This is inconsistent with starting a server as slave server, where the start method returns
and doesn't wait until the slave took over as live server.
> It also blocks the application that called EmbeddedServer.start() to proceed it's normal

This message was sent by Atlassian JIRA

View raw message