summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2015-01-22 10:52:14 +0000
committerAlex Rudyy <orudyy@apache.org>2015-01-22 10:52:14 +0000
commitc49ecca9140c49d761ec221279c93f46712993bc (patch)
tree22015d480b7c539cdc81ebe606c7283990752398 /qpid/java
parent5cdbf1f4f828d5e56605b52549a1b99e292d94ca (diff)
downloadqpid-python-c49ecca9140c49d761ec221279c93f46712993bc.tar.gz
QPID-6333: [Java Broker] Upgrade BDB JE version to 5.0.104
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1653808 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java7
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java9
-rw-r--r--qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java2
-rw-r--r--qpid/java/pom.xml1
4 files changed, 11 insertions, 8 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
index c1c06988a3..c151a594bf 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
@@ -392,6 +392,13 @@ public class ReplicatedEnvironmentFacade implements EnvironmentFacade, StateChan
}
}
+ if (dbe instanceof UnknownMasterException)
+ {
+ // when Master transits into Unknown state ( for example, due to mastership transfer)
+ // we need to abort any ongoing je operation without halting the Broker or VHN/VH
+ return new ConnectionScopedRuntimeException(String.format("Environment '%s' cannot finish JE operation because master is unknown", getNodeName()), dbe);
+ }
+
boolean restart = (noMajority || dbe instanceof RestartRequiredException);
if (restart)
{
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 3c6fe71319..2000897e87 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
@@ -636,12 +636,6 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
createReplicaVirtualHost();
}
-
- private void onDetached()
- {
- closeVirtualHostIfExist();
- }
-
private void createReplicaVirtualHost()
{
try
@@ -693,9 +687,10 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
onReplica();
break;
case DETACHED:
- onDetached();
+ closeVirtualHostIfExist();
break;
case UNKNOWN:
+ closeVirtualHostIfExist();
break;
default:
LOGGER.error("Unexpected state change: " + state);
diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
index 1f7a6ede94..f2ed48d2d9 100644
--- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
+++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
@@ -803,7 +803,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase
_replicaRolledback.countDown();
}
});
- assertTrue("Node 1 did not go into desired state",
+ assertTrue("Node 1 did not go into desired state and remained in state " + node1.getNodeState(),
node1StateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS));
assertTrue("Node 1 did not experience rollback within timeout",
_replicaRolledback.await(LISTENER_TIMEOUT, TimeUnit.SECONDS));
diff --git a/qpid/java/pom.xml b/qpid/java/pom.xml
index 0c9b1cb98e..6e0cde4434 100644
--- a/qpid/java/pom.xml
+++ b/qpid/java/pom.xml
@@ -73,6 +73,7 @@
<profile.broker.clean.between.tests>true</profile.broker.clean.between.tests>
<dollar.sign>$</dollar.sign>
<at.sign>@</at.sign>
+ <bdb-version>5.0.104</bdb-version>
</properties>
<modules>