/** * 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(); } }
PersistentMemberID myId = dr.getMyPersistentID(); assertNotNull(myId); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty());
PersistentMemberID myId = dr.getMyPersistentID(); assertNotNull(myId); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty()); assertEquals(null, dr.getMyInitializingID()); assertEquals(myId, dr.getMyPersistentID()); assertTrue(dr.getOnlineMembers().isEmpty()); assertTrue(dr.getOfflineMembers().isEmpty()); assertTrue(dr.getOfflineAndEqualMembers().isEmpty());
public void run() { Cache cache = getCache(); PartitionedRegion region = (PartitionedRegion) cache.getRegion(PR_REGION_NAME); DiskRegion disk = region.getRegionAdvisor().getBucket(bucketId).getDiskRegion(); for(PersistentMemberID id : disk.getOnlineMembers()) { disk.memberOfflineAndEqual(id); } for(PersistentMemberID id : disk.getOfflineMembers()) { disk.memberOfflineAndEqual(id); } cache.close(); } });
dr.memberOffline(myOffId); dr.memberOfflineAndEqual(myEqualsId); assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); 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()); assertEquals(TestUtils.asSet(myOnId, myOnId2), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualsId), dr.getOfflineAndEqualMembers()); HashSet<PersistentMemberID> expSet = new HashSet<PersistentMemberID>(); expSet.add(myOffId); expSet.add(myOnId); assertTrue(dr.getOnlineMembers().isEmpty()); assertEquals(expSet, dr.getOfflineMembers()); HashSet<PersistentMemberID> expSet2 = new HashSet<PersistentMemberID>(); assertTrue(dr.getOnlineMembers().isEmpty()); assertEquals(expSet, dr.getOfflineMembers()); assertEquals(expSet2, dr.getOfflineAndEqualMembers()); dr.forceIFCompaction(); assertTrue(dr.getOnlineMembers().isEmpty());
dr.memberOffline(myOffId); dr.memberOfflineAndEqual(myEqualId); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.emptySet(), dr.getOnlineMembers()); assertEquals(Collections.emptySet(), dr.getOfflineMembers()); assertEquals(Collections.emptySet(), dr.getOfflineAndEqualMembers()); assertEquals(Collections.emptySet(), dr.getOnlineMembers()); assertEquals(Collections.emptySet(), dr.getOfflineMembers()); assertEquals(Collections.emptySet(), dr.getOfflineAndEqualMembers());
dr.memberOffline(myOffId); dr.memberOfflineAndEqual(myEqualId); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers()); assertEquals(Collections.singleton(myOnId), dr.getOnlineMembers()); assertEquals(Collections.singleton(myOffId), dr.getOfflineMembers()); assertEquals(Collections.singleton(myEqualId), dr.getOfflineAndEqualMembers());