This is an automated email from the ASF dual-hosted git repository. klund pushed a commit to branch support/1.12 in repository https://gitbox.apache.org/repos/asf/geode.git
commit c374cb98e1255507a69b5e6f465789105560c2a7 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 | 5 + .../apache/geode/internal/lang/SystemProperty.java | 118 +++++++++++++++++++++ .../geode/internal/lang/SystemPropertyTest.java | 82 +++++++------- ...okenSerializationConsistencyRegressionTest.java | 6 +- ...entDeserializationCopyOnReadRegressionTest.java | 7 +- .../cache/PartitionedRegionSingleHopDUnitTest.java | 2 +- .../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 +- .../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 | 101 ++++++++++-------- .../DistributedDiskDirRuleDistributedTest.java | 17 +-- .../junit/rules/DiskDirRuleIntegrationTest.java | 5 +- .../test/dunit/rules/DistributedDiskDirRule.java | 16 +-- .../apache/geode/test/junit/rules/DiskDirRule.java | 14 +-- 32 files changed, 340 insertions(+), 205 deletions(-) diff --git a/geode-common/build.gradle b/geode-common/build.gradle index 3ba882f..48b81e1 100755 --- a/geode-common/build.gradle +++ b/geode-common/build.gradle @@ -22,6 +22,11 @@ apply from: "${project.projectDir}/../gradle/publish-java.gradle" dependencies { compile(platform(project(':boms:geode-all-bom'))) compile('com.fasterxml.jackson.core:jackson-databind') + + // test + testImplementation('com.github.stefanbirkner:system-rules') { + exclude module: 'junit-dep' + } testCompile('junit:junit') testImplementation('org.apache.commons:commons-lang3') testCompile('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-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java b/geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java similarity index 50% copy from geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java copy to geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java index 5193003..eb319ab 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/lang/SystemPropertyHelperTest.java +++ b/geode-common/src/test/java/org/apache/geode/internal/lang/SystemPropertyTest.java @@ -14,74 +14,75 @@ */ 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 { -public class SystemPropertyHelperTest { - private String restoreSetOperationTransactionBehavior = "restoreSetOperationTransactionBehavior"; + @Rule + public RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties(); @Test - public void testRestoreSetOperationTransactionBehaviorDefaultToFalse() { - assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isFalse(); + 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 testRestoreSetOperationTransactionBehaviorSystemProperty() { - String gemfirePrefixProperty = "gemfire." + restoreSetOperationTransactionBehavior; - System.setProperty(gemfirePrefixProperty, "true"); - assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isTrue(); - System.clearProperty(gemfirePrefixProperty); + public void getIntegerPropertyReturnsGemfirePrefixIfGeodeMissing() { + String testProperty = "testIntegerProperty"; + String gemfirePrefixProperty = "gemfire." + testProperty; + System.setProperty(gemfirePrefixProperty, "1"); - String geodePrefixProperty = "geode." + restoreSetOperationTransactionBehavior; - System.setProperty(geodePrefixProperty, "true"); - assertThat(SystemPropertyHelper.restoreSetOperationTransactionBehavior()).isTrue(); - System.clearProperty(geodePrefixProperty); + assertThat(getProductIntegerProperty(testProperty).get()).isEqualTo(1); } @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); + public void getIntegerPropertyWithDefaultValue() { + String testProperty = "testIntegerProperty"; + + assertThat(getProductIntegerProperty(testProperty, 1000)).isEqualTo(1000); } @Test - public void getIntegerPropertyPrefersGeodePrefix() { - String testProperty = "testIntegerProperty"; + public void getLongPropertyWithoutDefaultReturnsGemfirePrefixIfGeodeMissing() { + String testProperty = "testLongProperty"; 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); + System.setProperty(gemfirePrefixProperty, "1"); + + assertThat(getProductLongProperty(testProperty).get()).isEqualTo(1); } @Test - public void getIntegerPropertyReturnsGemfirePrefixIfGeodeMissing() { + public void getLongPropertyWithDefaultValue() { String testProperty = "testIntegerProperty"; - String gemfirePrefixProperty = "gemfire." + testProperty; - System.setProperty(gemfirePrefixProperty, "1"); - assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).get()).isEqualTo(1); - System.clearProperty(gemfirePrefixProperty); + + assertThat(getProductLongProperty(testProperty, 1000)).isEqualTo(1000); } @Test public void getIntegerPropertyReturnsEmptyOptionalIfPropertiesMissing() { String testProperty = "notSetProperty"; - assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).isPresent()).isFalse(); + + assertThat(getProductIntegerProperty(testProperty).isPresent()).isFalse(); } @Test public void getBooleanPropertyReturnsEmptyOptionalIfProperiesMissing() { String testProperty = "notSetProperty"; - assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).isPresent()).isFalse(); + + assertThat(getProductBooleanProperty(testProperty).isPresent()).isFalse(); } @Test @@ -91,9 +92,8 @@ public class SystemPropertyHelperTest { String geodePrefixProperty = "geode." + testProperty; System.setProperty(geodePrefixProperty, "true"); System.setProperty(gemfirePrefixProperty, "false"); - assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue(); - System.clearProperty(geodePrefixProperty); - System.clearProperty(gemfirePrefixProperty); + + assertThat(getProductBooleanProperty(testProperty).get()).isTrue(); } @Test @@ -101,7 +101,7 @@ public class SystemPropertyHelperTest { String testProperty = "testBooleanProperty"; String gemfirePrefixProperty = "gemfire." + testProperty; System.setProperty(gemfirePrefixProperty, "true"); - assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue(); - System.clearProperty(gemfirePrefixProperty); + + 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/PartitionedRegionSingleHopDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java index 0641897..eb55f54 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 @@ -18,7 +18,7 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION; 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.getVM; 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 c9da86a..c550312 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 1768278..a605573 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 @@ -20,7 +20,7 @@ import static org.apache.geode.distributed.ConfigurationProperties.DELTA_PROPAGA import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT; 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 83c7a7c..9688586 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 @@ -17,7 +17,7 @@ package org.apache.geode.internal.cache.tier.sockets; import static java.util.concurrent.TimeUnit.MILLISECONDS; 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 b2f935b..8dadc6f 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 593909f..5340ad4 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 @@ -14,9 +14,9 @@ */ package org.apache.geode.internal.cache.ha; +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/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 4b4685a..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 * @@ -82,69 +94,34 @@ public class SystemPropertyHelper { public static final String PACKAGES_TO_SCAN = "packagesToScan"; /** - * 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 + * This property turns on/off parallel disk store recovery during cluster restart. + * By default, the value is True, which allows parallel disk store recovery by multiple threads. */ - public static Optional<Boolean> getProductBooleanProperty(String name) { - String property = getProperty(name); - return property != null ? Optional.of(Boolean.parseBoolean(property)) : Optional.empty(); - } + 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 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 @@ -157,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. * @@ -165,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 70ceea6..81d2efa 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.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.SECONDS; -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 5193003..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,94 +14,105 @@ */ package org.apache.geode.internal.lang; +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); + + assertThat(restoreSetOperationTransactionBehavior()).isFalse(); } @Test - public void getIntegerPropertyPrefersGeodePrefix() { - String testProperty = "testIntegerProperty"; + public void getBooleanPropertyReturnsEnableRetryOnPdxSerializationException() { + String testProperty = "enableQueryRetryOnPdxSerializationException"; 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.setProperty(gemfirePrefixProperty, "true"); + assertThat(getProductBooleanProperty(testProperty).get()).isTrue(); + System.clearProperty(gemfirePrefixProperty); + assertThat(getProductBooleanProperty(testProperty).orElse(false)).isFalse(); } @Test - public void getIntegerPropertyReturnsGemfirePrefixIfGeodeMissing() { - String testProperty = "testIntegerProperty"; - String gemfirePrefixProperty = "gemfire." + testProperty; - System.setProperty(gemfirePrefixProperty, "1"); - assertThat(SystemPropertyHelper.getProductIntegerProperty(testProperty).get()).isEqualTo(1); - System.clearProperty(gemfirePrefixProperty); + 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 getIntegerPropertyReturnsEmptyOptionalIfPropertiesMissing() { - String testProperty = "notSetProperty"; - assertThat(SystemPropertyHelper.getProductIntegerProperty(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 getBooleanPropertyReturnsEmptyOptionalIfProperiesMissing() { - String testProperty = "notSetProperty"; - assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).isPresent()).isFalse(); + 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 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_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 getBooleanPropertyReturnsGemfirePrefixIfGeodeMissing() { - String testProperty = "testBooleanProperty"; - String gemfirePrefixProperty = "gemfire." + testProperty; - System.setProperty(gemfirePrefixProperty, "true"); - assertThat(SystemPropertyHelper.getProductBooleanProperty(testProperty).get()).isTrue(); - System.clearProperty(gemfirePrefixProperty); + public void getBooleanPropertyParallelDiskStoreRecovery_withBothPrefixes() { + // with geode and gemfire prefix + 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); } }