summaryrefslogtreecommitdiffstats
path: root/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml')
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml82
1 files changed, 82 insertions, 0 deletions
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
new file mode 100644
index 0000000000..65c509751c
--- /dev/null
+++ b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (thea
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<recovery_rules>
+
+ <!-- A new participant joins in the group -->
+ <rule name="Rule1" signaled_exception="org.apache.tuscany.sca.guardian.JoinException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupJoinedException" target_context="PRIMARY"/>
+ </participant>
+
+ <participant match="SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryExistsException" target_context="MAIN" min_participant_joined="2"/>
+ </participant>
+ </rule>
+
+ <!-- The Primary fails -->
+ <rule name="Rule2" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <participant match="*.BACKUP">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
+ <affected_participants>FIRST</affected_participants>
+ </throw_exception>
+ </participant>
+ </rule>
+
+ <!-- The Backup fails -->
+ <rule name="Rule3" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="PRIMARY"/>
+ </participant>
+
+ <participant match="SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+ </rule>
+
+ <!-- The Primary and Backup fail together -->
+ <rule name="Rule4" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryBackupFailedTogetherException">
+
+ <participant match="*.PRIMARY">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <!-- Backup signaler -->
+ <participant match="*.BACKUP,SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
+ </participant>
+
+ <!-- Excluding the backup signaler -->
+ <participant match="*.BACKUP,!SIGNALER">
+ <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
+ <affected_participants>FIRST</affected_participants>
+ </throw_exception>
+ </participant>
+
+ </rule>
+
+</recovery_rules>