[
https://issues.apache.org/jira/browse/ARTEMIS-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15415913#comment-15415913
]
clebert suconic commented on ARTEMIS-473:
-----------------------------------------
There's no way to determine that. We have to connection to the other server
when the other server is started. if we did we would be using shared storage..
So there is no way to determine which server to start.
We could give tools to admin to determine what is the last ID.
the reason for this is that if you kill the networking between live and backup
you will endup with two lives. Once a server is live there's no way for us to
bring it back to backup as it could lose data.
We could maybe add a configuration option to fix split brain scenarios and
merge both journals once each server sees each other. That's a major feature
though.
> Resolve split brain data after split brains scenarios.
> ------------------------------------------------------
>
> Key: ARTEMIS-473
> URL: https://issues.apache.org/jira/browse/ARTEMIS-473
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Components: Broker
> Affects Versions: 1.2.0
> Reporter: Miroslav Novak
> Priority: Critical
>
> if there are 2 live/backup pairs with replicated journal in colocated
> topology Artemis1(L1/B2) <-> Artemis2(L2/B1) then there is no easy way to
> start them if they're all shutdown.
> Problem is that there is no way how to start the servers with most up-to-date
> journal. If administrator shutdown servers in sequence Artemis1 and then
> Artemis 2. Then Artemis 2 has the most up-to-date journals because backup B1
> on server2 activated.
> Then If administrator decides to start Artemis2 then live L2 activates and
> backup B1 waits for live L1 in Artemis 1 to start. But once L1 starts then L1
> replicates its own "old" journal to B1.
> So L1 started with bad old journal. I would suggest that L1 and B1 compares
> theirs journals and figure out which one is more up-to-date. Then server with
> more up-to-date journal activates.
> In scenario described above it would be backup B1 which will activate first.
> Live L1 will synchronize its own journal from B1 and then failback happens.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)