This is an automated email from the ASF dual-hosted git repository. zhouxj pushed a commit to branch feature/GEODE-9989 in repository https://gitbox.apache.org/repos/asf/geode.git
commit 9b212e9b04048b87751e09c0748c86ce2e562c9d Author: zhouxh <[email protected]> AuthorDate: Tue Jan 25 17:18:51 2022 -0800 GEODE-9989: add a few info level logs in PersistenceAdvisorImpl to identify splitbrain issue --- .../java/org/apache/geode/internal/cache/AbstractDiskRegion.java | 1 + .../main/java/org/apache/geode/internal/cache/DistributedRegion.java | 5 +++++ .../geode/internal/cache/persistence/PersistenceAdvisorImpl.java | 5 +++++ .../cache/persistence/PrepareNewPersistentMemberMessage.java | 3 +++ 4 files changed, 14 insertions(+) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java index cfc911e..f80889a5 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegion.java @@ -549,6 +549,7 @@ public abstract class AbstractDiskRegion implements DiskRegionView { @Override public void memberOffline(PersistentMemberID persistentID) { ds.memberOffline(this, persistentID); + logger.info("GGG:memberOffline:" + persistentID); if (logger.isTraceEnabled(LogMarker.PERSIST_VERBOSE)) { logger.trace(LogMarker.PERSIST_VERBOSE, "PersistentView {} - {} - member offline {}", getDiskStoreID().abbrev(), getName(), persistentID); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java index 4a3783a..1d041a2 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java @@ -273,6 +273,8 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute } if (persistenceAdvisor != null) { persistentId = persistenceAdvisor.generatePersistentID(); + logger.info("GGG:Created newId " + (persistentId == null ? null : persistentId.getTimeStamp()) + + " for region " + getFullPath()); } else { persistentId = null; } @@ -1083,6 +1085,9 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute logger.debug("DistributedRegion.getInitialImageAndRecovery: Finished Recovery"); } persistentMemberId = dskRgn.getMyPersistentID(); + logger.info("GGG: recovered my oldId " + + (persistentMemberId == null ? null : persistentMemberId.getTimeStamp()) + " for " + + getFullPath()); } // Create OQL indexes before starting GII. diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImpl.java index 073a632..9077ea2 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PersistenceAdvisorImpl.java @@ -673,6 +673,7 @@ public class PersistenceAdvisorImpl implements InternalPersistenceAdvisor { logger.debug(LogMarker.PERSIST_ADVISOR_VERBOSE, "{}-{}: Member removed. persistentID={}", shortDiskStoreId(), regionPath, id); } + logger.info("GGG:Member removed, id=" + (id == null ? null : id.getTimeStamp())); synchronized (lock) { recoveredMembers.remove(id); @@ -1248,6 +1249,10 @@ public class PersistenceAdvisorImpl implements InternalPersistenceAdvisor { CacheProfile cp = (CacheProfile) profile; if (cp.persistentID != null && cp.persistenceInitialized) { memberOnline(profile.getDistributedMember(), cp.persistentID); + logger.info("GGG:memberOnline:" + cp.persistentID.getTimeStamp()); + } else if (cp.persistentID != null) { + logger.info( + "GGG:initialized?" + cp.persistenceInitialized + ":" + cp.persistentID.getTimeStamp()); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PrepareNewPersistentMemberMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PrepareNewPersistentMemberMessage.java index f7ac3d7..412784e 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PrepareNewPersistentMemberMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/PrepareNewPersistentMemberMessage.java @@ -76,6 +76,9 @@ public class PrepareNewPersistentMemberMessage extends HighPriorityDistributionM ReplyProcessor21 processor = new ReplyProcessor21(dm, members, cache.getCancelCriterion()); PrepareNewPersistentMemberMessage msg = new PrepareNewPersistentMemberMessage(regionPath, oldId, newId, processor.getProcessorId()); + logger.info("GGG:Sending PrepareNewPersistentMemberMessage oldId=" + + (oldId == null ? null : oldId.getTimeStamp()) + ",newId=" + + (newId == null ? null : newId.getTimeStamp())); msg.setRecipients(members); dm.putOutgoing(msg); processor.waitForRepliesUninterruptibly();
