From commits-return-28952-archive-asf-public=cust-asf.ponee.io@geode.apache.org Fri Oct 26 21:13:19 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 1F3DF180675 for ; Fri, 26 Oct 2018 21:13:18 +0200 (CEST) Received: (qmail 68738 invoked by uid 500); 26 Oct 2018 19:13:18 -0000 Mailing-List: contact commits-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list commits@geode.apache.org Received: (qmail 68729 invoked by uid 99); 26 Oct 2018 19:13:18 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Oct 2018 19:13:18 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 8F6738708F; Fri, 26 Oct 2018 19:13:17 +0000 (UTC) Date: Fri, 26 Oct 2018 19:13:17 +0000 To: "commits@geode.apache.org" Subject: [geode] 01/01: GEODE-5917: Modified instanceof to check for CachedDeserializable instead of VMCachedDeserializable MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: boglesby@apache.org In-Reply-To: <154058119556.12557.2326197513092390943@gitbox.apache.org> References: <154058119556.12557.2326197513092390943@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: geode X-Git-Refname: refs/heads/feature/GEODE-5917 X-Git-Reftype: branch X-Git-Rev: 86f7921268c93dea38681c58d6faa633b32abc17 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20181026191317.8F6738708F@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. boglesby pushed a commit to branch feature/GEODE-5917 in repository https://gitbox.apache.org/repos/asf/geode.git commit 86f7921268c93dea38681c58d6faa633b32abc17 Author: Barry Oglesby AuthorDate: Fri Oct 26 12:10:58 2018 -0700 GEODE-5917: Modified instanceof to check for CachedDeserializable instead of VMCachedDeserializable --- .../geode/cache/query/dunit/PDXQueryTestBase.java | 2 +- .../geode/cache/query/dunit/PdxQueryDUnitTest.java | 41 ++++++++++++++++++++++ .../geode/cache/query/internal/utils/PDXUtils.java | 5 +-- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PDXQueryTestBase.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PDXQueryTestBase.java index 47036df..84817ab 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PDXQueryTestBase.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PDXQueryTestBase.java @@ -196,7 +196,7 @@ public abstract class PDXQueryTestBase extends JUnit4CacheTestCase { } protected void configAndStartBridgeServer(boolean isPr, boolean isAccessor) { - configAndStartBridgeServer(false, false, false, null); + configAndStartBridgeServer(isPr, isAccessor, false, null); } protected void configAndStartBridgeServer(boolean isPr, boolean isAccessor, boolean asyncIndex, diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxQueryDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxQueryDUnitTest.java index 59e1bee..e87d67d 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxQueryDUnitTest.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxQueryDUnitTest.java @@ -15,6 +15,7 @@ package org.apache.geode.cache.query.dunit; import static org.apache.geode.internal.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -1481,6 +1482,46 @@ public class PdxQueryDUnitTest extends PDXQueryTestBase { this.closeClient(vm0); } + @Test + public void testPdxReadSerializedForPRSelectAllQuery() throws CacheException { + VM vm0 = VM.getVM(0); + VM vm1 = VM.getVM(1); + + final int numPuts = 10; + + vm0.invoke(new CacheSerializableRunnable("Create Bridge Server") { + public void run2() throws CacheException { + configAndStartBridgeServer(true, false); + GemFireCacheImpl cache = (GemFireCacheImpl) getCache(); + cache.setReadSerializedForTest(true); + } + }); + + vm1.invoke(new CacheSerializableRunnable("Create Bridge Server") { + public void run2() throws CacheException { + configAndStartBridgeServer(true, false); + GemFireCacheImpl cache = (GemFireCacheImpl) getCache(); + cache.setReadSerializedForTest(true); + } + }); + + vm0.invoke(() -> { + Region region = getRootRegion().getSubregion(regionName); + for (int i = 0; i < numPuts; i++) { + region.put("key-" + i, new TestObject(i, "val-" + i)); + } + }); + + vm0.invoke(() -> { + QueryService qs = getCache().getQueryService(); + Query query = qs.newQuery(queryString[1]); + SelectResults sr = (SelectResults) query.execute(); + assertThat(sr.size()).isEqualTo(numPuts); + for (Object result : sr) { + assertThat(result).isInstanceOf(PdxInstance.class); + } + }); + } /** * Tests index on PdxInstance. diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/utils/PDXUtils.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/utils/PDXUtils.java index 6ca3782..f9df944 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/utils/PDXUtils.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/utils/PDXUtils.java @@ -16,6 +16,7 @@ package org.apache.geode.cache.query.internal.utils; import org.apache.geode.cache.CacheException; import org.apache.geode.cache.query.internal.StructImpl; +import org.apache.geode.internal.cache.CachedDeserializable; import org.apache.geode.internal.cache.VMCachedDeserializable; import org.apache.geode.pdx.PdxInstance; import org.apache.geode.pdx.internal.PdxString; @@ -79,8 +80,8 @@ public class PDXUtils { obj = ((PdxString) obj).toString(); } - if (getDeserializedObject && obj instanceof VMCachedDeserializable) { - obj = ((VMCachedDeserializable) obj).getDeserializedForReading(); + if (getDeserializedObject && obj instanceof CachedDeserializable) { + obj = ((CachedDeserializable) obj).getDeserializedForReading(); objectChangedMarker[0] = true; }