diff options
| author | Alex Rudyy <orudyy@apache.org> | 2014-10-02 11:57:59 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2014-10-02 11:57:59 +0000 |
| commit | eec5731347be2c4015854de2522fe6ec654f92e9 (patch) | |
| tree | d285c0dc94c1dd8540ebc216ebb547bad80bb85b /qpid/java/bdbstore | |
| parent | a638bc903339cac26e522df787ad4fcbca2344aa (diff) | |
| download | qpid-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.java | 29 |
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 |
