summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-10-02 11:57:59 +0000
committerAlex Rudyy <orudyy@apache.org>2014-10-02 11:57:59 +0000
commiteec5731347be2c4015854de2522fe6ec654f92e9 (patch)
treed285c0dc94c1dd8540ebc216ebb547bad80bb85b /qpid/java/bdbstore
parenta638bc903339cac26e522df787ad4fcbca2344aa (diff)
downloadqpid-python-eec5731347be2c4015854de2522fe6ec654f92e9.tar.gz
QPID-6126: Invoke on-create validation after common validation, delete CO if creation fails on any stage
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1628952 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
index 98b9cc3cf0..4888965eec 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
@@ -283,10 +283,20 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
public void onCreate()
{
super.onCreate();
-
+ if (!isFirstNodeInAGroup())
+ {
+ _permittedNodes = new ArrayList<>(getPermittedNodesFromHelper());
+ }
getEventLogger().message(getVirtualHostNodeLogSubject(), HighAvailabilityMessages.CREATED());
}
+ @Override
+ public void onOpen()
+ {
+ validatePermittedNodesFormat(_permittedNodes);
+ super.onOpen();
+ }
+
protected ReplicatedEnvironmentFacade getReplicatedEnvironmentFacade()
{
return _environmentFacade.get();
@@ -421,13 +431,6 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
}
@Override
- public void onValidate()
- {
- super.onValidate();
- validatePermittedNodes(_permittedNodes);
- }
-
- @Override
protected void postResolve()
{
super.postResolve();
@@ -447,9 +450,7 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
if (!isFirstNodeInAGroup())
{
- // validate that helper address points to valid node
- // we need _permittedNodes for the further validation in onValidate
- _permittedNodes = new ArrayList<>(getPermittedNodesFromHelper());
+ getPermittedNodesFromHelper();
}
}
@@ -872,6 +873,11 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
}
}
+ validatePermittedNodesFormat(proposedPermittedNodes);
+ }
+
+ private void validatePermittedNodesFormat(Collection<String> proposedPermittedNodes)
+ {
for (String permittedNode: proposedPermittedNodes)
{
String[] tokens = permittedNode.split(":");
@@ -888,7 +894,6 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
throw new IllegalArgumentException(String.format("Invalid port is specified in permitted node '%s'. ", permittedNode));
}
}
-
}
private class RemoteNodesDiscoverer implements ReplicationGroupListener