/** * 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(); } }
assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty());
assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty());
assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(true, dr.wasAboutToDestroy());
assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); close(lr); assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); dr.forceIFCompaction(); assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); close(lr); assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); HashSet<PersistentMemberID> expSet2 = new HashSet<PersistentMemberID>(); expSet2.add(myEqualsId); expSet2.add(myOnId2); assertEquals(expSet2, dr.getOfflineAndEqualMembers()); close(lr); assertTrue(dr.getOnlineMembers().isEmpty()); assertEquals(expSet, dr.getOfflineMembers()); assertEquals(expSet2, dr.getOfflineAndEqualMembers()); dr.forceIFCompaction(); assertTrue(dr.getOnlineMembers().isEmpty()); assertEquals(expSet, dr.getOfflineMembers());
assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(myId, dr.getMyPersistentID()); assertEquals(false, dr.wasAboutToDestroy());