This is an automated email from the ASF dual-hosted git repository. zhouxj pushed a commit to branch feature/GEODE-9496 in repository https://gitbox.apache.org/repos/asf/geode.git
commit c24e13aef836bd0fbf399774e5b9ca372dfff5ae Author: zhouxh <gz...@pivotal.io> AuthorDate: Tue Aug 10 14:16:41 2021 -0700 GEODE-9496: Enhance the usage of newly introduced system property --- .../java/org/apache/geode/cache/client/internal/QueryOp.java | 8 +++++--- .../org/apache/geode/internal/lang/SystemPropertyHelper.java | 3 +++ .../apache/geode/internal/lang/SystemPropertyHelperTest.java | 11 +++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueryOp.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueryOp.java index 1675cae..719adcb 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueryOp.java +++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/QueryOp.java @@ -31,10 +31,10 @@ import org.apache.geode.internal.cache.tier.sockets.ChunkedMessage; import org.apache.geode.internal.cache.tier.sockets.Message; import org.apache.geode.internal.cache.tier.sockets.ObjectPartList; import org.apache.geode.internal.cache.tier.sockets.Part; +import org.apache.geode.internal.lang.SystemPropertyHelper; import org.apache.geode.internal.serialization.KnownVersion; import org.apache.geode.logging.internal.log4j.api.LogService; import org.apache.geode.pdx.PdxSerializationException; -import org.apache.geode.util.internal.GeodeGlossary; /** * Does a region query on a server @@ -132,8 +132,10 @@ public class QueryOp { // connection to the same server and retried the query to it, that it would also // workaround this issue and it would not have the limitations of needing multiple servers // and would not depend on the retry-attempts configuration. - boolean enableQueryRetryOnPdxSerializationException = Boolean.getBoolean( - GeodeGlossary.GEMFIRE_PREFIX + "enableQueryRetryOnPdxSerializationException"); + boolean enableQueryRetryOnPdxSerializationException = SystemPropertyHelper + .getProductBooleanProperty( + SystemPropertyHelper.ENABLE_QUERY_RETRY_ON_PDX_SERIALIZATION_EXCEPTION) + .orElse(false); if (e instanceof PdxSerializationException && enableQueryRetryOnPdxSerializationException) { // IOException will allow the client to retry next server in the connection pool until diff --git a/geode-core/src/main/java/org/apache/geode/internal/lang/SystemPropertyHelper.java b/geode-core/src/main/java/org/apache/geode/internal/lang/SystemPropertyHelper.java index f66f82a..1383a62 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/lang/SystemPropertyHelper.java +++ b/geode-core/src/main/java/org/apache/geode/internal/lang/SystemPropertyHelper.java @@ -71,6 +71,9 @@ public class SystemPropertyHelper { public static final String USE_HTTP_SYSTEM_PROPERTY = "useHTTP"; + public static final String ENABLE_QUERY_RETRY_ON_PDX_SERIALIZATION_EXCEPTION = + "enableQueryRetryOnPdxSerializationException"; + /** * a comma separated string to list out the packages to scan. If not specified, the entire * classpath is scanned. diff --git a/geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java b/geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java index f44af8a..353a7c9 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java @@ -108,6 +108,17 @@ public class SystemPropertyHelperTest { } @Test + public void getBooleanPropertyReturnsEnableRetryOnPdxSerializationException() { + String testProperty = "enableQueryRetryOnPdxSerializationException"; + String gemfirePrefixProperty = "gemfire." + testProperty; + System.setProperty(gemfirePrefixProperty, "true"); + assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue(); + System.clearProperty(gemfirePrefixProperty); + assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).orElse(false)) + .isFalse(); + } + + @Test public void getBooleanPropertyParallelDiskStoreRecovery() { // default assertThat(SystemPropertyHelper