You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2017/01/09 19:16:58 UTC
[2/3] geode git commit: GEODE-2277: reworked PDX type/enum logging to
help identify source of issue
GEODE-2277: reworked PDX type/enum logging to help identify source of issue
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/cbc312ce
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/cbc312ce
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/cbc312ce
Branch: refs/heads/develop
Commit: cbc312ce6ee8a6334d7c8f8296bc6aea7af8c325
Parents: dfecdba
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Fri Jan 6 09:41:49 2017 -0800
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Mon Jan 9 11:11:01 2017 -0800
----------------------------------------------------------------------
.../java/org/apache/geode/pdx/internal/EnumInfo.java | 6 +++++-
.../geode/pdx/internal/PeerTypeRegistration.java | 13 +++++++++++++
.../org/apache/geode/pdx/internal/TypeRegistry.java | 5 ++++-
3 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/cbc312ce/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
index 0105f75..380ed73 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
@@ -58,7 +58,7 @@ public class EnumInfo implements DataSerializableFixedID {
}
public EnumInfo() {}
-
+
public int getDSFID() {
return ENUM_INFO;
}
@@ -158,6 +158,10 @@ public class EnumInfo implements DataSerializableFixedID {
return clazz + "." + name;
}
+ public String toFormattedString() {
+ return getClass().getSimpleName() + "[\n" + clazz + "." + name + "]";
+ }
+
@Override
public boolean equals(Object obj) {
if (this == obj)
http://git-wip-us.apache.org/repos/asf/geode/blob/cbc312ce/geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java
index 877bd48..cd09653 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java
@@ -58,15 +58,19 @@ import org.apache.geode.internal.cache.InternalRegionArguments;
import org.apache.geode.internal.cache.LocalRegion;
import org.apache.geode.internal.cache.TXManagerImpl;
import org.apache.geode.internal.cache.TXStateProxy;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.util.concurrent.CopyOnWriteHashMap;
import org.apache.geode.pdx.JSONFormatter;
import org.apache.geode.pdx.PdxInitializationException;
import org.apache.geode.pdx.PdxRegistryMismatchException;
+import org.apache.logging.log4j.Logger;
/**
*
*/
public class PeerTypeRegistration implements TypeRegistration {
+ private static final Logger logger = LogService.getLogger();
+
/**
*
*/
@@ -174,6 +178,15 @@ public class PeerTypeRegistration implements TypeRegistration {
+ event.getKey() + ", existing pdx type " + event.getOldValue() + ", new type "
+ event.getNewValue());
throw new CacheWriterException(ex);
+ } else {
+ Object newValue = event.getNewValue();
+ if (newValue instanceof PdxType) {
+ logger.info("(CacheWriter) Adding type to PdxTypes: {}/{}", event.getKey(),
+ ((PdxType) event.getNewValue()).toFormattedString());
+ } else {
+ logger.info("(CacheWriter) Adding enum to PdxTypes: {}/{}", event.getKey(),
+ ((EnumInfo)newValue).toFormattedString());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/cbc312ce/geode-core/src/main/java/org/apache/geode/pdx/internal/TypeRegistry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/TypeRegistry.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/TypeRegistry.java
index ab03058..ebca878 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/TypeRegistry.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/TypeRegistry.java
@@ -200,7 +200,7 @@ public class TypeRegistry {
this.idToType.put(id, newType);
this.typeToId.put(newType, id);
if (logger.isInfoEnabled()) {
- logger.info("Defining: {}", newType.toFormattedString());
+ logger.info("Caching {}", newType.toFormattedString());
}
} else if (!oldType.equals(newType)) {
Assert.fail("Old type does not equal new type for the same id. oldType=" + oldType
@@ -392,6 +392,9 @@ public class TypeRegistry {
if (oldInfo == null) {
this.idToEnum.put(id, newInfo);
this.enumInfoToId.put(newInfo, id);
+ if (logger.isInfoEnabled()) {
+ logger.info("Caching PDX Enum: {}, dsid={} typenum={}", newInfo, id >> 24, id & 0xFFFFFF);
+ }
} else if (!oldInfo.equals(newInfo)) {
Assert.fail("Old enum does not equal new enum for the same id. oldEnum=" + oldInfo
+ " newEnum=" + newInfo);