activemq-issues mailing list archives

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

    [ https://issues.apache.org/jira/browse/ARTEMIS-1112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15988839#comment-15988839
] 

ASF GitHub Bot commented on ARTEMIS-1112:
-----------------------------------------

Github user bgutjahr commented on the issue:

    https://github.com/apache/activemq-artemis/pull/1204
  
    I had also thought about putting the start call into thread. But that would lead to a
lifecyclt issue. Since EmbeddedServer start() and stop() methods are synchronized, I won't
be able to stop a backup server before it became live.
    
    I have started looking a bit more into Artemis code. So far I have just added an option
to the shared-store master configuration, prelimilarily named 'allow-as-backup'. This approach
appeared a (little) bit easier than adding a new policy class.


> EmbeddedJMS.start() doesn't return if shared-store master starts as backup server
> ---------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1112
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1112
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.5.4, 2.0.0
>            Reporter: Bernd Gutjahr
>            Priority: Minor
>             Fix For: 2.next
>
>
> 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
master).
> 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
operation.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message