public void initializeVersionHolder(T mbr, RegionVersionHolder<T> otherHolder) { RegionVersionHolder<T> h = this.memberToVersion.get(mbr); if (h == null) { if (!mbr.equals(this.myId)) { h = otherHolder.clone(); h.makeReadyForRecording(); this.memberToVersion.put(mbr, h); } else { RegionVersionHolder<T> vh = otherHolder; long version = vh.version; updateLocalVersion(version); this.localExceptions.initializeFrom(vh); } } else { // holders must be modified under synchronization h.initializeFrom(otherHolder); } }
public void initializeVersionHolder(T mbr, RegionVersionHolder<T> otherHolder) { RegionVersionHolder<T> h = this.memberToVersion.get(mbr); if (h == null) { if (!mbr.equals(this.myId)) { h = otherHolder.clone(); h.makeReadyForRecording(); h.id = mbr; this.memberToVersion.put(mbr, h); } else { RegionVersionHolder<T> vh = otherHolder; long version = vh.version; updateLocalVersion(version); this.localExceptions.initializeFrom(vh); } } else { if (mbr.equals(this.myId)) { RegionVersionHolder<T> vh = otherHolder; long version = vh.version; updateLocalVersion(version); } // holders must be modified under synchronization h.initializeFrom(otherHolder); } }
public void reInitializeSnapshotRvv() { final GemFireCacheImpl cache = GemFireCacheImpl.getInstance(); if (cache != null && cache.snapshotEnabled()) { synchronized (this.memberToVersionSnapshot) { LogWriterI18n logger = getLoggerI18n(); if (DEBUG && logger != null) { logger.info(LocalizedStrings.DEBUG, "reInitializing the snapshot rvv, current: " + this.memberToVersionSnapshot + " with : " + memberToVersion + " localVersion " + getCurrentVersion() + " localException " + this.localExceptions); } for (Map.Entry<T, RegionVersionHolder<T>> entry : this.memberToVersion.entrySet()) { RegionVersionHolder holder = entry.getValue().clone(); holder.makeReadyForRecording(); holder.id = entry.getValue().id; this.memberToVersionSnapshot.put(entry.getKey(), holder); } // update the snapshot with local version too RegionVersionHolder holder = localExceptions.clone(); holder.makeReadyForRecording(); holder.id = myId; holder.version = getCurrentVersion(); this.memberToVersionSnapshot.put(myId, holder); if (DEBUG && logger != null) { logger.info(LocalizedStrings.DEBUG, "after reInitializing the snapshot : " + this.memberToVersionSnapshot); } } } }
public void testInitialize3() { RegionVersionHolder vh1 = new RegionVersionHolder(member); for(int i=0;i<=1074; i++) { vh1.recordVersion(i, null); } RegionVersionHolder vh2 = new RegionVersionHolder(member); vh2.recordVersion(1075,null); vh1.makeReadyForRecording(); vh2.initializeFrom(vh1.clone()); vh2.makeReadyForRecording(); vh2.recordVersion(1075,null); System.out.println("vh1" + vh2.clone()); // vh2.recordVersion(1098, null); // // System.out.println("vh1" + vh2.clone()); // System.out.println(vh2.contains(1097)); }