Repository: geode Updated Branches: refs/heads/feature/GEODE-2632-10 0362f358a -> 7cf6e99fb
Fix ClassCastException Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/7cf6e99f Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/7cf6e99f Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/7cf6e99f Branch: refs/heads/feature/GEODE-2632-10 Commit: 7cf6e99fb3457fd0ec9627d1d5b7b8e0a5ef26cd Parents: 0362f35 Author: Kirk Lund <[email protected]> Authored: Tue May 2 18:35:00 2017 -0700 Committer: Kirk Lund <[email protected]> Committed: Tue May 2 18:35:00 2017 -0700 ---------------------------------------------------------------------- .../session/internal/common/PeerToPeerSessionCache.java | 6 +++--- .../java/org/apache/geode/internal/cache/LocalRegion.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/7cf6e99f/extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/common/PeerToPeerSessionCache.java ---------------------------------------------------------------------- diff --git a/extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/common/PeerToPeerSessionCache.java b/extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/common/PeerToPeerSessionCache.java index ff47e78..3dae196 100644 --- a/extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/common/PeerToPeerSessionCache.java +++ b/extensions/geode-modules-session-internal/src/main/java/org/apache/geode/modules/session/internal/common/PeerToPeerSessionCache.java @@ -57,7 +57,7 @@ public class PeerToPeerSessionCache extends AbstractSessionCache { super(); this.cache = cache; - /** + /* * Set some default properties for this cache if they haven't already been set */ this.properties.put(CacheProperty.REGION_ATTRIBUTES_ID, DEFAULT_REGION_ATTRIBUTES_ID); @@ -76,11 +76,11 @@ public class PeerToPeerSessionCache extends AbstractSessionCache { // Create or retrieve the region createOrRetrieveRegion(); - /** + /* * If local cache is enabled, create the local region fronting the session region and set it as * the operating region; otherwise, use the session region directly as the operating region. */ - boolean enableLocalCache = (Boolean) properties.get(CacheProperty.ENABLE_LOCAL_CACHE); + boolean enableLocalCache = Boolean.valueOf((String)properties.get(CacheProperty.ENABLE_LOCAL_CACHE)); operatingRegion = enableLocalCache ? createOrRetrieveLocalRegion() : this.sessionRegion; // Create or retrieve the statistics http://git-wip-us.apache.org/repos/asf/geode/blob/7cf6e99f/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java ---------------------------------------------------------------------- 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 8689ae5..55189a5 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 @@ -8642,14 +8642,20 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory, @Override public Object[] toArray() { List temp = new ArrayList(this.size()); - temp.addAll(this); + // do NOT use addAll or this results in stack overflow - must use iterator() + for (Iterator iter = iterator(); iter.hasNext();) { + temp.add(iter.next()); + } return temp.toArray(); } @Override public Object[] toArray(Object[] array) { List temp = new ArrayList(this.size()); - temp.addAll(this); + // do NOT use addAll or this results in stack overflow - must use iterator() + for (Iterator iter = iterator(); iter.hasNext();) { + temp.add(iter.next()); + } return temp.toArray(array); } }
