diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/com/amazon/carbonado/repo/replicated/TestRepair.java | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/src/test/java/com/amazon/carbonado/repo/replicated/TestRepair.java b/src/test/java/com/amazon/carbonado/repo/replicated/TestRepair.java index c993e4b..2594810 100644 --- a/src/test/java/com/amazon/carbonado/repo/replicated/TestRepair.java +++ b/src/test/java/com/amazon/carbonado/repo/replicated/TestRepair.java @@ -490,28 +490,34 @@ public class TestRepair extends TestCase { // Resync to repair.
- Trigger trigger = null;
+ class Prevent extends Trigger {
+ boolean didRun;
+
+ @Override
+ public Object beforeDelete(Object s) throws PersistException {
+ didRun = true;
+ throw new PersistException("Cannot delete me!");
+ }
+ }
+
+ Prevent prevent = null;
if (preventDelete) {
- // The resync will try to delete the corrupt replica entries, but
- // this trigger will cause the delete to fail. Instead, the resync
- // will skip over these entries instead of crashing outright.
- trigger = new Trigger() {
- @Override
- public Object beforeDelete(Object s) throws PersistException {
- throw new PersistException("Cannot delete me!");
- }
- };
- storage0.addTrigger(trigger);
+ // This is a partially vestigial test. It used to be the case that
+ // triggers would run during a resync or replication repair. This
+ // is no longer the case. Instead, use this as an opportunity to
+ // ensure the trigger does not run.
+ prevent = new Prevent();
+ storage0.addTrigger(prevent);
}
ResyncCapability cap = mReplicated.getCapability(ResyncCapability.class);
cap.resync(type0, 1.0, null);
if (preventDelete) {
- // If this point is reached, the resync didn't crash, but it hasn't
- // actually repaired the broken records. Remove the trigger and do
- // the resync again.
- storage0.removeTrigger(trigger);
+ // Again, this is a partially vestigial test. The trigger should
+ // not have run at all during the resync.
+ assertFalse(prevent.didRun);
+ storage0.removeTrigger(prevent);
cap.resync(type0, 1.0, null);
}
|
