@SuppressWarnings("rawtypes") @Override protected VersionTag createVersionTag() { return new VMVersionTag(); }
public static VersionTag create(boolean persistent, DataInput in) throws IOException, ClassNotFoundException { VersionTag<?> tag; if (persistent) { tag = new DiskVersionTag(); } else { tag = new VMVersionTag(); } InternalDataSerializer.invokeFromData(tag, in); return tag; }
/** * Creates a version tag of the appropriate type, based on the member id * */ public static VersionTag create(VersionSource memberId) { VersionTag tag; if (memberId instanceof DiskStoreID) { tag = new DiskVersionTag(); } else { tag = new VMVersionTag(); } tag.setMemberID(memberId); return tag; }
@Test public void testRegionVersionInTags() { VMVersionTag tag = new VMVersionTag(); long version = 0x8080000000L; tag.setRegionVersion(version); assertEquals("failed test for bug #48576", version, tag.getRegionVersion()); }
@Test public void testRecordVersionDuringRegionInit() { LocalRegion mockRegion = mock(LocalRegion.class); when(mockRegion.isInitialized()).thenReturn(false); final String local = getIPLiteral(); InternalDistributedMember ownerId = new InternalDistributedMember(local, 101); VMVersionTag tag = new VMVersionTag(); tag.setRegionVersion(1L); RegionVersionVector rvv = createRegionVersionVector(ownerId, mockRegion); rvv.recordVersion(ownerId, tag); assertEquals(1, rvv.getVersionForMember(ownerId)); }
@Test public void recordVersionIntoLocalMemberShouldPassfRegionIsNonPersistent() { LocalRegion mockRegion = mock(LocalRegion.class); when(mockRegion.isInitialized()).thenReturn(true); when(mockRegion.getDataPolicy()).thenReturn(DataPolicy.REPLICATE); final String local = getIPLiteral(); InternalDistributedMember ownerId = new InternalDistributedMember(local, 101); RegionVersionVector rvv = createRegionVersionVector(ownerId, mockRegion); VMVersionTag tag = new VMVersionTag(); tag.setRegionVersion(1); tag.setMemberID(ownerId); rvv.recordVersion(ownerId, tag); assertEquals(1, rvv.getLocalExceptions().version); assertEquals(2, rvv.getNextVersion()); }