@Override protected CacheOperationMessage createMessage() { TombstoneMessage mssg = new TombstoneMessage(); // mssg.regionVersion = this.regionVersion; mssg.regionGCVersions = this.regionGCVersions; mssg.eventID = this.event.getEventId(); mssg.op = this.op; return mssg; }
@Override public boolean hasSeenEvent(InternalCacheEvent event) { EventID eventID = event.getEventId(); if (ignoreEvent(event, eventID)) { return false; // not tracked } return hasSeenEvent(eventID, event); }
@Override protected CacheOperationMessage createMessage() { ClearRegionMessage mssg; if (this.event instanceof ClientRegionEventImpl) { mssg = new ClearRegionWithContextMessage(); ((ClearRegionWithContextMessage) mssg).context = ((ClientRegionEventImpl) this.event).getContext(); } else { mssg = new ClearRegionMessage(); } mssg.clearOp = this.operation; mssg.eventID = this.event.getEventId(); mssg.rvv = this.rvv; mssg.owner = this; mssg.operationTag = this.operationTag; return mssg; }
@Test public void hasSeenEventReturnsFalseForEventWithNoID() { InternalCacheEvent event = mock(InternalCacheEvent.class); when(event.getEventId()).thenReturn(null); assertFalse(eventTracker.hasSeenEvent(event)); }
EventID eventID = event.getEventId();
@Override public void recordEvent(InternalCacheEvent event) { EventID eventID = event.getEventId(); if (ignoreEvent(event, eventID)) { return; // not tracked } LocalRegion lr = (LocalRegion) event.getRegion(); ThreadIdentifier membershipID = createThreadIDFromEvent(eventID); VersionTag tag = null; if (lr.getServerProxy() == null) { tag = event.getVersionTag(); RegionVersionVector v = ((LocalRegion) event.getRegion()).getVersionVector(); canonicalizeIDs(tag, v); } EventSequenceNumberHolder newEvh = new EventSequenceNumberHolder(eventID.getSequenceID(), tag); if (logger.isTraceEnabled()) { logger.trace("region event tracker recording {}", event); } recordSequenceNumber(membershipID, newEvh); // If this is a bulkOp, and concurrency checks are enabled, we need to // save the version tag in case we retry. // Make recordBulkOp version tag after recordSequenceNumber, so that recordBulkOpStart // in a retry bulk op would not incorrectly remove the saved version tag in // recordedBulkOpVersionTags if (lr.getConcurrencyChecksEnabled() && (event.getOperation().isPutAll() || event.getOperation().isRemoveAll()) && lr.getServerProxy() == null) { recordBulkOpEvent(event, membershipID); } }