@Test public void txApplyDestroyCallsRemoveEntry_givenOldRegionEntry() throws Exception { givenLocalRegion(); givenConcurrencyChecks(); givenOldRegionEntry(); doTxApplyDestroy(); verify(oldRegionEntry, never()).makeTombstone(any(), any()); verify(oldRegionEntry, times(1)).removePhase1(same(owner), eq(false)); verify(oldRegionEntry, times(1)).removePhase2(); verify(regionMap, times(1)).removeEntry(eq(key), same(oldRegionEntry), eq(false)); }
@Test public void txApplyDestroyNeverCallsRemoveEntry_givenOldRegionEntryAndInTokenMode() throws Exception { givenLocalRegion(); givenConcurrencyChecks(); givenOldRegionEntry(); inTokenMode = true; doTxApplyDestroy(); verify(oldRegionEntry, never()).makeTombstone(any(), any()); verify(oldRegionEntry, never()).removePhase1(any(), anyBoolean()); verify(oldRegionEntry, never()).removePhase2(); verify(regionMap, never()).removeEntry(any(), any(), anyBoolean()); }
@Test public void txApplyDestroyCallsRemoveEntry_givenFactoryRegionEntryWithConcurrencyCheck() throws Exception { givenLocalRegion(); givenConcurrencyChecks(); givenFactoryRegionEntry(); doTxApplyDestroy(); verify(factoryRegionEntry, times(1)).removePhase1(same(owner), eq(false)); verify(factoryRegionEntry, times(1)).removePhase2(); verify(regionMap, times(1)).removeEntry(eq(key), same(factoryRegionEntry), eq(false)); }
@Test public void txApplyDestroyCallsRemoveEntry_givenExistingRegionEntryThatIsValidWithoutInTokenModeWithoutConcurrencyCheck() throws Exception { givenLocalRegion(); givenNoConcurrencyChecks(); givenExistingRegionEntry(); inTokenMode = false; doTxApplyDestroy(); verify(existingRegionEntry, times(1)).removePhase1(same(owner), eq(false)); verify(existingRegionEntry, times(1)).removePhase2(); verify(regionMap, times(1)).removeEntry(eq(key), same(existingRegionEntry), eq(false)); }
@Test public void txApplyDestroyCallsRescheduleTombstone_givenExistingRegionEntryThatIsValidWithoutInTokenModeWithConcurrencyCheckButNoVersionTag() throws Exception { givenLocalRegion(); givenConcurrencyChecks(); givenExistingRegionEntry(); inTokenMode = false; versionTag = null; doTxApplyDestroy(); verify(existingRegionEntry, times(1)).removePhase1(same(owner), eq(false)); verify(existingRegionEntry, times(1)).removePhase2(); verify(regionMap, times(1)).removeEntry(eq(key), same(existingRegionEntry), eq(false)); }
re.removePhase1(lr, true); } catch (RegionClearedException e) {
re.makeTombstone(owner, callbackEvent.getVersionTag()); } else { re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(); removeEntry(key, re, false); } else if (!inTokenMode) { oldRe.removePhase1(owner, false); // fix for bug 43063 oldRe.removePhase2(); removeEntry(key, oldRe, false); } else if (!inTokenMode) { newRe.removePhase1(owner, false); // fix for bug 43063 newRe.removePhase2(); removeEntry(key, newRe, false);