You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Francesco Nigro (Jira)" <ji...@apache.org> on 2021/10/20 13:11:00 UTC
[jira] [Resolved] (ARTEMIS-3030) Journal lock evaluation fails when
NFS is temporarily disconnected
[ https://issues.apache.org/jira/browse/ARTEMIS-3030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Nigro resolved ARTEMIS-3030.
--------------------------------------
Resolution: Information Provided
> Journal lock evaluation fails when NFS is temporarily disconnected
> ------------------------------------------------------------------
>
> Key: ARTEMIS-3030
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3030
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.16.0
> Reporter: Apache Dev
> Assignee: Francesco Nigro
> Priority: Blocker
>
> Same scenario of ARTEMIS-2421.
> If network between Live Broker (B1) and NFS Server is disconnected (for example rejecting its TCP packets with iptables), after the lock lease timeout this happens:
> * Backup server (B2) becomes Live
> * When NFS connectivity of B1 is restored, B1 remains Live
> So both broker are live.
> Issue seems caused by \{{java.nio.channels.FileLock#isValid}} used in \{{org.apache.activemq.artemis.core.server.impl.FileLockNodeManager#isLiveLockLost}}, because it is always returning true, even if in the meanwhile the lock was lost and taken by B2.
> Do you suggest to use specific mount options for NFS?
> Or the lock evaluation should be replaced with a more reliable mechanism? We notice that \{{FileLock#isValid}} is returning a cached value (true), even when NFS connectivity is down, so it would be better to use a validation mechanism that forces querying the NFS server.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)