This is an automated email from the ASF dual-hosted git repository.

klund pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git

commit a8d932b286f94ec15464d179d860df048375f09b
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Mon Dec 20 10:53:32 2021 -0800

    GEODE-9879: Extract SystemProperty to geode-common (#7177)
    
    Extract part of SystemPropertyHelper to geode-common for use in
    modules that are upstream from geode-core.
    
    Define new DEFAULT_PREFIX that maps to GEODE_PREFIX and use that
    everywhere that GEODE_PREFIX was previously used.
    
    * Inline prefix constants in SystemPropertyHelper
    * Use static imports for system property prefixes.
    * Split up large tests in SystemPropertyHelperTest.
    * Fix JAXBService
    
    (cherry picked from commit ebf8479fffb5775b1f45801aa9382c2dad7106e0)
---
 geode-common/build.gradle                          |   3 +
 .../apache/geode/internal/lang/SystemProperty.java | 118 ++++++++++++++++
 .../geode/internal/lang/SystemPropertyTest.java    | 107 +++++++++++++++
 ...okenSerializationConsistencyRegressionTest.java |   6 +-
 ...entDeserializationCopyOnReadRegressionTest.java |   7 +-
 .../cache/CompactOfflineDiskStoreDUnitTest.java    |   5 +-
 .../internal/cache/DeltaPropagationDUnitTest.java  |   2 +-
 .../cache/ParallelDiskStoreRecoveryDUnitTest.java  |   5 +-
 .../cache/PartitionedRegionSingleHopDUnitTest.java |   2 +-
 .../cache/ValidateOfflineDiskStoreDUnitTest.java   |   5 +-
 .../RebalanceOperationComplexDistributedTest.java  |   4 +-
 .../cache/ha/HARQueueNewImplDUnitTest.java         |   5 +-
 .../ha/HARegionQueueExpiryRegressionTest.java      |   5 +-
 .../HARegionQueueThreadIdExpiryRegressionTest.java |   8 +-
 .../sockets/RedundancyLevelPart1DUnitTest.java     |   2 +-
 .../internal/cache/ha/HARegionQueueJUnitTest.java  |   4 +-
 .../DefaultDiskDirsIntegrationTest.java            |   4 +-
 .../internal/cache/EntryEventSerialization.java    |   2 +-
 .../cache/eviction/EvictionListBuilder.java        |   3 +-
 .../cache/eviction/LRUListWithAsyncSorting.java    |   5 +-
 .../cache/eviction/LRUListWithSyncSorting.java     |   3 +-
 .../geode/internal/cache/ha/HARegionQueue.java     |   2 +-
 .../cache/persistence/DefaultDiskDirs.java         |   2 +-
 .../internal/cache/xmlcache/CacheCreation.java     |   3 +-
 .../apache/geode/internal/config/JAXBService.java  |   6 +-
 .../geode/internal/lang/SystemPropertyHelper.java  |  89 +++++--------
 .../internal/logging/CoreLoggingExecutors.java     |   2 +-
 .../geode/logging/internal/Configuration.java      |   6 +-
 .../logging/internal/LoggingProviderLoader.java    |   5 +-
 .../cache/EntryEventSerializationTest.java         |   4 +-
 .../cache/persistence/DefaultDiskDirsTest.java     |   6 +-
 .../PersistenceInitialImageAdvisorTest.java        |   5 +-
 .../internal/lang/SystemPropertyHelperTest.java    | 148 ++++++++-------------
 .../DistributedDiskDirRuleDistributedTest.java     |  17 ++-
 .../junit/rules/DiskDirRuleIntegrationTest.java    |   5 +-
 .../test/dunit/rules/DistributedDiskDirRule.java   |  16 ++-
 .../apache/geode/test/junit/rules/DiskDirRule.java |  14 +-
 37 files changed, 411 insertions(+), 224 deletions(-)

diff --git a/geode-common/build.gradle b/geode-common/build.gradle
index 7506af7..ab33aff 100755
--- a/geode-common/build.gradle
+++ b/geode-common/build.gradle
@@ -27,6 +27,9 @@ dependencies {
   implementation('com.fasterxml.jackson.core:jackson-databind')
 
   // test
+  testImplementation('com.github.stefanbirkner:system-rules') {
+    exclude module: 'junit-dep'
+  }
   testImplementation('junit:junit')
   testImplementation('org.apache.commons:commons-lang3')
   testImplementation('org.assertj:assertj-core')
diff --git 
a/geode-common/src/main/java/org/apache/geode/internal/lang/SystemProperty.java 
b/geode-common/src/main/java/org/apache/geode/internal/lang/SystemProperty.java
new file mode 100644
index 0000000..2c433ef
--- /dev/null
+++ 
b/geode-common/src/main/java/org/apache/geode/internal/lang/SystemProperty.java
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.lang;
+
+import java.util.Optional;
+
+public class SystemProperty {
+
+  private static final String GEODE_PREFIX = "geode.";
+  public static final String GEMFIRE_PREFIX = "gemfire.";
+  public static final String DEFAULT_PREFIX = GEODE_PREFIX;
+
+  /**
+   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
+   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
+   *
+   * @param name system property name set in Geode
+   * @return an Optional containing the Boolean value of the system property
+   */
+  public static Optional<Boolean> getProductBooleanProperty(String name) {
+    String property = getProperty(name);
+    return property != null ? Optional.of(Boolean.parseBoolean(property)) : 
Optional.empty();
+  }
+
+  /**
+   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
+   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
+   *
+   * @param name system property name set in Geode
+   * @return an Optional containing the Integer value of the system property
+   */
+  public static Optional<Integer> getProductIntegerProperty(String name) {
+    Integer propertyValue = Integer.getInteger(DEFAULT_PREFIX + name);
+    if (propertyValue == null) {
+      propertyValue = Integer.getInteger(GEMFIRE_PREFIX + name);
+    }
+
+    if (propertyValue != null) {
+      return Optional.of(propertyValue);
+    }
+    return Optional.empty();
+  }
+
+  /**
+   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
+   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
+   *
+   * @param name system property name set in Geode
+   * @return the integer value of the system property if exits or the default 
value
+   */
+  public static Integer getProductIntegerProperty(String name, int 
defaultValue) {
+    return getProductIntegerProperty(name).orElse(defaultValue);
+  }
+
+  /**
+   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
+   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
+   *
+   * @param name system property name set in Geode
+   * @return an Optional containing the Long value of the system property
+   */
+  public static Optional<Long> getProductLongProperty(String name) {
+    Long propertyValue = Long.getLong(DEFAULT_PREFIX + name);
+    if (propertyValue == null) {
+      propertyValue = Long.getLong(GEMFIRE_PREFIX + name);
+    }
+
+    if (propertyValue != null) {
+      return Optional.of(propertyValue);
+    }
+    return Optional.empty();
+  }
+
+  public static Long getProductLongProperty(String name, long defaultValue) {
+    return getProductLongProperty(name).orElse(defaultValue);
+  }
+
+  /**
+   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
+   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
+   *
+   * @param name system property name set in Geode
+   * @return an Optional containing the String value of the system property
+   */
+  public static Optional<String> getProductStringProperty(String name) {
+    String property = getProperty(name);
+    return property != null ? Optional.of(property) : Optional.empty();
+  }
+
+  public static String getProperty(String name) {
+    String property = getGeodeProperty(name);
+    return property != null ? property : getGemfireProperty(name);
+  }
+
+  private static String getGeodeProperty(String name) {
+    return System.getProperty(DEFAULT_PREFIX + name);
+  }
+
+  private static String getGemfireProperty(String name) {
+    return System.getProperty(GEMFIRE_PREFIX + name);
+  }
+
+  private SystemProperty() {
+    // do not instantiate
+  }
+}
diff --git 
a/geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java
 
b/geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java
new file mode 100644
index 0000000..eb319ab
--- /dev/null
+++ 
b/geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.lang;
+
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductBooleanProperty;
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductIntegerProperty;
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductLongProperty;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.contrib.java.lang.system.RestoreSystemProperties;
+
+public class SystemPropertyTest {
+
+  @Rule
+  public RestoreSystemProperties restoreSystemProperties = new 
RestoreSystemProperties();
+
+  @Test
+  public void getIntegerPropertyPrefersGeodePrefix() {
+    String testProperty = "testIntegerProperty";
+    String gemfirePrefixProperty = "gemfire." + testProperty;
+    String geodePrefixProperty = "geode." + testProperty;
+    System.setProperty(geodePrefixProperty, "1");
+    System.setProperty(gemfirePrefixProperty, "0");
+
+    assertThat(getProductIntegerProperty(testProperty).get()).isEqualTo(1);
+  }
+
+  @Test
+  public void getIntegerPropertyReturnsGemfirePrefixIfGeodeMissing() {
+    String testProperty = "testIntegerProperty";
+    String gemfirePrefixProperty = "gemfire." + testProperty;
+    System.setProperty(gemfirePrefixProperty, "1");
+
+    assertThat(getProductIntegerProperty(testProperty).get()).isEqualTo(1);
+  }
+
+  @Test
+  public void getIntegerPropertyWithDefaultValue() {
+    String testProperty = "testIntegerProperty";
+
+    assertThat(getProductIntegerProperty(testProperty, 1000)).isEqualTo(1000);
+  }
+
+  @Test
+  public void 
getLongPropertyWithoutDefaultReturnsGemfirePrefixIfGeodeMissing() {
+    String testProperty = "testLongProperty";
+    String gemfirePrefixProperty = "gemfire." + testProperty;
+    System.setProperty(gemfirePrefixProperty, "1");
+
+    assertThat(getProductLongProperty(testProperty).get()).isEqualTo(1);
+  }
+
+  @Test
+  public void getLongPropertyWithDefaultValue() {
+    String testProperty = "testIntegerProperty";
+
+    assertThat(getProductLongProperty(testProperty, 1000)).isEqualTo(1000);
+  }
+
+  @Test
+  public void getIntegerPropertyReturnsEmptyOptionalIfPropertiesMissing() {
+    String testProperty = "notSetProperty";
+
+    assertThat(getProductIntegerProperty(testProperty).isPresent()).isFalse();
+  }
+
+  @Test
+  public void getBooleanPropertyReturnsEmptyOptionalIfProperiesMissing() {
+    String testProperty = "notSetProperty";
+
+    assertThat(getProductBooleanProperty(testProperty).isPresent()).isFalse();
+  }
+
+  @Test
+  public void getBooleanPropertyPrefersGeodePrefix() {
+    String testProperty = "testBooleanProperty";
+    String gemfirePrefixProperty = "gemfire." + testProperty;
+    String geodePrefixProperty = "geode." + testProperty;
+    System.setProperty(geodePrefixProperty, "true");
+    System.setProperty(gemfirePrefixProperty, "false");
+
+    assertThat(getProductBooleanProperty(testProperty).get()).isTrue();
+  }
+
+  @Test
+  public void getBooleanPropertyReturnsGemfirePrefixIfGeodeMissing() {
+    String testProperty = "testBooleanProperty";
+    String gemfirePrefixProperty = "gemfire." + testProperty;
+    System.setProperty(gemfirePrefixProperty, "true");
+
+    assertThat(getProductBooleanProperty(testProperty).get()).isTrue();
+  }
+}
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
index be39bbd..48c3ee8 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
@@ -16,7 +16,6 @@ package org.apache.geode.internal.cache;
 
 import static org.apache.geode.cache.RegionShortcut.REPLICATE;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.EARLY_ENTRY_EVENT_SERIALIZATION;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.catchThrowable;
@@ -35,6 +34,7 @@ import org.apache.geode.DataSerializable;
 import org.apache.geode.ToDataException;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.pdx.PdxReader;
 import org.apache.geode.pdx.PdxSerializable;
 import org.apache.geode.pdx.PdxWriter;
@@ -67,11 +67,11 @@ public class BrokenSerializationConsistencyRegressionTest 
implements Serializabl
   public void setUpAll() {
     vm0 = getVM(0);
 
-    System.setProperty(GEODE_PREFIX + EARLY_ENTRY_EVENT_SERIALIZATION, "true");
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION, "true");
     createReplicateRegions();
 
     vm0.invoke(() -> {
-      System.setProperty(GEODE_PREFIX + EARLY_ENTRY_EVENT_SERIALIZATION, 
"true");
+      System.setProperty(SystemProperty.DEFAULT_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION, "true");
       createReplicateRegions();
     });
 
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientDeserializationCopyOnReadRegressionTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientDeserializationCopyOnReadRegressionTest.java
index 5b1d5ef..a43c696 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientDeserializationCopyOnReadRegressionTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientDeserializationCopyOnReadRegressionTest.java
@@ -16,7 +16,6 @@ package org.apache.geode.internal.cache;
 
 import static 
org.apache.geode.distributed.ConfigurationProperties.DELTA_PROPAGATION;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.EARLY_ENTRY_EVENT_SERIALIZATION;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.fail;
@@ -52,6 +51,7 @@ import org.apache.geode.internal.cache.ha.HARegionQueue;
 import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
 import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
 import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.Invoke;
 import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
@@ -113,9 +113,10 @@ public class ClientDeserializationCopyOnReadRegressionTest 
extends ClientServerT
   @Test
 
   public void testCopyOnReadWithBridgeServer() {
-    System.setProperty(GEODE_PREFIX + EARLY_ENTRY_EVENT_SERIALIZATION, "true");
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION, "true");
     Invoke.invokeInEveryVM(
-        () -> System.setProperty(GEODE_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION, "true"));
+        () -> System.setProperty(SystemProperty.DEFAULT_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION,
+            "true"));
 
     createBridgeServer(server, rName, ports[0]);
     // Put an instance of SerializationCounter to assert copy-on-read behavior
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/CompactOfflineDiskStoreDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/CompactOfflineDiskStoreDUnitTest.java
index b8e16a6..fdc77c7 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/CompactOfflineDiskStoreDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/CompactOfflineDiskStoreDUnitTest.java
@@ -23,7 +23,6 @@ import static 
org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MAX_WAIT_TIME_RECONNECT;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MEMBER_TIMEOUT;
 import static 
org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPorts;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
@@ -49,6 +48,7 @@ import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.LocatorLauncher;
 import org.apache.geode.distributed.ServerLauncher;
 import org.apache.geode.distributed.internal.InternalLocator;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.test.dunit.VM;
@@ -190,7 +190,8 @@ public class CompactOfflineDiskStoreDUnitTest implements 
Serializable {
   private static void startServer(String name, File workingDirectory, int 
serverPort,
       String locators, boolean parallelDiskStoreRecovery) {
 
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
+    System.setProperty(
+        SystemProperty.DEFAULT_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
         String.valueOf(parallelDiskStoreRecovery));
 
     SERVER.set(new ServerLauncher.Builder()
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/DeltaPropagationDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/DeltaPropagationDUnitTest.java
index 0e252ef..a236983 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/DeltaPropagationDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/DeltaPropagationDUnitTest.java
@@ -29,7 +29,7 @@ import static 
org.apache.geode.distributed.internal.DistributionConfig.CLIENT_CO
 import static 
org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPort;
 import static 
org.apache.geode.internal.cache.CacheServerImpl.generateNameForClientMsgsRegion;
 import static 
org.apache.geode.internal.cache.tier.sockets.CacheClientProxyFactory.INTERNAL_FACTORY_PROPERTY;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.getTimeout;
 import static org.apache.geode.test.dunit.VM.getController;
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ParallelDiskStoreRecoveryDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ParallelDiskStoreRecoveryDUnitTest.java
index be725e6..a01852c 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ParallelDiskStoreRecoveryDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ParallelDiskStoreRecoveryDUnitTest.java
@@ -24,7 +24,6 @@ import static 
org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MAX_WAIT_TIME_RECONNECT;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MEMBER_TIMEOUT;
 import static 
org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPorts;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
@@ -50,6 +49,7 @@ import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.LocatorLauncher;
 import org.apache.geode.distributed.ServerLauncher;
 import org.apache.geode.distributed.internal.InternalLocator;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.test.dunit.VM;
@@ -216,7 +216,8 @@ public class ParallelDiskStoreRecoveryDUnitTest implements 
Serializable {
   private static void startServer(String name, File workingDirectory, int 
serverPort,
       String locators, boolean parallelDiskStoreRecovery) {
 
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
+    System.setProperty(
+        SystemProperty.DEFAULT_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
         String.valueOf(parallelDiskStoreRecovery));
 
     SERVER.set(new ServerLauncher.Builder()
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
index 43019bf..3fc5505 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
@@ -22,7 +22,7 @@ import static org.apache.geode.cache.RegionShortcut.PARTITION;
 import static org.apache.geode.cache.RegionShortcut.PARTITION_PERSISTENT;
 import static 
org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
 import static 
org.apache.geode.management.ManagementService.getExistingManagementService;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.getTimeout;
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ValidateOfflineDiskStoreDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ValidateOfflineDiskStoreDUnitTest.java
index 16999bd..75b87aa 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ValidateOfflineDiskStoreDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ValidateOfflineDiskStoreDUnitTest.java
@@ -23,7 +23,6 @@ import static 
org.apache.geode.distributed.ConfigurationProperties.LOG_FILE;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MAX_WAIT_TIME_RECONNECT;
 import static 
org.apache.geode.distributed.ConfigurationProperties.MEMBER_TIMEOUT;
 import static 
org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPorts;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
@@ -51,6 +50,7 @@ import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.distributed.LocatorLauncher;
 import org.apache.geode.distributed.ServerLauncher;
 import org.apache.geode.distributed.internal.InternalLocator;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.test.dunit.VM;
@@ -194,7 +194,8 @@ public class ValidateOfflineDiskStoreDUnitTest implements 
Serializable {
   private static void startServer(String name, File workingDirectory, int 
serverPort,
       String locators) {
 
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
+    System.setProperty(
+        SystemProperty.DEFAULT_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY,
         "true");
 
     SERVER.set(new ServerLauncher.Builder()
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/control/RebalanceOperationComplexDistributedTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/control/RebalanceOperationComplexDistributedTest.java
index 9773437..b0853e5 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/control/RebalanceOperationComplexDistributedTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/control/RebalanceOperationComplexDistributedTest.java
@@ -17,7 +17,6 @@ package org.apache.geode.internal.cache.control;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static 
org.apache.geode.distributed.ConfigurationProperties.REDUNDANCY_ZONE;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.File;
@@ -45,6 +44,7 @@ import org.apache.geode.cache.Region;
 import org.apache.geode.cache.client.ClientCache;
 import org.apache.geode.cache.control.ResourceManager;
 import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.logging.internal.log4j.api.LogService;
 import org.apache.geode.test.awaitility.GeodeAwaitility;
 import org.apache.geode.test.dunit.VM;
@@ -217,7 +217,7 @@ public class RebalanceOperationComplexDistributedTest 
implements Serializable {
       if (!temporaryDirectory.exists()) {
         Files.createDirectory(temporaryDirectory.toPath());
       }
-      System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, path);
+      System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY, path);
     });
 
     clusterStartupRule.startServerVM(index, s -> 
s.withProperty("cache-xml-file",
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
index 02072d5..56b2b49 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDUnitTest.java
@@ -21,7 +21,7 @@ import static 
org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
 import static 
org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPort;
 import static 
org.apache.geode.internal.cache.CacheServerImpl.generateNameForClientMsgsRegion;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.NetworkUtils.getServerHostName;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -209,8 +209,7 @@ public class HARQueueNewImplDUnitTest extends 
JUnit4DistributedTestCase {
 
   public static void createClientCache(String host, Integer port1, Integer 
port2, String rLevel,
       Boolean addListener) throws Exception {
-    System.setProperty(GEMFIRE_PREFIX + "bridge.disableShufflingOfEndpoints",
-        "true");
+    System.setProperty(GEMFIRE_PREFIX + "bridge.disableShufflingOfEndpoints", 
"true");
 
     Properties props = new Properties();
     props.setProperty(MCAST_PORT, "0");
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueExpiryRegressionTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueExpiryRegressionTest.java
index f524c38..917b5e3 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueExpiryRegressionTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueExpiryRegressionTest.java
@@ -18,7 +18,6 @@ import static 
org.apache.geode.cache30.ClientServerTestCase.configureConnectionP
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
 import static 
org.apache.geode.internal.cache.tier.sockets.ConflationDUnitTestHelper.setIsSlowStart;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.Host.getHost;
@@ -44,6 +43,7 @@ import org.apache.geode.cache.DataPolicy;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.Scope;
 import org.apache.geode.cache.server.CacheServer;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.cache.CacheTestCase;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
@@ -129,7 +129,8 @@ public class HARegionQueueExpiryRegressionTest extends 
CacheTestCase {
   }
 
   private int createServerCache() throws IOException {
-    System.setProperty(GEODE_PREFIX + HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY, 
String.valueOf(1));
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY,
+        String.valueOf(1));
     System.setProperty("slowStartTimeForTesting", 
String.valueOf(DISPATCHER_SLOWSTART_TIME));
 
     AttributesFactory factory = new AttributesFactory();
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
index 47b9d4d..90d7f99 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
@@ -16,7 +16,6 @@ package org.apache.geode.internal.cache.ha;
 
 import static org.apache.geode.cache.RegionShortcut.REPLICATE;
 import static org.apache.geode.cache.client.ClientRegionShortcut.CACHING_PROXY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.THREAD_ID_EXPIRY_TIME_PROPERTY;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
@@ -39,6 +38,7 @@ import org.apache.geode.cache.client.ClientRegionFactory;
 import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.internal.cache.tier.sockets.CacheClientNotifier;
 import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
@@ -110,8 +110,10 @@ public class HARegionQueueThreadIdExpiryRegressionTest 
implements Serializable {
   }
 
   private int createCacheServer() throws IOException {
-    System.setProperty(GEODE_PREFIX + HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY, 
EXPIRY_TIME_SECONDS);
-    System.setProperty(GEODE_PREFIX + THREAD_ID_EXPIRY_TIME_PROPERTY, 
EXPIRY_TIME_SECONDS);
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY,
+        EXPIRY_TIME_SECONDS);
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
THREAD_ID_EXPIRY_TIME_PROPERTY,
+        EXPIRY_TIME_SECONDS);
 
     cacheRule.createCache();
     cacheRule.getCache().setMessageSyncInterval(MESSAGE_SYNC_INTERVAL_SECONDS);
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
index 73bdec9..13bf5a9 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
@@ -18,7 +18,7 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static org.apache.geode.cache.Region.SEPARATOR;
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.VM.getController;
diff --git 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ha/HARegionQueueJUnitTest.java
 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ha/HARegionQueueJUnitTest.java
index 93b5716..9c3d98f 100755
--- 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ha/HARegionQueueJUnitTest.java
+++ 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ha/HARegionQueueJUnitTest.java
@@ -15,7 +15,6 @@
 package org.apache.geode.internal.cache.ha;
 
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY;
 import static 
org.apache.geode.internal.statistics.StatisticsClockFactory.disabledClock;
 import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
@@ -80,6 +79,7 @@ import 
org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
 import org.apache.geode.internal.cache.tier.sockets.ClientProxyMembershipID;
 import org.apache.geode.internal.cache.tier.sockets.ClientUpdateMessageImpl;
 import org.apache.geode.internal.cache.tier.sockets.HAEventWrapper;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.ThreadUtils;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 
@@ -1350,7 +1350,7 @@ public class HARegionQueueJUnitTest {
    */
   @Test
   public void testExpiryUsingSystemProperty() throws Exception {
-    System.setProperty(GEODE_PREFIX + HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY, 
"1");
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY, "1");
 
     HARegionQueueAttributes haa = new HARegionQueueAttributes();
     HARegionQueue regionQueue = createHARegionQueue(testName.getMethodName(), 
haa);
diff --git 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsIntegrationTest.java
 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsIntegrationTest.java
index c5201d8..4061769 100644
--- 
a/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsIntegrationTest.java
+++ 
b/geode-core/src/integrationTest/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsIntegrationTest.java
@@ -18,7 +18,6 @@ package org.apache.geode.internal.cache.persistence;
 
 import static 
org.apache.geode.internal.cache.persistence.DefaultDiskDirs.getDefaultDiskDirs;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import org.junit.Rule;
@@ -27,6 +26,7 @@ import 
org.junit.contrib.java.lang.system.RestoreSystemProperties;
 import org.junit.experimental.categories.Category;
 import org.junit.rules.TemporaryFolder;
 
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.junit.categories.PersistenceTest;
 
 @Category({PersistenceTest.class})
@@ -40,7 +40,7 @@ public class DefaultDiskDirsIntegrationTest {
 
   @Test
   public void getDefaultDiskDirsReturnsOverriddenValue() {
-    System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY,
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY,
         temporaryFolder.getRoot().getAbsolutePath());
     
assertThat(getDefaultDiskDirs()[0]).exists().isEqualTo(temporaryFolder.getRoot());
   }
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventSerialization.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventSerialization.java
index a49f9cb..4c48be0 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventSerialization.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventSerialization.java
@@ -14,8 +14,8 @@
  */
 package org.apache.geode.internal.cache;
 
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductBooleanProperty;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.EARLY_ENTRY_EVENT_SERIALIZATION;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.getProductBooleanProperty;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionListBuilder.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionListBuilder.java
index a2f0563..408aba4 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionListBuilder.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/EvictionListBuilder.java
@@ -16,6 +16,7 @@ package org.apache.geode.internal.cache.eviction;
 
 import java.util.Optional;
 
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 
 public class EvictionListBuilder {
@@ -27,7 +28,7 @@ public class EvictionListBuilder {
   public EvictionListBuilder(EvictionController evictionController) {
     this.controller = evictionController;
     Optional<Boolean> asyncScan =
-        
SystemPropertyHelper.getProductBooleanProperty(SystemPropertyHelper.EVICTION_SCAN_ASYNC);
+        
SystemProperty.getProductBooleanProperty(SystemPropertyHelper.EVICTION_SCAN_ASYNC);
     evictionScanAsync = asyncScan.orElse(true);
   }
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithAsyncSorting.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithAsyncSorting.java
index 9e66a4b..59f4c47 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithAsyncSorting.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithAsyncSorting.java
@@ -27,6 +27,7 @@ import org.apache.geode.internal.cache.BucketRegion;
 import org.apache.geode.internal.cache.RegionEntry;
 import org.apache.geode.internal.cache.RegionEntryContext;
 import org.apache.geode.internal.cache.versions.RegionVersionVector;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.internal.logging.log4j.LogMarker;
 import org.apache.geode.logging.internal.executors.LoggingExecutors;
@@ -47,7 +48,7 @@ public class LRUListWithAsyncSorting extends 
AbstractEvictionList {
   private static final Logger logger = LogService.getLogger();
 
   @Immutable
-  private static final Optional<Integer> EVICTION_SCAN_MAX_THREADS = 
SystemPropertyHelper
+  private static final Optional<Integer> EVICTION_SCAN_MAX_THREADS = 
SystemProperty
       
.getProductIntegerProperty(SystemPropertyHelper.EVICTION_SCAN_MAX_THREADS);
 
   @MakeNotStatic
@@ -87,7 +88,7 @@ public class LRUListWithAsyncSorting extends 
AbstractEvictionList {
   }
 
   private double calculateScanThreshold() {
-    Optional<Integer> configuredThresholdPercent = SystemPropertyHelper
+    Optional<Integer> configuredThresholdPercent = SystemProperty
         
.getProductIntegerProperty(SystemPropertyHelper.EVICTION_SCAN_THRESHOLD_PERCENT);
 
     int thresholdPercent =
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithSyncSorting.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithSyncSorting.java
index 0ff2777..3002822 100755
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithSyncSorting.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/eviction/LRUListWithSyncSorting.java
@@ -19,6 +19,7 @@ import java.util.Optional;
 
 import org.apache.logging.log4j.Logger;
 
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.internal.logging.log4j.LogMarker;
 import org.apache.geode.logging.internal.log4j.api.LogService;
@@ -36,7 +37,7 @@ public class LRUListWithSyncSorting extends 
AbstractEvictionList {
 
   private int readMaxEntriesProperty() {
     int result = -1;
-    Optional<Integer> optionalMaxEntries = SystemPropertyHelper
+    Optional<Integer> optionalMaxEntries = SystemProperty
         
.getProductIntegerProperty(SystemPropertyHelper.EVICTION_SEARCH_MAX_ENTRIES);
     if (optionalMaxEntries.isPresent()) {
       result = optionalMaxEntries.get();
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
index 788a4dd..6765f1e 100755
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java
@@ -15,9 +15,9 @@
 package org.apache.geode.internal.cache.ha;
 
 import static org.apache.geode.cache.Region.SEPARATOR_CHAR;
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductIntegerProperty;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.HA_REGION_QUEUE_EXPIRY_TIME_PROPERTY;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.THREAD_ID_EXPIRY_TIME_PROPERTY;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.getProductIntegerProperty;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirs.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirs.java
index e7325f9..789cdb1 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirs.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirs.java
@@ -16,8 +16,8 @@
  */
 package org.apache.geode.internal.cache.persistence;
 
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductStringProperty;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.getProductStringProperty;
 
 import java.io.File;
 import java.util.Optional;
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheCreation.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheCreation.java
index 77e918c..c3caadc 100755
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheCreation.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/xmlcache/CacheCreation.java
@@ -162,6 +162,7 @@ import 
org.apache.geode.internal.cache.wan.AbstractGatewaySender;
 import org.apache.geode.internal.cache.wan.InternalGatewaySenderFactory;
 import org.apache.geode.internal.cache.wan.WANServiceProvider;
 import org.apache.geode.internal.jndi.JNDIInvoker;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.internal.logging.InternalLogWriter;
 import org.apache.geode.internal.logging.LocalLogWriter;
@@ -193,7 +194,7 @@ public class CacheCreation implements InternalCache {
   private static final RegionAttributes defaults = new 
AttributesFactory().create();
 
   @Immutable
-  private static final Optional<Boolean> parallelDiskStoreRecovery = 
SystemPropertyHelper
+  private static final Optional<Boolean> parallelDiskStoreRecovery = 
SystemProperty
       
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY);
 
   /**
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/config/JAXBService.java 
b/geode-core/src/main/java/org/apache/geode/internal/config/JAXBService.java
index 562399d..f99fdae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/config/JAXBService.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/config/JAXBService.java
@@ -16,6 +16,9 @@
  */
 package org.apache.geode.internal.config;
 
+import static org.apache.geode.internal.lang.SystemProperty.getProperty;
+import static 
org.apache.geode.internal.lang.SystemPropertyHelper.PACKAGES_TO_SCAN;
+
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.net.URL;
@@ -42,7 +45,6 @@ import org.xml.sax.helpers.XMLReaderFactory;
 
 import org.apache.geode.cache.configuration.XSDRootElement;
 import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.lang.SystemPropertyHelper;
 import org.apache.geode.management.internal.util.ClasspathScanLoadHelper;
 
 public class JAXBService {
@@ -94,7 +96,7 @@ public class JAXBService {
 
   static Set<String> getPackagesToScan() {
     Set<String> packages = new HashSet<>();
-    String sysProperty = 
SystemPropertyHelper.getProperty(SystemPropertyHelper.PACKAGES_TO_SCAN);
+    String sysProperty = getProperty(PACKAGES_TO_SCAN);
     if (sysProperty != null) {
       packages = 
Arrays.stream(sysProperty.split(",")).collect(Collectors.toSet());
     } else {
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..01bdb67 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
@@ -14,8 +14,9 @@
  */
 package org.apache.geode.internal.lang;
 
-import java.util.Optional;
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductBooleanProperty;
 
+import org.apache.geode.internal.cache.eviction.LRUListWithAsyncSorting;
 
 /**
  * The SystemPropertyHelper class is an helper class for accessing system 
properties used in geode.
@@ -25,12 +26,9 @@ import java.util.Optional;
  */
 public class SystemPropertyHelper {
 
-  public static final String GEODE_PREFIX = "geode.";
-  public static final String GEMFIRE_PREFIX = "gemfire.";
-
   /**
    * When set to "true" enables asynchronous eviction algorithm (defaults to 
true). For more details
-   * see {@link 
org.apache.geode.internal.cache.eviction.LRUListWithAsyncSorting}.
+   * see {@link LRUListWithAsyncSorting}.
    *
    * @since Geode 1.4.0
    */
@@ -39,7 +37,7 @@ public class SystemPropertyHelper {
   /**
    * This property allows the maximum number of threads used for asynchronous 
eviction scanning to
    * be configured. It defaults to 
"Math.max((Runtime.getRuntime().availableProcessors() / 4), 1)".
-   * For more details see {@link 
org.apache.geode.internal.cache.eviction.LRUListWithAsyncSorting}.
+   * For more details see {@link LRUListWithAsyncSorting}.
    *
    * @since Geode 1.4.0
    */
@@ -50,7 +48,7 @@ public class SystemPropertyHelper {
    * started. If the number of entries that have been recently used since the 
previous scan divided
    * by total number of entries exceeds the threshold then a scan is started. 
The default threshold
    * is 25. If the threshold is less than 0 or greater than 100 then the 
default threshold is used.
-   * For more details see {@link 
org.apache.geode.internal.cache.eviction.LRUListWithAsyncSorting}.
+   * For more details see {@link LRUListWithAsyncSorting}.
    *
    * @since Geode 1.4.0
    */
@@ -72,8 +70,22 @@ public class SystemPropertyHelper {
   public static final String USE_HTTP_SYSTEM_PROPERTY = "useHTTP";
 
   /**
+   * This property allows users to enable retrying when client application 
encounters
+   * PdxSerializationException. The default setting is false, and 
PdxSerializationException will not
+   * be retried. It will cause client application to throw 
ServerOperationException. When the
+   * property is set to true, the client application will automatically retry 
the operation to
+   * another server if encountered PdxSerializationException.
+   *
+   * @since Geode 1.15.0
+   */
+  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.
+   *
+   * <p>
    * This is used by the FastPathScanner to scan for:
    * 1. XSDRootElement annotation
    *
@@ -88,69 +100,28 @@ public class SystemPropertyHelper {
   public static final String PARALLEL_DISK_STORE_RECOVERY = 
"parallelDiskStoreRecovery";
 
   /**
-   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
-   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
-   *
-   * @param name system property name set in Geode
-   * @return an Optional containing the Boolean value of the system property
-   */
-  public static Optional<Boolean> getProductBooleanProperty(String name) {
-    String property = getProperty(name);
-    return property != null ? Optional.of(Boolean.parseBoolean(property)) : 
Optional.empty();
-  }
-
-  /**
-   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
-   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
-   *
-   * @param name system property name set in Geode
-   * @return an Optional containing the Integer value of the system property
+   * Milliseconds to wait before retrying to get events for a transaction from 
the
+   * gateway sender queue when group-transaction-events is true.
    */
-  public static Optional<Integer> getProductIntegerProperty(String name) {
-    Integer propertyValue = Integer.getInteger(GEODE_PREFIX + name);
-    if (propertyValue == null) {
-      propertyValue = Integer.getInteger(GEMFIRE_PREFIX + name);
-    }
-
-    if (propertyValue != null) {
-      return Optional.of(propertyValue);
-    } else {
-      return Optional.empty();
-    }
-  }
+  public static final String GET_TRANSACTION_EVENTS_FROM_QUEUE_WAIT_TIME_MS =
+      "get-transaction-events-from-queue-wait-time-ms";
 
   /**
-   * This method will try to look up "geode." and "gemfire." versions of the 
system property. It
-   * will check and prefer "geode." setting first, then try to check 
"gemfire." setting.
-   *
-   * @param name system property name set in Geode
-   * @return an Optional containing the String value of the system property
+   * Milliseconds to wait for the client to re-authenticate back before 
unregister this client
+   * proxy. If client re-authenticate back successfully within this period, 
messages will continue
+   * to be delivered to the client
    */
-  public static Optional<String> getProductStringProperty(String name) {
-    String property = getProperty(name);
-    return property != null ? Optional.of(property) : Optional.empty();
-  }
-
-  public static String getProperty(String name) {
-    String property = getGeodeProperty(name);
-    return property != null ? property : getGemfireProperty(name);
-  }
-
-  private static String getGeodeProperty(String name) {
-    return System.getProperty(GEODE_PREFIX + name);
-  }
-
-  private static String getGemfireProperty(String name) {
-    return System.getProperty(GEMFIRE_PREFIX + name);
-  }
+  public static final String RE_AUTHENTICATE_WAIT_TIME = 
"reauthenticate.wait.time";
 
   /**
    * As of Geode 1.4.0, a region set operation will be in a transaction even 
if it is the first
    * operation in the transaction.
    *
+   * <p>
    * In previous releases, a region set operation is not in a transaction if 
it is the first
    * operation of the transaction.
    *
+   * <p>
    * Setting this system property to true will restore the previous behavior.
    *
    * @since Geode 1.4.0
@@ -163,6 +134,7 @@ public class SystemPropertyHelper {
    * As of Geode 1.4.0, idle expiration on a replicate or partitioned region 
will now do a
    * distributed check for a more recent last access time on one of the other 
copies of the region.
    *
+   * <p>
    * This system property can be set to true to turn off this new check and 
restore the previous
    * behavior of only using the local last access time as the basis for 
expiration.
    *
@@ -171,4 +143,5 @@ public class SystemPropertyHelper {
   public static boolean restoreIdleExpirationBehavior() {
     return 
getProductBooleanProperty("restoreIdleExpirationBehavior").orElse(false);
   }
+
 }
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/logging/CoreLoggingExecutors.java
 
b/geode-core/src/main/java/org/apache/geode/internal/logging/CoreLoggingExecutors.java
index 38fcb4f..7183402 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/logging/CoreLoggingExecutors.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/logging/CoreLoggingExecutors.java
@@ -16,7 +16,7 @@ package org.apache.geode.internal.logging;
 
 import static java.lang.Integer.getInteger;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
 
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.BlockingQueue;
diff --git 
a/geode-core/src/main/java/org/apache/geode/logging/internal/Configuration.java 
b/geode-core/src/main/java/org/apache/geode/logging/internal/Configuration.java
index 2f6d2df..1074067 100644
--- 
a/geode-core/src/main/java/org/apache/geode/logging/internal/Configuration.java
+++ 
b/geode-core/src/main/java/org/apache/geode/logging/internal/Configuration.java
@@ -14,11 +14,11 @@
  */
 package org.apache.geode.logging.internal;
 
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static 
org.apache.geode.logging.internal.spi.LogLevelUpdateOccurs.ONLY_WHEN_USING_DEFAULT_CONFIG;
 import static 
org.apache.geode.logging.internal.spi.LogLevelUpdateScope.GEODE_LOGGERS;
 
 import org.apache.geode.annotations.VisibleForTesting;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.logging.internal.spi.LogConfig;
 import org.apache.geode.logging.internal.spi.LogConfigListener;
 import org.apache.geode.logging.internal.spi.LogConfigSupplier;
@@ -52,13 +52,13 @@ public class Configuration implements LogConfigListener {
    * System property that may be used to override which {@code 
LogLevelUpdateOccurs} to use.
    */
   public static final String LOG_LEVEL_UPDATE_OCCURS_PROPERTY =
-      GEODE_PREFIX + "LOG_LEVEL_UPDATE_OCCURS";
+      SystemProperty.DEFAULT_PREFIX + "LOG_LEVEL_UPDATE_OCCURS";
 
   /**
    * System property that may be used to override which {@code 
LogLevelUpdateScope} to use.
    */
   static final String LOG_LEVEL_UPDATE_SCOPE_PROPERTY =
-      GEODE_PREFIX + "LOG_LEVEL_UPDATE_SCOPE";
+      SystemProperty.DEFAULT_PREFIX + "LOG_LEVEL_UPDATE_SCOPE";
 
   private final LogLevelUpdateOccurs logLevelUpdateOccurs;
   private final LogLevelUpdateScope logLevelUpdateScope;
diff --git 
a/geode-core/src/main/java/org/apache/geode/logging/internal/LoggingProviderLoader.java
 
b/geode-core/src/main/java/org/apache/geode/logging/internal/LoggingProviderLoader.java
index ebf6228..8505a37 100644
--- 
a/geode-core/src/main/java/org/apache/geode/logging/internal/LoggingProviderLoader.java
+++ 
b/geode-core/src/main/java/org/apache/geode/logging/internal/LoggingProviderLoader.java
@@ -14,8 +14,6 @@
  */
 package org.apache.geode.logging.internal;
 
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
-
 import java.util.Collection;
 import java.util.SortedMap;
 import java.util.TreeMap;
@@ -25,6 +23,7 @@ import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.annotations.VisibleForTesting;
 import org.apache.geode.internal.ClassPathLoader;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.internal.util.CollectingServiceLoader;
 import org.apache.geode.internal.util.ListCollectingServiceLoader;
 import org.apache.geode.logging.internal.spi.LoggingProvider;
@@ -47,7 +46,7 @@ public class LoggingProviderLoader {
    */
   @VisibleForTesting
   public static final String LOGGING_PROVIDER_NAME_PROPERTY =
-      GEODE_PREFIX + "LOGGING_PROVIDER_NAME";
+      SystemProperty.DEFAULT_PREFIX + "LOGGING_PROVIDER_NAME";
 
   public LoggingProvider load() {
     // 1: use LOGGING_PROVIDER_NAME_PROPERTY if set
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/EntryEventSerializationTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/EntryEventSerializationTest.java
index c6a441d..2700c02 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/EntryEventSerializationTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/EntryEventSerializationTest.java
@@ -15,7 +15,6 @@
 package org.apache.geode.internal.cache;
 
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.EARLY_ENTRY_EVENT_SERIALIZATION;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatCode;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -36,6 +35,7 @@ import org.mockito.ArgumentCaptor;
 
 import org.apache.geode.SerializationException;
 import org.apache.geode.cache.Scope;
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.pdx.internal.PdxInstanceImpl;
 
 public class EntryEventSerializationTest {
@@ -50,7 +50,7 @@ public class EntryEventSerializationTest {
 
   @Before
   public void setUp() {
-    System.setProperty(GEODE_PREFIX + EARLY_ENTRY_EVENT_SERIALIZATION, "true");
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
EARLY_ENTRY_EVENT_SERIALIZATION, "true");
 
     region = mock(InternalRegion.class);
     event = mock(InternalEntryEvent.class);
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsTest.java
index 8a77133..1a69c79 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsTest.java
@@ -18,7 +18,6 @@ package org.apache.geode.internal.cache.persistence;
 
 import static 
org.apache.geode.internal.cache.persistence.DefaultDiskDirs.getDefaultDiskDirs;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.File;
@@ -27,6 +26,8 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.contrib.java.lang.system.RestoreSystemProperties;
 
+import org.apache.geode.internal.lang.SystemProperty;
+
 
 public class DefaultDiskDirsTest {
 
@@ -40,7 +41,8 @@ public class DefaultDiskDirsTest {
 
   @Test
   public void getDefaultDiskDirsReturnsOverriddenValue() {
-    System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, 
"/FullyQualifiedPath");
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY,
+        "/FullyQualifiedPath");
     assertThat(getDefaultDiskDirs()).isEqualTo(new File[] {new 
File("/FullyQualifiedPath")});
   }
 }
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PersistenceInitialImageAdvisorTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PersistenceInitialImageAdvisorTest.java
index 66f1004..d811cdd 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PersistenceInitialImageAdvisorTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PersistenceInitialImageAdvisorTest.java
@@ -20,7 +20,6 @@ import static java.util.Collections.emptySet;
 import static java.util.stream.Collectors.toCollection;
 import static java.util.stream.Collectors.toSet;
 import static 
org.apache.geode.internal.cache.persistence.MembershipChangeListenerFactory.cancelCondition;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.PERSISTENT_VIEW_RETRY_TIMEOUT_SECONDS;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.catchThrowable;
@@ -58,6 +57,7 @@ import org.apache.geode.distributed.internal.ReplyException;
 import 
org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.internal.cache.CacheDistributionAdvisor;
 import 
org.apache.geode.internal.cache.CacheDistributionAdvisor.InitialImageAdvice;
+import org.apache.geode.internal.lang.SystemProperty;
 
 public class PersistenceInitialImageAdvisorTest {
 
@@ -73,7 +73,8 @@ public class PersistenceInitialImageAdvisorTest {
 
   @Before
   public void setUp() {
-    System.setProperty(GEODE_PREFIX + PERSISTENT_VIEW_RETRY_TIMEOUT_SECONDS, 
String.valueOf(15));
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
PERSISTENT_VIEW_RETRY_TIMEOUT_SECONDS,
+        String.valueOf(15));
 
     persistenceAdvisor = mock(InternalPersistenceAdvisor.class);
     cacheDistributionAdvisor = mock(CacheDistributionAdvisor.class, 
RETURNS_DEEP_STUBS);
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..f1f61d9 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
@@ -14,145 +14,105 @@
  */
 package org.apache.geode.internal.lang;
 
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.GEMFIRE_PREFIX;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.DEFAULT_PREFIX;
+import static org.apache.geode.internal.lang.SystemProperty.GEMFIRE_PREFIX;
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductBooleanProperty;
+import static 
org.apache.geode.internal.lang.SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY;
+import static 
org.apache.geode.internal.lang.SystemPropertyHelper.restoreSetOperationTransactionBehavior;
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.junit.Rule;
 import org.junit.Test;
-
+import org.junit.contrib.java.lang.system.RestoreSystemProperties;
 
 public class SystemPropertyHelperTest {
-  private String restoreSetOperationTransactionBehavior = 
"restoreSetOperationTransactionBehavior";
+
+  private final String restoreSetOperationTransactionBehavior =
+      "restoreSetOperationTransactionBehavior";
+
+  @Rule
+  public RestoreSystemProperties restoreSystemProperties = new 
RestoreSystemProperties();
 
   @Test
   public void testRestoreSetOperationTransactionBehaviorDefaultToFalse() {
-    
assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isFalse();
+    assertThat(restoreSetOperationTransactionBehavior()).isFalse();
   }
 
   @Test
-  public void testRestoreSetOperationTransactionBehaviorSystemProperty() {
+  public void 
testRestoreSetOperationTransactionBehaviorGemfireSystemProperty() {
     String gemfirePrefixProperty = "gemfire." + 
restoreSetOperationTransactionBehavior;
     System.setProperty(gemfirePrefixProperty, "true");
-    
assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isTrue();
-    System.clearProperty(gemfirePrefixProperty);
+    assertThat(restoreSetOperationTransactionBehavior()).isTrue();
+  }
 
+  @Test
+  public void testRestoreSetOperationTransactionBehaviorGeodeSystemProperty() {
     String geodePrefixProperty = "geode." + 
restoreSetOperationTransactionBehavior;
     System.setProperty(geodePrefixProperty, "true");
-    
assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isTrue();
-    System.clearProperty(geodePrefixProperty);
+    assertThat(restoreSetOperationTransactionBehavior()).isTrue();
   }
 
   @Test
   public void testRestoreSetOperationTransactionBehaviorGeodePreference() {
     String gemfirePrefixProperty = "gemfire." + 
restoreSetOperationTransactionBehavior;
     String geodePrefixProperty = "geode." + 
restoreSetOperationTransactionBehavior;
+
     System.setProperty(geodePrefixProperty, "false");
     System.setProperty(gemfirePrefixProperty, "true");
-    
assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isFalse();
-    System.clearProperty(geodePrefixProperty);
-    System.clearProperty(gemfirePrefixProperty);
-  }
 
-  @Test
-  public void getIntegerPropertyPrefersGeodePrefix() {
-    String testProperty = "testIntegerProperty";
-    String gemfirePrefixProperty = "gemfire." + testProperty;
-    String geodePrefixProperty = "geode." + testProperty;
-    System.setProperty(geodePrefixProperty, "1");
-    System.setProperty(gemfirePrefixProperty, "0");
-    
assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).get()).isEqualTo(1);
-    System.clearProperty(geodePrefixProperty);
-    System.clearProperty(gemfirePrefixProperty);
+    assertThat(restoreSetOperationTransactionBehavior()).isFalse();
   }
 
   @Test
-  public void getIntegerPropertyReturnsGemfirePrefixIfGeodeMissing() {
-    String testProperty = "testIntegerProperty";
+  public void 
getBooleanPropertyReturnsEnableRetryOnPdxSerializationException() {
+    String testProperty = "enableQueryRetryOnPdxSerializationException";
     String gemfirePrefixProperty = "gemfire." + testProperty;
-    System.setProperty(gemfirePrefixProperty, "1");
-    
assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).get()).isEqualTo(1);
+
+    System.setProperty(gemfirePrefixProperty, "true");
+    assertThat(getProductBooleanProperty(testProperty).get()).isTrue();
+
     System.clearProperty(gemfirePrefixProperty);
+    
assertThat(getProductBooleanProperty(testProperty).orElse(false)).isFalse();
   }
 
   @Test
-  public void getIntegerPropertyReturnsEmptyOptionalIfPropertiesMissing() {
-    String testProperty = "notSetProperty";
-    
assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).isPresent()).isFalse();
+  public void getBooleanPropertyParallelDiskStoreRecovery_default() {
+    // default
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).isPresent()).isFalse();
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).orElse(true)).isTrue();
   }
 
   @Test
-  public void getBooleanPropertyReturnsEmptyOptionalIfProperiesMissing() {
-    String testProperty = "notSetProperty";
-    
assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).isPresent()).isFalse();
+  public void getBooleanPropertyParallelDiskStoreRecovery_withoutPrefix() {
+    // without geode or gemfire prefix
+    System.setProperty(PARALLEL_DISK_STORE_RECOVERY, "true");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).isPresent()).isFalse();
   }
 
   @Test
-  public void getBooleanPropertyPrefersGeodePrefix() {
-    String testProperty = "testBooleanProperty";
-    String gemfirePrefixProperty = "gemfire." + testProperty;
-    String geodePrefixProperty = "geode." + testProperty;
-    System.setProperty(geodePrefixProperty, "true");
-    System.setProperty(gemfirePrefixProperty, "false");
-    
assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue();
-    System.clearProperty(geodePrefixProperty);
-    System.clearProperty(gemfirePrefixProperty);
+  public void getBooleanPropertyParallelDiskStoreRecovery_withGeodePrefix() {
+    // with geode prefix
+    System.setProperty(DEFAULT_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "true");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).get()).isTrue();
+    System.setProperty(DEFAULT_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "false");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).get()).isFalse();
   }
 
   @Test
-  public void getBooleanPropertyReturnsGemfirePrefixIfGeodeMissing() {
-    String testProperty = "testBooleanProperty";
-    String gemfirePrefixProperty = "gemfire." + testProperty;
-    System.setProperty(gemfirePrefixProperty, "true");
-    
assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue();
-    System.clearProperty(gemfirePrefixProperty);
+  public void getBooleanPropertyParallelDiskStoreRecovery_withGemFirePrefix() {
+    // with gemfire prefix
+    System.clearProperty(DEFAULT_PREFIX + PARALLEL_DISK_STORE_RECOVERY);
+    System.setProperty(GEMFIRE_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "true");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).get()).isTrue();
+    System.setProperty(GEMFIRE_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "false");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).get()).isFalse();
   }
 
   @Test
-  public void getBooleanPropertyParallelDiskStoreRecovery() {
-    // default
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).isPresent())
-            .isFalse();
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).orElse(true))
-            .isTrue();
-
-    // without geode or gemfire prefix
-    System.setProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, 
"true");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).isPresent())
-            .isFalse();
-
-    // with geode prefix
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "true");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).get())
-            .isTrue();
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "false");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).get())
-            .isFalse();
-
-    // with gemfire prefix
-    System.clearProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY);
-    System.setProperty(GEMFIRE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "true");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).get())
-            .isTrue();
-    System.setProperty(GEMFIRE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "false");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).get())
-            .isFalse();
-
+  public void getBooleanPropertyParallelDiskStoreRecovery_withBothPrefixes() {
     // with geode and gemfire prefix
-    System.setProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "true");
-    System.setProperty(GEMFIRE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY, "false");
-    assertThat(SystemPropertyHelper
-        
.getProductBooleanProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY).get())
-            .isTrue();
-
-    System.clearProperty(SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY);
-    System.clearProperty(GEODE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY);
-    System.clearProperty(GEMFIRE_PREFIX + 
SystemPropertyHelper.PARALLEL_DISK_STORE_RECOVERY);
+    System.setProperty(DEFAULT_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "true");
+    System.setProperty(GEMFIRE_PREFIX + PARALLEL_DISK_STORE_RECOVERY, "false");
+    
assertThat(getProductBooleanProperty(PARALLEL_DISK_STORE_RECOVERY).get()).isTrue();
   }
 }
diff --git 
a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedDiskDirRuleDistributedTest.java
 
b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedDiskDirRuleDistributedTest.java
index deb2151..e152817 100644
--- 
a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedDiskDirRuleDistributedTest.java
+++ 
b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedDiskDirRuleDistributedTest.java
@@ -15,7 +15,6 @@
 package org.apache.geode.test.dunit.rules.tests;
 
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.apache.geode.test.dunit.VM.getAllVMs;
 import static org.apache.geode.test.dunit.VM.getController;
 import static org.apache.geode.test.dunit.VM.getVM;
@@ -30,6 +29,7 @@ import java.util.List;
 import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
@@ -50,7 +50,8 @@ public class DistributedDiskDirRuleDistributedTest implements 
Serializable {
   public void setsDefaultDiskDirsPropertyInEveryVm() {
     for (VM vm : toArray(getAllVMs(), getController())) {
       vm.invoke(() -> {
-        String propertyValue = System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
+        String propertyValue =
+            System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
 
         assertThat(propertyValue)
             
.isEqualTo(distributedDiskDirRule.getDiskDirFor(vm).getAbsolutePath());
@@ -64,7 +65,8 @@ public class DistributedDiskDirRuleDistributedTest implements 
Serializable {
 
     for (VM vm : toArray(getAllVMs(), getController())) {
       String propertyValue =
-          vm.invoke(() -> System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
+          vm.invoke(
+              () -> System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
       assertThat(propertyValues).doesNotContain(propertyValue);
       propertyValues.add(propertyValue);
     }
@@ -77,7 +79,8 @@ public class DistributedDiskDirRuleDistributedTest implements 
Serializable {
     VM newVM = getVM(getVMCount());
 
     String propertyValue =
-        newVM.invoke(() -> System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
+        newVM.invoke(
+            () -> System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
 
     assertThat(propertyValue).isNotNull();
   }
@@ -85,12 +88,14 @@ public class DistributedDiskDirRuleDistributedTest 
implements Serializable {
   @Test
   public void defaultDiskDirsPropertyIsKeptInBouncedVm() {
     String propertyValueBeforeBounce =
-        getVM(0).invoke(() -> System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
+        getVM(0).invoke(
+            () -> System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
 
     getVM(0).bounce();
 
     String propertyValueAfterBounce =
-        getVM(0).invoke(() -> System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
+        getVM(0).invoke(
+            () -> System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
     assertThat(propertyValueAfterBounce).isEqualTo(propertyValueBeforeBounce);
   }
 }
diff --git 
a/geode-dunit/src/integrationTest/java/org/apache/geode/test/junit/rules/DiskDirRuleIntegrationTest.java
 
b/geode-dunit/src/integrationTest/java/org/apache/geode/test/junit/rules/DiskDirRuleIntegrationTest.java
index 83f2294..0c5492c 100644
--- 
a/geode-dunit/src/integrationTest/java/org/apache/geode/test/junit/rules/DiskDirRuleIntegrationTest.java
+++ 
b/geode-dunit/src/integrationTest/java/org/apache/geode/test/junit/rules/DiskDirRuleIntegrationTest.java
@@ -16,7 +16,6 @@ package org.apache.geode.test.junit.rules;
 
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.File;
@@ -30,6 +29,7 @@ import org.junit.rules.TestName;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.internal.cache.DiskStoreImpl;
 import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.lang.SystemProperty;
 
 /**
  * Integration tests for {@link DiskDirRule}.
@@ -74,7 +74,8 @@ public class DiskDirRuleIntegrationTest {
 
   @Test
   public void setsDefaultDiskDirsSystemProperty() {
-    String propertyValue = System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
+    String propertyValue =
+        System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
 
     
assertThat(propertyValue).isEqualTo(diskDirRule.getDiskDir().getAbsolutePath());
   }
diff --git 
a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedDiskDirRule.java
 
b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedDiskDirRule.java
index 672e9a9..0ebf10d 100644
--- 
a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedDiskDirRule.java
+++ 
b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedDiskDirRule.java
@@ -16,9 +16,8 @@
  */
 package org.apache.geode.test.dunit.rules;
 
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductStringProperty;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.getProductStringProperty;
 import static org.apache.geode.test.dunit.VM.DEFAULT_VM_COUNT;
 import static org.apache.geode.test.dunit.VM.getCurrentVMNum;
 
@@ -32,6 +31,7 @@ import org.junit.rules.TemporaryFolder;
 import org.junit.rules.TestName;
 import org.junit.runner.Description;
 
+import org.apache.geode.internal.lang.SystemProperty;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.VMEventListener;
 import org.apache.geode.test.dunit.internal.DUnitLauncher;
@@ -118,7 +118,9 @@ public class DistributedDiskDirRule extends DiskDirRule 
implements SerializableT
    * Returns the current default disk dirs value for the specified VM.
    */
   public File getDiskDirFor(VM vm) {
-    return new File(vm.invoke(() -> System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY)));
+    return new File(
+        vm.invoke(
+            () -> System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY)));
   }
 
   @Override
@@ -176,7 +178,8 @@ public class DistributedDiskDirRule extends DiskDirRule 
implements SerializableT
       Files.createDirectory(diskDir.toPath());
     }
 
-    System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, 
diskDir.getAbsolutePath());
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY,
+        diskDir.getAbsolutePath());
   }
 
   private void doAfter() {
@@ -185,9 +188,10 @@ public class DistributedDiskDirRule extends DiskDirRule 
implements SerializableT
           + getCurrentVMNum() + ". Rule does not support VM.bounce().");
     }
     if (data.originalValue() == null) {
-      System.clearProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY);
+      System.clearProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
     } else {
-      System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, 
data.originalValue());
+      System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY,
+          data.originalValue());
     }
   }
 
diff --git 
a/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/DiskDirRule.java 
b/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/DiskDirRule.java
index 6a9f00e..b221dac 100644
--- 
a/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/DiskDirRule.java
+++ 
b/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/DiskDirRule.java
@@ -16,9 +16,8 @@
  */
 package org.apache.geode.test.junit.rules;
 
+import static 
org.apache.geode.internal.lang.SystemProperty.getProductStringProperty;
 import static 
org.apache.geode.internal.lang.SystemPropertyHelper.DEFAULT_DISK_DIRS_PROPERTY;
-import static org.apache.geode.internal.lang.SystemPropertyHelper.GEODE_PREFIX;
-import static 
org.apache.geode.internal.lang.SystemPropertyHelper.getProductStringProperty;
 
 import java.io.File;
 import java.lang.reflect.Method;
@@ -28,6 +27,8 @@ import org.junit.rules.TemporaryFolder;
 import org.junit.rules.TestName;
 import org.junit.runner.Description;
 
+import org.apache.geode.internal.lang.SystemProperty;
+
 /**
  * JUnit Rule that overrides the default DiskDirs directory. Internally, 
TemporaryFolder and
  * TestName are used by this rule to define the directory locations and names.
@@ -73,7 +74,7 @@ public class DiskDirRule extends DescribedExternalResource {
    * Returns the current default disk dirs value.
    */
   public File getDiskDir() {
-    return new File(System.getProperty(GEODE_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
+    return new File(System.getProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY));
   }
 
   @Override
@@ -85,15 +86,16 @@ public class DiskDirRule extends DescribedExternalResource {
 
     File diskDir = 
temporaryFolder.newFolder(getDiskDirName(description.getClassName()));
 
-    System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, 
diskDir.getAbsolutePath());
+    System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY,
+        diskDir.getAbsolutePath());
   }
 
   @Override
   protected void after(Description description) {
     if (originalValue == null) {
-      System.clearProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY);
+      System.clearProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY);
     } else {
-      System.setProperty(GEODE_PREFIX + DEFAULT_DISK_DIRS_PROPERTY, 
originalValue);
+      System.setProperty(SystemProperty.DEFAULT_PREFIX + 
DEFAULT_DISK_DIRS_PROPERTY, originalValue);
     }
   }
 

Reply via email to