From commits-return-30538-archive-asf-public=cust-asf.ponee.io@geode.apache.org Fri Jan 25 19:24:42 2019 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 0DA7818077A for ; Fri, 25 Jan 2019 19:24:41 +0100 (CET) Received: (qmail 78009 invoked by uid 500); 25 Jan 2019 18:24:41 -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 78000 invoked by uid 99); 25 Jan 2019 18:24:41 -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, 25 Jan 2019 18:24:41 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 569FF8556F; Fri, 25 Jan 2019 18:24:40 +0000 (UTC) Date: Fri, 25 Jan 2019 18:24:38 +0000 To: "commits@geode.apache.org" Subject: [geode] branch develop updated: GEODE-6315: Handle null in comparison in a compressed offheap region (#3115) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <154844067724.19923.17865993045589603370@gitbox.apache.org> From: eshu11@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: geode X-Git-Refname: refs/heads/develop X-Git-Reftype: branch X-Git-Oldrev: c877ef8720dc8f5a1a9735a3678060f337441673 X-Git-Newrev: 425eb59a3c1cbbadb5d82d7466798f8b00e0c691 X-Git-Rev: 425eb59a3c1cbbadb5d82d7466798f8b00e0c691 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. eshu11 pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git The following commit(s) were added to refs/heads/develop by this push: new 425eb59 GEODE-6315: Handle null in comparison in a compressed offheap region (#3115) 425eb59 is described below commit 425eb59a3c1cbbadb5d82d7466798f8b00e0c691 Author: pivotal-eshu AuthorDate: Fri Jan 25 10:24:26 2019 -0800 GEODE-6315: Handle null in comparison in a compressed offheap region (#3115) --- .../geode/internal/cache/ValueComparisonHelper.java | 6 +++--- .../geode/internal/cache/ValueComparisonHelperTest.java | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ValueComparisonHelper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ValueComparisonHelper.java index 285e8e5..2315701 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/ValueComparisonHelper.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ValueComparisonHelper.java @@ -227,6 +227,9 @@ public class ValueComparisonHelper { } Object cdVal = cd.getValue(); if (cdVal instanceof byte[]) { + if (obj == null || obj == Token.NOT_AVAILABLE || Token.isInvalidOrRemoved(obj)) { + return false; + } byte[] cdValBytes = (byte[]) cdVal; PdxInstance pi = InternalDataSerializer.readPdxInstance(cdValBytes, cache); if (pi != null) { @@ -250,9 +253,6 @@ public class ValueComparisonHelper { if (obj instanceof CachedDeserializable) { deserializedObj = ((CachedDeserializable) obj).getDeserializedForReading(); } else { - if (obj == null || obj == Token.NOT_AVAILABLE || Token.isInvalidOrRemoved(obj)) { - return false; - } // TODO OPTIMIZE: Before serializing all of obj we could get the top // level class name of cdVal and compare it to the top level class name of obj. deserializedObj = obj; diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/ValueComparisonHelperTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/ValueComparisonHelperTest.java index 830ff7f..b39ea8d 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/ValueComparisonHelperTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/ValueComparisonHelperTest.java @@ -509,6 +509,10 @@ public class ValueComparisonHelperTest { ValueComparisonHelper.checkEquals(cachedDeserializable, null, false, mock(InternalCache.class))) .isFalse(); + assertThat( + ValueComparisonHelper.checkEquals(cachedDeserializable, null, true, + mock(InternalCache.class))) + .isFalse(); } @Test @@ -521,6 +525,10 @@ public class ValueComparisonHelperTest { ValueComparisonHelper.checkEquals(cachedDeserializable, Token.NOT_AVAILABLE, false, mock(InternalCache.class))) .isFalse(); + assertThat( + ValueComparisonHelper.checkEquals(cachedDeserializable, Token.NOT_AVAILABLE, true, + mock(InternalCache.class))) + .isFalse(); } @Test @@ -537,6 +545,14 @@ public class ValueComparisonHelperTest { ValueComparisonHelper.checkEquals(cachedDeserializable, Token.LOCAL_INVALID, false, mock(InternalCache.class))) .isFalse(); + assertThat( + ValueComparisonHelper.checkEquals(cachedDeserializable, Token.INVALID, true, + mock(InternalCache.class))) + .isFalse(); + assertThat( + ValueComparisonHelper.checkEquals(cachedDeserializable, Token.LOCAL_INVALID, true, + mock(InternalCache.class))) + .isFalse(); } @Test