@Override public RVVException changeForm() { //Convert the exception to a bitset exception RVVExceptionB ex = new RVVExceptionB(previousVersion, nextVersion); for(ReceivedVersionsIterator it = this.receivedVersionsIterator(); it.hasNext(); ) { long next = it.next(); ex.add(next); } return ex; }
public static RegionVersionVector<?> create(VersionSource<?> versionMember) { if(versionMember instanceof DiskStoreID) { return new DiskRegionVersionVector((DiskStoreID) versionMember); } else { return new VMRegionVersionVector((InternalDistributedMember) versionMember); } }
@Override public void memberDeparted(final InternalDistributedMember id, boolean crashed) { super.memberDeparted(id, crashed); removeOldMember(id); }
public VersionTag asVersionTag() { VersionTag tag = VersionTag.create(memberID); tag.setEntryVersion(getEntryVersion()); tag.setRegionVersion(this.regionVersionHighBytes, this.regionVersionLowBytes); tag.setVersionTimeStamp(getVersionTimeStamp()); tag.setDistributedSystemId(this.distributedSystemId); return tag; }
/** * set the versionTag on the newly faulted-in entry */ private void setVersionTag(RegionEntry re, VersionTag versionTag) { if (owner.concurrencyChecksEnabled) { versionTag.setMemberID( owner.getVersionVector().getCanonicalId(versionTag.getMemberID())); VersionStamp versionedRe = (VersionStamp) re; versionedRe.setVersions(versionTag); } }
public void recordRecoveredVersionTag(VersionTag tag) { this.versionVector.recordVersion(tag.getMemberID(), tag.getRegionVersion(), null); }
/** * Creates a version tag of the appropriate type, based on the member id * * @param memberId */ public static VersionTag create(VersionSource memberId) { VersionTag tag; if (memberId instanceof DiskStoreID) { tag = new DiskVersionTag(); } else { tag = new VMVersionTag(); } tag.setMemberID(memberId); return tag; }
/** Use this method to create a new RVVException */ static RVVException createException(long previousVersion, long nextVersion, long initialExceptionCount) { // arbitrary cutoff of 100 bytes to use a treeSet instead of bitSet // But if we are deserializing an exception too many received versions use a // bitset anyway. long delta = nextVersion - previousVersion; if (UseTreeSetsForTesting || ( delta > RVV_MAX_BITSET_SPAN && initialExceptionCount * 512 < delta )) { return new RVVExceptionT(previousVersion, nextVersion); } return new RVVExceptionB(previousVersion, nextVersion); }
public void testRVVExceptionB() { RVVExceptionB ex = new RVVExceptionB(5, 10); ex.add(8); ex.add(6); assertEquals(8, ex.getHighestReceivedVersion()); ex.add(5); assertEquals(8, ex.getHighestReceivedVersion()); }
public void testRegionVersionInTags() { VMVersionTag tag = new VMVersionTag(); long version = 0x8080000000L; tag.setRegionVersion(version); assertEquals("failed test for bug #48576", version, tag.getRegionVersion()); }
public void testRVVExceptionT() { RVVExceptionT ex = new RVVExceptionT(5, 10); ex.add(8); ex.add(6); assertEquals(8, ex.getHighestReceivedVersion()); } }
/** * return the current version for this member */ public long getCurrentVersion() { synchronized(localExceptions) { syncLocalVersion(); return localExceptions.getVersion(); } }
/** * Construct a region version holder that matches the seen revisions * passed in the bit set. * */ private RegionVersionHolder buildHolder(BitSet bs) { //Createa version holder RegionVersionHolder vh = new RegionVersionHolder(member); //Record all of the version in the holder recordVersions(vh, bs); //Make sure the holder looks matches the bitset. compareWithBitSet(bs, vh); return vh; }
public VersionTag asVersionTag() { VersionTag tag = VersionTag.create(memberID); tag.setEntryVersion(getEntryVersion()); tag.setRegionVersion(this.regionVersionHighBytes, this.regionVersionLowBytes); tag.setVersionTimeStamp(getVersionTimeStamp()); tag.setDistributedSystemId(this.distributedSystemId); return tag; }
/** * set the versionTag on the newly faulted-in entry */ private void setVersionTag(RegionEntry re, VersionTag versionTag) { if (owner.concurrencyChecksEnabled) { versionTag.setMemberID( owner.getVersionVector().getCanonicalId(versionTag.getMemberID())); VersionStamp versionedRe = (VersionStamp) re; versionedRe.setVersions(versionTag); } }
@Override public RVVException changeForm() { //Convert the exception to a bitset exception RVVExceptionB ex = new RVVExceptionB(previousVersion, nextVersion); for(ReceivedVersionsIterator it = this.receivedVersionsIterator(); it.hasNext(); ) { long next = it.next(); ex.add(next); } return ex; }
/** Use this method to create a new RVVException */ static RVVException createException(long previousVersion, long nextVersion, long initialExceptionCount) { // arbitrary cutoff of 100 bytes to use a treeSet instead of bitSet // But if we are deserializing an exception too many received versions use a // bitset anyway. long delta = nextVersion - previousVersion; if (UseTreeSetsForTesting || ( delta > RVV_MAX_BITSET_SPAN && initialExceptionCount * 512 < delta )) { return new RVVExceptionT(previousVersion, nextVersion); } return new RVVExceptionB(previousVersion, nextVersion); }
public static RegionVersionVector<?> create(VersionSource<?> versionMember, LocalRegion owner) { if(versionMember instanceof DiskStoreID) { return new DiskRegionVersionVector((DiskStoreID)versionMember, owner); } else { return new VMRegionVersionVector((InternalDistributedMember)versionMember, owner); } }
@Override public void memberDeparted(final InternalDistributedMember id, boolean crashed) { super.memberDeparted(id, crashed); removeOldMember(id); }
/** * return the current version for this member */ public long getCurrentVersion() { synchronized(localExceptions) { syncLocalVersion(); return localExceptions.getVersion(); } }