You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/09/03 07:06:15 UTC
svn commit: r1622162 - in /qpid/trunk/qpid/java/bdbstore/src:
main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/
test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/
Author: kwall
Date: Wed Sep 3 05:06:14 2014
New Revision: 1622162
URL: http://svn.apache.org/r1622162
Log:
QPID-6063: [Java Broker] Address review comments from Oleksandr Rudyy <or...@apache.org>
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java?rev=1622162&r1=1622161&r2=1622162&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java Wed Sep 3 05:06:14 2014
@@ -62,7 +62,6 @@ public class BDBHARemoteReplicationNodeI
private final AtomicReference<State> _state;
private final boolean _isMonitor;
- private boolean _detached;
private BDBHAVirtualHostNodeLogSubject _virtualHostNodeLogSubject;
private GroupLogSubject _groupLogSubject;
private volatile NodeRole _lastKnownRole;
@@ -254,16 +253,6 @@ public class BDBHARemoteReplicationNodeI
_state.compareAndSet(currentState, isActive ? State.ACTIVE : State.UNAVAILABLE);
}
- public boolean isDetached()
- {
- return _detached;
- }
-
- public void setDetached(boolean detached)
- {
- _detached = detached;
- }
-
@Override
public void onValidate()
{
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1622162&r1=1622161&r2=1622162&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java Wed Sep 3 05:06:14 2014
@@ -118,7 +118,6 @@ public class BDBHAVirtualHostNodeImpl ex
@ManagedAttributeField(afterSet="postSetPriority")
private int _priority;
-
@ManagedAttributeField(afterSet="postSetQuorumOverride")
private int _quorumOverride;
@@ -867,15 +866,16 @@ public class BDBHAVirtualHostNodeImpl ex
BDBHARemoteReplicationNodeImpl remoteNode = getChildByName(BDBHARemoteReplicationNodeImpl.class, node.getName());
if (remoteNode != null)
{
- NodeRole currentRole = remoteNode.getRole();
+ final NodeRole previousRole = remoteNode.getRole();
+ final NodeRole newRole;
if (nodeState == null)
{
- remoteNode.setRole(NodeRole.UNREACHABLE);
+ newRole = NodeRole.UNREACHABLE;
+ remoteNode.setRole(newRole);
remoteNode.setLastTransactionId(-1);
- if (!remoteNode.isDetached())
+ if (previousRole != NodeRole.UNREACHABLE)
{
getEventLogger().message(getGroupLogSubject(), HighAvailabilityMessages.LEFT(remoteNode.getName(), remoteNode.getAddress()));
- remoteNode.setDetached(true);
}
}
else
@@ -883,13 +883,15 @@ public class BDBHAVirtualHostNodeImpl ex
remoteNode.setJoinTime(nodeState.getJoinTime());
remoteNode.setLastTransactionId(nodeState.getCurrentTxnEndVLSN());
ReplicatedEnvironment.State state = nodeState.getNodeState();
- remoteNode.setRole(NodeRole.fromJeState(state));
- if (remoteNode.isDetached())
+ newRole = NodeRole.fromJeState(state);
+ remoteNode.setRole(newRole);
+
+ if (previousRole == NodeRole.UNREACHABLE)
{
getEventLogger().message(getGroupLogSubject(), HighAvailabilityMessages.JOINED(remoteNode.getName(), remoteNode.getAddress()));
- remoteNode.setDetached(false);
}
- if (ReplicatedEnvironment.State.MASTER.name().equals(remoteNode.getRole()))
+
+ if (NodeRole.MASTER == newRole)
{
byte[] applicationState = nodeState.getAppState();
Set<String> permittedNodes = ReplicatedEnvironmentFacade.convertApplicationStateBytesToPermittedNodeList(applicationState);
@@ -908,10 +910,12 @@ public class BDBHAVirtualHostNodeImpl ex
}
}
- NodeRole newRole = remoteNode.getRole();
- if (newRole != currentRole)
+ if (newRole != previousRole)
{
- getEventLogger().message(getGroupLogSubject(), HighAvailabilityMessages.ROLE_CHANGED(remoteNode.getName(), remoteNode.getAddress(), currentRole.name(), newRole.name()));
+ getEventLogger().message(getGroupLogSubject(), HighAvailabilityMessages.ROLE_CHANGED(remoteNode.getName(),
+ remoteNode.getAddress(),
+ previousRole.name(),
+ newRole.name()));
}
}
}
Modified: qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java?rev=1622162&r1=1622161&r2=1622162&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java Wed Sep 3 05:06:14 2014
@@ -24,6 +24,7 @@ import static org.mockito.Matchers.argTh
import static org.mockito.Mockito.*;
import java.util.Collections;
+import java.util.EnumSet;
import java.util.Map;
import org.apache.qpid.server.logging.EventLogger;
@@ -264,7 +265,7 @@ public class BDBHAVirtualHostNodeOperati
// close remote node
node2.close();
- waitForNodeDetachedField(remoteNode, true);
+ waitForRemoteNodeToAttainRole(remoteNode, EnumSet.of(NodeRole.DETACHED));
// verify that remaining node issues the DETACHED operational logging for remote node
String expectedMessage = HighAvailabilityMessages.LEFT(node2.getName(), node2.getAddress()).toString();
@@ -296,23 +297,25 @@ public class BDBHAVirtualHostNodeOperati
node2.close();
- waitForNodeDetachedField(remoteNode, true);
+ waitForRemoteNodeToAttainRole(remoteNode, EnumSet.of(NodeRole.DETACHED));
reset(_eventLogger);
- node2Attributes.put(BDBHAVirtualHostNode.PERMITTED_NODES, node1Attributes.get(BDBHAVirtualHostNode.PERMITTED_NODES));
+ node2Attributes.put(BDBHAVirtualHostNode.PERMITTED_NODES,
+ node1Attributes.get(BDBHAVirtualHostNode.PERMITTED_NODES));
node2 = (BDBHAVirtualHostNodeImpl)_helper.recoverHaVHN(node2.getId(), node2Attributes);
_helper.assertNodeRole(node2, NodeRole.REPLICA, NodeRole.MASTER);
- waitForNodeDetachedField(remoteNode, false);
+ waitForRemoteNodeToAttainRole(remoteNode, EnumSet.of(NodeRole.REPLICA, NodeRole.MASTER));
final String expectedMessage = HighAvailabilityMessages.JOINED(node2.getName(), node2.getAddress()).toString();
verify(_eventLogger).message(argThat(new LogSubjectMatcher(node1.getGroupLogSubject())),
argThat(new LogMessageMatcher(expectedMessage, HighAvailabilityMessages.JOINED_LOG_HIERARCHY)));
}
- private void waitForNodeDetachedField(BDBHARemoteReplicationNodeImpl remoteNode, boolean expectedDetached) throws InterruptedException {
+ private void waitForRemoteNodeToAttainRole(BDBHARemoteReplicationNode remoteNode, EnumSet<NodeRole> desiredRoles) throws Exception
+ {
int counter = 0;
- while (expectedDetached != remoteNode.isDetached() && counter<50)
+ while (!desiredRoles.contains(remoteNode.getRole()) && counter<50)
{
Thread.sleep(100);
counter++;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org