@Override public String toString() { if (this.isLiveVector) { return "RegionVersionVector{rv" + this.localVersion + " gc" + this.localGCVersion + "}@" + System.identityHashCode(this); } else { return fullToString(); } }
@Override public String toString() { String descr = super.toString(); if (versionVector != null) { descr += "; versionVector=" + (RegionVersionVector.DEBUG ? versionVector.fullToString() : versionVector); } return descr; }
@Override public String toString() { String descr = super.toString(); if (eventState != null) { descr += "; eventCount=" + eventState.size(); } if (versionVector != null) { descr += "; versionVector=" + (RegionVersionVector.DEBUG ? versionVector.fullToString() : versionVector); } return descr; }
/** * Since version vectors aren't java.io.Serializable we use DataSerializer to return a serialized * form of the vector */ private static byte[] getCCRegionVersionVector() throws Exception { Object id = getMemberId(); int vm = VM.getCurrentVMNum(); logger.info( "vm" + vm + " with id " + id + " copying " + CCRegion.getVersionVector().fullToString()); RegionVersionVector vector = CCRegion.getVersionVector().getCloneForTransmission(); logger.info("clone is " + vector); HeapDataOutputStream dos = new HeapDataOutputStream(3000, Version.CURRENT); DataSerializer.writeObject(vector, dos); byte[] bytes = dos.toByteArray(); logger.info("serialized size is " + bytes.length); return bytes; }
logger.trace(LogMarker.PERSIST_WRITES_VERBOSE, "serializeRVVs: isGCRVV={} drId={} rvv={} oplog#{}", gcRVV, diskRegionID, rvv.fullToString(), getOplogId());
protected void saveReceivedRVV(RegionVersionVector rvv) { assert rvv != null; // Make sure the RVV is at least as current as // the provider's was when the GII began. This ensures that a // concurrent clear() doesn't prevent the new region's RVV from being // initialized and that any vector entries that are no longer represented // by stamps in the region are not lost if (logger.isTraceEnabled(LogMarker.INITIAL_IMAGE_VERBOSE)) { logger.trace(LogMarker.INITIAL_IMAGE_VERBOSE, "Applying received version vector {} to {}", rvv.fullToString(), region.getName()); } // TODO - RVV - Our current RVV might reflect some operations // that are concurrent updates. We want to keep those updates. However // it might also reflect things that we recovered from disk that we are going // to remove. We'll need to remove those from the RVV somehow. region.getVersionVector().recordVersions(rvv); if (region.getDataPolicy().withPersistence()) { region.getDiskRegion().writeRVV(region, false); region.getDiskRegion().writeRVVGC(region); } if (logger.isTraceEnabled(LogMarker.INITIAL_IMAGE_VERBOSE)) { logger.trace(LogMarker.INITIAL_IMAGE_VERBOSE, "version vector is now {}", region.getVersionVector().fullToString()); } }
if (logger.isTraceEnabled(LogMarker.RVV_VERBOSE) && getVersionVector() != null) { logger.trace(LogMarker.RVV_VERBOSE, "version vector for {} is {}", getName(), getVersionVector().fullToString());
rgn.getVersionVector().fullToString());
logger.trace(LogMarker.RVV_VERBOSE, "waiting for my version vector to dominate{}mine={}{} other={}", getLineSeparator(), getLineSeparator(), this.versionVector.fullToString(), rvv); if (isRvvDebugEnabled) { logger.trace(LogMarker.RVV_VERBOSE, "incrementing clearTimeouts for {} rvv={}", getName(), this.versionVector.fullToString());
rv1.recordVersion(server2, 5); rv1.recordVersion(server2, 8); System.out.println("for test (a) formed this RVV: " + rv1.fullToString()); System.out.println("for test (a) RVV is now: " + rv1.fullToString()); assertEquals(8, rv1.getVersionForMember(server2)); assertEquals(2, rv1.getExceptionCount(server2)); rv1.recordVersion(server2, 4); rv1.recordVersion(server2, 2); System.out.println("for test (a) RVV is now: " + rv1.fullToString()); assertEquals(1, rv1.getExceptionCount(server2)); rv1.recordVersion(server2, 6); rv1.recordVersion(server2, 7); System.out.println("for test (a) RVV is now: " + rv1.fullToString()); assertEquals(0, rv1.getExceptionCount(server2)); rv1.recordVersion(server2, 8); rv1.recordVersion(server2, 10); System.out.println("for test (b) formed this RVV: " + rv1.fullToString()); assertTrue(rv1.contains(server2, 1)); assertTrue(rv1.contains(server2, 5)); assertFalse(rv1.contains(server2, 11)); rv1.recordVersion(server2, 3); System.out.println("for test (b) RVV is now: " + rv1.fullToString()); assertTrue(rv1.contains(server2, 3)); rv1.recordVersion(server2, 2); System.out.println("for test (b) RVV is now: " + rv1.fullToString()); assertTrue(rv1.contains(server2, 2));