diff options
| author | Alan Conway <aconway@apache.org> | 2012-06-12 21:20:07 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-06-12 21:20:07 +0000 |
| commit | ed0d321d0ad56b9ea3d370d8b6b34fce2c8ef892 (patch) | |
| tree | 1e225776914dc5b14e0e38c8e2236d5ce144ac3b /cpp/src/qpid/ha/BrokerReplicator.cpp | |
| parent | c9fc98ae80a5d8c4f58541f9738aa975723ff3d6 (diff) | |
| download | qpid-python-ed0d321d0ad56b9ea3d370d8b6b34fce2c8ef892.tar.gz | |
QPID-3603: Introduced RemoteBackup to track backup status.
The primary creates RemoteBackup object for each connected or expected
backup. On first being promoted, the new primary has a RemoteBackup
for each of the known backups at the time of the failure.
The RemoteBackup manages queue guards for its backup and
tracks it's readiness.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1349540 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/ha/BrokerReplicator.cpp')
| -rw-r--r-- | cpp/src/qpid/ha/BrokerReplicator.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cpp/src/qpid/ha/BrokerReplicator.cpp b/cpp/src/qpid/ha/BrokerReplicator.cpp index 81667e0437..cbfd5b1f32 100644 --- a/cpp/src/qpid/ha/BrokerReplicator.cpp +++ b/cpp/src/qpid/ha/BrokerReplicator.cpp @@ -13,7 +13,7 @@ * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the + * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * @@ -292,7 +292,10 @@ void BrokerReplicator::doEventQueueDeclare(Variant::Map& values) { string name = values[QNAME].asString(); Variant::Map argsMap = asMapVoid(values[ARGS]); if (!replicationTest.isReplicated( - values[ARGS].asMap(), values[AUTODEL].asBool(), values[EXCL].asBool())) + CONFIGURATION, + values[ARGS].asMap(), + values[AUTODEL].asBool(), + values[EXCL].asBool())) return; if (values[DISP] == CREATED && replicationTest.replicateLevel(argsMap)) { framing::FieldTable args; @@ -441,9 +444,11 @@ void BrokerReplicator::doEventMembersUpdate(Variant::Map& values) { void BrokerReplicator::doResponseQueue(Variant::Map& values) { Variant::Map argsMap(asMapVoid(values[ARGUMENTS])); - if (!replicationTest.isReplicated(values[ARGUMENTS].asMap(), - values[AUTODELETE].asBool(), - values[EXCLUSIVE].asBool())) + if (!replicationTest.isReplicated( + CONFIGURATION, + values[ARGUMENTS].asMap(), + values[AUTODELETE].asBool(), + values[EXCLUSIVE].asBool())) return; framing::FieldTable args; amqp_0_10::translate(argsMap, args); |
