/** * Get a map of member to the GC version of that member, including * the local member. */ public synchronized Map<T, Long> getMemberToGCVersion() { HashMap<T, Long> results = new HashMap<T, Long>(memberToGCVersion); if(localGCVersion.get() > 0) { results.put(getOwnerId(), localGCVersion.get()); } return results; }
public ConcurrentHashMap<T, Long> getMemberToGCVersionTest() { ConcurrentHashMap<T, Long> results = new ConcurrentHashMap<T, Long>(memberToGCVersion); if(localGCVersion.get() > 0) { results.put(getOwnerId(), localGCVersion.get()); } return results; }
/** * Get a map of the member to the version and exception list for that member, * including the local member. */ public Map<T, RegionVersionHolder<T>> getMemberToVersion() { RegionVersionHolder<T> myExceptions; myExceptions = this.localExceptions.clone(); HashMap<T, RegionVersionHolder<T>> results = new HashMap<T, RegionVersionHolder<T>>(memberToVersion); results.put(getOwnerId(), myExceptions); return results; }
/** * Get a map of member to the GC version of that member, including * the local member. */ public Map<T, Long> getMemberToGCVersion() { ObjectObjectHashMap<T, Long> results = ObjectObjectHashMap.from(memberToGCVersion); if(localGCVersion.get() > 0) { results.put(getOwnerId(), localGCVersion.get()); } return results; }
/** * return the next local version number */ private long getNextVersion(boolean checkLocked) { if (checkLocked && this.locked) { // this should never be the case. If version generation is locked and we get here // then the path to this point is not protected by getting the version generation // lock from the RVV but it should be if (logger.isDebugEnabled()) { logger.debug("Generating a version tag when version generation is locked by {}", this.lockOwner); } } long new_version = localVersion.incrementAndGet(); // since there could be special exception, we have to use recordVersion() recordVersion(getOwnerId(), new_version); return new_version; }
if (!mbr.equals(other.getOwnerId())) { return true;
if (!mbr.equals(other.getOwnerId())) { return true;
Long gcVersion = entry.getValue(); RegionVersionHolder<T> otherHolder = null; if (mbr.equals(other.getOwnerId())) { otherHolder = localExceptions; } else {
Long gcVersion = entry.getValue(); RegionVersionHolder<T> otherHolder = null; if (mbr.equals(other.getOwnerId())) { otherHolder = localExceptions; } else {
HashMap<DiskStoreID, RegionVersionHolder<DiskStoreID>> getAllMemberToVersion(RegionVersionVector rvv) { HashMap<DiskStoreID, RegionVersionHolder<DiskStoreID>> allMemberToVersion = new HashMap(rvv.getMemberToVersion()); RegionVersionHolder localHolder = rvv.getLocalExceptions().clone(); localHolder.setVersion(rvv.getCurrentVersion()); allMemberToVersion.put((DiskStoreID)rvv.getOwnerId(), localHolder); return allMemberToVersion; }
/** * Get a map of the member to the version and exception list for that member, * including the local member. */ public Map<T, RegionVersionHolder<T>> getMemberToVersion() { RegionVersionHolder<T> myExceptions; myExceptions = this.localExceptions.clone(); ObjectObjectHashMap<T, RegionVersionHolder<T>> results = ObjectObjectHashMap.from(memberToVersion); results.put(getOwnerId(), myExceptions); return results; }
initializeVersionHolder(otherVector.getOwnerId(), otherVector.localExceptions); !this.memberToVersion.containsKey(otherVector.getOwnerId())) { recordVersion(otherVector.getOwnerId(), otherVector.getCurrentVersion()); if (!otherVector.memberToVersion.containsKey(mbr) && !mbr.equals(otherVector.getOwnerId())) { RegionVersionHolder holder = this.memberToVersion.get(mbr); initializeVersionHolder(mbr, new RegionVersionHolder(0)); if (!otherVector.memberToVersion.containsKey(myId) && !myId.equals(otherVector.getOwnerId())) { initializeVersionHolder(myId, new RegionVersionHolder(0));
/** * return the next local version number */ private final long getNextVersion(boolean checkLocked, EntryEventImpl event) { if (checkLocked && this.locked) { // this should never be the case. If version generation is locked and we get here // then the path to this point is not protected by getting the version generation // lock from the RVV but it should be LogWriterI18n log = getLoggerI18n(); if (log != null && log.fineEnabled()) { log.fine("generating a version tag when version generation is locked by " + this.lockOwner, new Exception("Stack trace")); } } long new_version = localVersion.incrementAndGet(); // since there could be special exception, we have to use recordVersion() recordVersion(getOwnerId(), new_version, event); return new_version; }
initializeVersionHolder(otherVector.getOwnerId(), otherVector.localExceptions); !this.memberToVersion.containsKey(otherVector.getOwnerId())) { recordVersion(otherVector.getOwnerId(), otherVector.getCurrentVersion(), event); if (!otherVector.memberToVersion.containsKey(mbr) && !mbr.equals(otherVector.getOwnerId())) { RegionVersionHolder holder = this.memberToVersion.get(mbr); initializeVersionHolder(mbr, new RegionVersionHolder(0)); if (!otherVector.memberToVersion.containsKey(myId) && !myId.equals(otherVector.getOwnerId())) { initializeVersionHolder(myId, new RegionVersionHolder(0));
/** * reserves the next delta version numbers * required for tx when */ private final long getNextVersion(int delta, boolean checkLocked, EntryEventImpl event) { if (checkLocked && this.locked) { // this should never be the case. If version generation is locked and we get here // then the path to this point is not protected by getting the version generation // lock from the RVV but it should be LogWriterI18n log = getLoggerI18n(); if (log != null && log.fineEnabled()) { log.fine("generating a version tag when version generation is locked by " + this.lockOwner, new Exception("Stack trace")); } } long new_version = localVersion.addAndGet(delta); // since there could be special exception, we have to use recordVersion() recordVersion(getOwnerId(), new_version, event); return new_version; }
return true; } else if (mbr.equals(other.getOwnerId())){ if (holder.isNewerThanOrCanFillExceptionsFor(other.localExceptions)) { return true;
return true; } else if (mbr.equals(other.getOwnerId())){ if (holder.isNewerThanOrCanFillExceptionsFor(other.localExceptions)) { return true;
updateDiskGCRVV(diskRVV, inMemoryRVV, diskRVV.getOwnerId()); for (VersionSource member : (Collection<VersionSource>) inMemoryRVV .getMemberToGCVersion().keySet()) {
updateDiskGCRVV(diskRVV, inMemoryRVV, diskRVV.getOwnerId()); for (VersionSource member : (Collection<VersionSource>) inMemoryRVV .getMemberToGCVersion().keySet()) {
assertEquals(vm0RVV.getOwnerId(), new0RVV.getOwnerId());