@Override public boolean destroy(EntryEventImpl event, boolean inTokenMode, boolean duringRI, boolean cacheWrite, boolean isEviction, Object expectedOldValue, boolean removeRecoveredEntry) throws CacheWriterException, EntryNotFoundException, TimeoutException { RegionMapDestroy regionMapDestroy = new RegionMapDestroy((InternalRegion) owner, this, this); return regionMapDestroy.destroy(event, inTokenMode, duringRI, cacheWrite, isEviction, expectedOldValue, removeRecoveredEntry); }
@Test public void destroyDoesNotLockGIIClearLockWhenRegionIsInitialized() throws Exception { DistributedRegion region = mock(DistributedRegion.class, RETURNS_DEEP_STUBS); when(region.isInitialized()).thenReturn(true); when(region.lockWhenRegionIsInitializing()).thenCallRealMethod(); RegionMapDestroy mapDestroy = new RegionMapDestroy(region, regionMap, mock(CacheModificationLock.class)); mapDestroy.destroy(event, inTokenMode, duringRI, cacheWrite, isEviction, expectedOldValue, removeRecoveredEntry); verify(region).lockWhenRegionIsInitializing(); assertThat(region.lockWhenRegionIsInitializing()).isFalse(); verify(region, never()).unlockWhenRegionIsInitializing(); }
@Test public void destroyLockGIIClearLockWhenRegionIsInitializing() throws Exception { DistributedRegion region = mock(DistributedRegion.class, RETURNS_DEEP_STUBS); when(region.isInitialized()).thenReturn(false); when(region.lockWhenRegionIsInitializing()).thenCallRealMethod(); RegionMapDestroy mapDestroy = new RegionMapDestroy(region, regionMap, mock(CacheModificationLock.class)); mapDestroy.destroy(event, inTokenMode, duringRI, cacheWrite, isEviction, expectedOldValue, removeRecoveredEntry); verify(region).lockWhenRegionIsInitializing(); assertThat(region.lockWhenRegionIsInitializing()).isTrue(); verify(region).unlockWhenRegionIsInitializing(); }
removeRecoveredEntry = false; regionMapDestroy = new RegionMapDestroy(owner, regionMap, mock(CacheModificationLock.class));