/** * Make sure if we have multiple init file with the same ds name that ds creation fails. * See bug 41883. */ public void testTwoIFFiles() throws Exception { diskProps.setPersistBackup(true); diskProps.setRegionName("testTwoIFFiles"); diskProps.setDiskDirs(dirs); LocalRegion lr = (LocalRegion)DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, diskProps, Scope.LOCAL); DiskRegion dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); PersistentMemberID myId = dr.getMyPersistentID(); assertNotNull(myId); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); // do recovery close(lr); assertEquals(true, (new File(dirs[0], "BACKUPtestTwoIFFiles.if")).exists()); File extraIF = new File(dirs[1], "BACKUPtestTwoIFFiles.if"); extraIF.createNewFile(); try { lr = (LocalRegion)DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, diskProps, Scope.LOCAL); fail("expected IllegalStateException"); } catch (IllegalStateException expected) { } finally { extraIF.delete(); } }
DiskRegion dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); PersistentMemberID myId = dr.getMyPersistentID(); assertNotNull(myId); assertTrue(dr.getOnlineMembers().isEmpty()); dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty());
DiskRegion dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); PersistentMemberID myId = dr.getMyPersistentID(); assertNotNull(myId); assertTrue(dr.getOnlineMembers().isEmpty()); dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty());
PersistentMemberID myId = createNewPMID(); assertEquals(null, dr.getMyInitializingID()); PersistentMemberID oldId = dr.getMyPersistentID(); dr.setInitializing(myId); assertEquals(myId, dr.getMyInitializingID()); assertEquals(oldId, dr.getMyPersistentID()); close(lr); dr = lr.getDiskRegion(); assertEquals(myId, dr.getMyInitializingID()); assertEquals(oldId, dr.getMyPersistentID()); assertEquals(oldId, dr.getMyPersistentID()); close(lr); dr = lr.getDiskRegion(); assertEquals(myId, dr.getMyInitializingID()); assertEquals(oldId, dr.getMyPersistentID()); assertEquals(myId, dr.getMyPersistentID()); close(lr); dr = lr.getDiskRegion(); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(myId, dr.getMyPersistentID()); close(lr);
assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); close(lr); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); close(lr); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy());
assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(false, dr.wasAboutToDestroyDataStorage()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(true, dr.wasAboutToDestroyDataStorage()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(true, dr.wasAboutToDestroyDataStorage()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(true, dr.wasAboutToDestroyDataStorage()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(true, dr.wasAboutToDestroyDataStorage());
logger.debug("DistributedRegion.getInitialImageAndRecovery: Finished Recovery"); persistentId = dskRgn.getMyPersistentID();
oldId = this.diskRegion.getMyPersistentID();
DiskRegion dskRgn = getDiskRegion(); if (dskRgn != null && recoverFromDisk) { persistentId = dskRgn.getMyPersistentID();
oldId = this.diskRegion.getMyPersistentID();