protected StringBuilder appendFieldsToString(final StringBuilder sb) { // OFFHEAP _getValue ok: the current toString on ObjectChunk is safe to use without incing // refcount. sb.append("key=").append(getKey()).append("; rawValue=").append(getValue()); VersionStamp stamp = getVersionStamp(); if (stamp != null) { sb.append("; version=").append(stamp.asVersionTag()).append(";member=") .append(stamp.getMemberID()); } return sb; }
VersionSource stampID = stamp.getMemberID(); if (stampID == null) { stampID = dmId;
byte[] serializeVersionTag(VersionStamp stamp) throws IOException { int entryVersion = stamp.getEntryVersion(); long regionVersion = stamp.getRegionVersion(); VersionSource versionMember = stamp.getMemberID(); long timestamp = stamp.getVersionTimeStamp(); int dsId = stamp.getDistributedSystemId(); return serializeVersionTag(entryVersion, regionVersion, versionMember, timestamp, dsId); }
RegionEntry mapEntry = it.next(); VersionStamp<?> stamp = mapEntry.getVersionStamp(); VersionSource<?> id = stamp.getMemberID(); if (id == null) { id = myId;
RegionEntry mapEntry = (RegionEntry) it.next(); VersionStamp<?> stamp = mapEntry.getVersionStamp(); VersionSource<?> id = stamp.getMemberID(); if (id == null) { id = myId; logger.trace(LogMarker.INITIAL_IMAGE_VERBOSE, "Region:{} found unfinished operation key={},member={},region version={}", region.getFullPath(), mapEntry.getKey(), stamp.getMemberID(), stamp.getRegionVersion());
} else { VersionSource stampID = stamp.getMemberID(); if (stampID == null) { stampID = dmId;
if (vs.getMemberID() == null) { throw new AssertionError( "Version stamp should have a member at this point for entry " + entry);
@Override public void handleRegionEntry(RegionEntry regionEntry) { DiskEntry de = (DiskEntry) regionEntry; synchronized (de) { DiskId id = de.getDiskId(); if (id != null && regionEntry.isTombstone()) { VersionStamp stamp = regionEntry.getVersionStamp(); if (getRegionVersionVector().isTombstoneTooOld(stamp.getMemberID(), stamp.getRegionVersion())) { drs.destroyRecoveredEntry(de.getKey()); } } } } });
private VersionTag getVersionTagFromStamp(VersionStamp stamp) { VersionTag tag = VersionTag.create(stamp.getMemberID()); tag.setEntryVersion(stamp.getEntryVersion()); tag.setRegionVersion(stamp.getRegionVersion()); tag.setVersionTimeStamp(stamp.getVersionTimeStamp()); tag.setDistributedSystemId(stamp.getDistributedSystemId()); return tag; }
private boolean shouldClear(LocalRegion r, RegionVersionVector rvv, AsyncDiskEntry ade) { if (ade.region != r) { return false; } // If no RVV, remove all of the async items for this region. if (rvv == null) { return true; } // If we are clearing based on an RVV, only remove // entries contained in the RVV if (ade.versionOnly) { return rvv.contains(ade.tag.getMemberID(), ade.tag.getRegionVersion()); } else { VersionStamp stamp = ade.de.getVersionStamp(); VersionSource member = stamp.getMemberID(); if (member == null) { // For overflow only regions, the version member may be null // because that represents the local internal distributed member member = r.getVersionMember(); } return rvv.contains(member, stamp.getRegionVersion()); } }
private void copyRecoveredEntry(RegionEntry oldRe, RegionEntry newRe) { if (newRe.getVersionStamp() != null) { newRe.getVersionStamp().setMemberID(oldRe.getVersionStamp().getMemberID()); newRe.getVersionStamp().setVersions(oldRe.getVersionStamp().asVersionTag()); } if (newRe instanceof AbstractOplogDiskRegionEntry) { ((AbstractOplogDiskRegionEntry) newRe).setDiskId(oldRe); _getOwner().getDiskRegion().replaceIncompatibleEntry((DiskEntry) oldRe, (DiskEntry) newRe); } getEntryMap().put(newRe.getKey(), newRe); }
if (entry.getVersionStamp().getMemberID() == null) { throw new AssertionError( "Version stamp should have a member at this point for entry " + entry);
if (entry.getVersionStamp().getMemberID() == null) { throw new AssertionError( "Version stamp should have a member at this point for entry " + entry);
synchronized (mapEntry) { // bug #46042 must sync to make sure the tag goes with VersionSource<?> id = stamp.getMemberID(); if (id == null) { id = myId;
private void applyVersionTag(InternalRegion region, VersionStamp stamp, VersionTag tag, InternalDistributedMember sender) { VersionSource mbr = tag.getMemberID(); if (mbr == null) { mbr = sender; } mbr = region.getVersionVector().getCanonicalId(mbr); tag.setMemberID(mbr); stamp.setVersions(tag); if (tag.hasPreviousMemberID()) { if (tag.getPreviousMemberID() == null) { tag.setPreviousMemberID(stamp.getMemberID()); } else { tag.setPreviousMemberID( region.getVersionVector().getCanonicalId(tag.getPreviousMemberID())); } } }
VersionSource id = re.getVersionStamp().getMemberID(); if (id == null) { id = myId;
RegionVersionVector rvv = imageState.getClearRegionVersionVector(); if (rvv != null) { // a filtered clear VersionSource id = getVersionStamp().getMemberID(); if (id == null) { id = region.getVersionMember();
v -= 0x1000000; // roll-over VersionSource previous = stamp.getMemberID();
rvv.recordVersion(entry.getVersionStamp().getMemberID(), entry.getVersionStamp().getRegionVersion());
if (tag != null && stamp != null && (stamp.getMemberID() != tag.getMemberID() || stamp.getRegionVersion() != tag.getRegionVersion())) { DiskEntry.Helper.doAsyncFlush(tag, region);