public void run() { RegionEntry entry = CCRegion.getRegionEntry("cckey0"); assertTrue(entry.getVersionStamp().getEntryVersion() == 1); } });
public void run() { RegionEntry entry = CCRegion.getRegionEntry("cckey0"); assertTrue(entry.getVersionStamp().getEntryVersion() == 1); } });
protected HashMap<String, VersionTag> saveVersionTags(LocalRegion region) { HashMap<String, VersionTag> tagmap = new HashMap<String, VersionTag>(); Iterator entryItr = region.entrySet().iterator(); while (entryItr.hasNext()) { RegionEntry entry = ((NonTXEntry)entryItr.next()).getRegionEntry(); String key = (String)entry.getKey(); VersionTag tag = entry.getVersionStamp().asVersionTag(); tagmap.put(key, tag); } return tagmap; }
public void run() { assertEquals("loadedValue", CCRegion.get(loadKey)); assertEquals(3, (CCRegion.getRegionEntry(loadKey)).getVersionStamp().getEntryVersion()); } });
public void run() { assertEquals("loadedValue", CCRegion.get(loadKey)); assertEquals(3, (CCRegion.getRegionEntry(loadKey)).getVersionStamp().getEntryVersion()); } });
/** * returns a map of keys->versiontags for the test region */ public static Map<String, VersionTag> getCCRegionVersions() { Map result = new HashMap(); for (Iterator i=CCRegion.entrySet().iterator(); i.hasNext(); ) { Region.Entry e = (Region.Entry)i.next(); result.put(e.getKey(), CCRegion.getRegionEntry(e.getKey()).getVersionStamp().asVersionTag()); } return result; }
protected 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); } _getMap().put(newRe.getKey(), newRe); }
public Object call() throws Exception { Region region = getCache().getRegion("region"); Map map = new HashMap(); map.put(0, "a"); map.put(113, "b"); region.putAll(map); RegionEntry entry = ((LocalRegion)region).getRegionEntry(0); assertNotNull(entry); assertNotNull(entry.getVersionStamp()); assertEquals(2, entry.getVersionStamp().getEntryVersion()); return null; } });
public Object call() throws CacheException { Region region = getRootRegion().getSubregion(regionName); assertEquals(numberOfEntries*2, region.size()); List<VersionTag> versions = new ArrayList<VersionTag>(numberOfEntries*2); RegionMap entries = ((LocalRegion) region).entries; for (Object key : entries.keySet()) { RegionEntry internalRegionEntry = entries.getEntry(key); versions.add(internalRegionEntry.getVersionStamp().asVersionTag()); } return versions; } });
/** local regions do not perform versioning */ protected boolean shouldGenerateVersionTag(RegionEntry entry, EntryEventImpl event) { if (this.getDataPolicy().withPersistence()) { return true; } else { return this.concurrencyChecksEnabled && (entry.getVersionStamp().hasValidVersion() || this.dataPolicy.withReplication()); } }
@Override public Object call() throws Exception { Region n = getCache().getRegion(regionNameNormal); VersionTag localTag = ((LocalRegion)n).getRegionEntry("key") .getVersionStamp().asVersionTag(); assertEquals(tag.getEntryVersion(), localTag.getEntryVersion()); assertEquals(tag.getRegionVersion(), localTag.getRegionVersion()); return null; } });
public void run() { Cache cache = getCache(); LocalRegion region = (LocalRegion) cache.getRegion(REGION_NAME); region.put(0, "value3"); RegionEntry entry = region.getRegionEntry(0); entry = region.getRegionEntry(0); //Sneak in and change the version number for an entry to generate //a conflict. VersionTag tag = entry.getVersionStamp().asVersionTag(); tag.setEntryVersion(tag.getEntryVersion() - 2); entry.getVersionStamp().setVersions(tag); } };
public void run() { Cache cache = getCache(); LocalRegion region = (LocalRegion) cache.getRegion(REGION_NAME); region.put(0, "value3"); RegionEntry entry = region.getRegionEntry(0); entry = region.getRegionEntry(0); //Sneak in and change the version number for an entry to generate //a conflict. VersionTag tag = entry.getVersionStamp().asVersionTag(); tag.setEntryVersion(tag.getEntryVersion() - 2); entry.getVersionStamp().setVersions(tag); } };
@Override public Object call() throws Exception { LocalRegion r = (LocalRegion)getCache().createRegionFactory( RegionShortcut.REPLICATE).create(regionName); r.put("key", "value"); return r.getRegionEntry("key").getVersionStamp().asVersionTag(); } });
@Override public void run2() throws CacheException { Cache cache = getCache(); Region region = cache.getRegion("prRegion"); Region.Entry entry = ((PartitionedRegion)region).getEntry("testKey", null, true /*Entry is destroyed*/); RegionEntry re = ((EntrySnapshot)entry).getRegionEntry(); getLogWriter().fine("RegionEntry for testKey: " + re.getKey() + " " + re.getValueInVM((LocalRegion) region)); assertTrue(re.getValueInVM((LocalRegion) region) instanceof Tombstone); VersionTag tag = re.getVersionStamp().asVersionTag(); assertEquals(3 /*Two puts and a Destroy*/, tag.getEntryVersion()); } });
public boolean isTombstoneNotNeeded(RegionEntry re, int destroyedVersion) { // no need for synchronization - stale values are okay here // GFXD can return RegionEntry itself in getKey() call that fails when sent // to HDFS due to serialization attempt (#49887) RegionEntry actualRe = getEntry( getEntryNeedKeyCopy() ? re.getKeyCopy() : re.getKey()); // TODO this looks like a problem for regionEntry pooling if (actualRe != re) { // null actualRe is okay here return true; // tombstone was evicted at some point } int entryVersion = re.getVersionStamp().getEntryVersion(); boolean isSameTombstone = (entryVersion == destroyedVersion && re.isTombstone()); return !isSameTombstone; }
public void handleRegionEntry(RegionEntry re) { DiskEntry de = (DiskEntry)re; synchronized (de) { DiskId id = de.getDiskId(); if (id != null && re.isTombstone()) { VersionStamp stamp = re.getVersionStamp(); if(getRegionVersionVector().isTombstoneTooOld(stamp.getMemberID(), stamp.getRegionVersion())) { drs.destroyRecoveredEntry(de.getKeyCopy()); } } } } });
public void handleRegionEntry(RegionEntry re) { DiskEntry de = (DiskEntry)re; synchronized (de) { DiskId id = de.getDiskId(); if (id != null && re.isTombstone()) { VersionStamp stamp = re.getVersionStamp(); if(getRegionVersionVector().isTombstoneTooOld(stamp.getMemberID(), stamp.getRegionVersion())) { drs.destroyRecoveredEntry(de.getKey()); } } } } });
public static void verifyTimestampAfterOp(long timestamp, int memberid) { Region region = cache.getRegion("repRegion"); assertEquals(0, region.size()); Region.Entry entry = ((LocalRegion)region).getEntry("testKey", null, true); RegionEntry re = ((EntrySnapshot)entry).getRegionEntry(); assertTrue(re.getValueInVM((LocalRegion) region) instanceof Tombstone); VersionTag tag = re.getVersionStamp().asVersionTag(); assertEquals(timestamp, tag.getVersionTimeStamp()); assertEquals(memberid, tag.getDistributedSystemId()); } }
public static long getVersionTimestampAfterOp() { Region region = cache.getRegion("repRegion"); assertEquals(1, region.size()); region.destroy("testKey"); Region.Entry entry = ((LocalRegion)region).getEntry("testKey", null, true); RegionEntry re = ((EntrySnapshot)entry).getRegionEntry(); getLogWriter().fine("RegionEntry for testKey: " + re.getKey() + " " + re.getValueInVM((LocalRegion) region)); assertTrue(re.getValueInVM((LocalRegion) region) instanceof Tombstone); VersionTag tag = re.getVersionStamp().asVersionTag(); return tag.getVersionTimeStamp(); }