This is an automated email from the ASF dual-hosted git repository.

jinmeiliao pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 0c14807fb5151bfd1ec2ae14005a5a03429be638
Author: Jinmei Liao <[email protected]>
AuthorDate: Mon Feb 28 16:28:05 2022 -0800

    GEODE-10092: add more logging for future debug when region size gets below 
0. (#7402)
    
    
    (cherry picked from commit 5ed8bd9378f6f13c803226a873fae6891d0a51ed)
---
 .../java/org/apache/geode/internal/cache/LocalRegion.java | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java 
b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index 80e7cf6..559606b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -2111,9 +2111,20 @@ public class LocalRegion extends AbstractRegion 
implements LoaderHelperFactory,
       // if this is a client with no tombstones then we subtract the number
       // of entries being affected by register-interest refresh
       if (imageState.isClient() && !getConcurrencyChecksEnabled()) {
-        return result - imageState.getDestroyedEntriesCount();
+        int destroyedEntriesCount = imageState.getDestroyedEntriesCount();
+        if (result < destroyedEntriesCount) {
+          logger.error("Incorrect region size: mapSize={}, 
destroyedEntriesCount={}.", result,
+              destroyedEntriesCount);
+        }
+        return result - destroyedEntriesCount;
+      }
+
+      int tombstoneNumber = tombstoneCount.get();
+      if (result < tombstoneNumber) {
+        logger.error("Incorrect region size: mapSize={}, tombstoneCount={}.", 
result,
+            tombstoneNumber);
       }
-      return result - tombstoneCount.get();
+      return result - tombstoneNumber;
     }
   }
 

Reply via email to