boglesby commented on a change in pull request #6362:
URL: https://github.com/apache/geode/pull/6362#discussion_r623501624
##########
File path:
geode-core/src/main/java/org/apache/geode/internal/cache/event/DistributedEventTracker.java
##########
@@ -356,22 +363,58 @@ public boolean hasSeenEvent(EventID eventID,
InternalCacheEvent tagHolder) {
if (evh.isRemoved() || evh.getLastSequenceNumber() <
eventID.getSequenceID()) {
return false;
}
- // log at fine because partitioned regions can send event multiple times
- // during normal operation during bucket region initialization
- if (logger.isTraceEnabled(LogMarker.DISTRIBUTION_BRIDGE_SERVER_VERBOSE))
{
- logger.trace(LogMarker.DISTRIBUTION_BRIDGE_SERVER_VERBOSE,
- "Cache encountered replay of event with ID {}. Highest recorded
for this source is {}",
- eventID, evh.getLastSequenceNumber());
+ if (shouldLogPreviouslySeenEvent(tagHolder, evh)) {
+ logger.info(EVENT_HAS_PREVIOUSLY_BEEN_SEEN, region.getName(),
+ tagHolder == null ? "unknown" : ((EntryEventImpl)
tagHolder).getKey(),
+ tagHolder == null ? "unknown" : tagHolder.getOperation(),
eventID.expensiveToString(),
+ evh.getLastSequenceNumber());
}
// bug #44956 - recover version tag for duplicate event
if (evh.getLastSequenceNumber() == eventID.getSequenceID() && tagHolder
!= null
&& evh.getVersionTag() != null) {
((EntryEventImpl) tagHolder).setVersionTag(evh.getVersionTag());
}
+
+ // Increment the previously seen events statistic
+ region.getCachePerfStats().incPreviouslySeenEvents();
+
return true;
}
}
+ private boolean shouldLogPreviouslySeenEvent(InternalCacheEvent event,
+ EventSequenceNumberHolder evh) {
+ boolean shouldLogSeenEvent = true;
+ String message = null;
Review comment:
I didn't want to take a chance on an NPE since hasSeenEvent can be
called with a null event in the case that Naba mentioned. One of the other
cases that don't use the event posDup can still apply.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]