You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2018/08/27 18:29:37 UTC
[geode] branch feature/GEODE-5596 updated (996a0a9 -> 47dc37b)
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a change to branch feature/GEODE-5596
in repository https://gitbox.apache.org/repos/asf/geode.git.
from 996a0a9 GEODE-5596 Client ends up with destroyed entry after invalidate()
add 89a1fde GEODE-5530 create geode-assembly-test for better dependency resolution
add 74c6166 Revert "GEODE-5530 create geode-assembly-test for better dependency resolution"
add 2be72bd GEODE-5257: remove unnecessary assertion that introduced the flakiness. (#2265)
add 6355672 GEODE-5531/GEODE-1507: Variable Substitution in GFSH (#2291)
add 9000665 GEODE-5589: lastResultReceived set after msg sent (#2341)
add f3f255a GEODE-5593 Update test dependencies
add 6fa2d3e GEODE-5592: Release the lock in a finally block. (#2344)
add d717fdb GEODE-5530 create geode-assembly-test for better dependency resolution (#2345)
add 20e059a GEODE-5530: Cleanup javadoc warnings from test refactoring.
add 976d332 GEODE-4384: fix test's argument captor type. (#2352)
add 49e1c18 GEODE-5609: Extract validateRegionName and improve testing (#2353)
add 2868c3c GEODE-5585: Check that threads have been run (#2332)
add 1883e81 GEODE-5204: add xml-file support to import/export cluster-config command (#1986)
add 291fae0 GEODE-5571: Added query to history before query execution
add 8ae5808 GEODE-5505 Cache listener not invoked on a retried destroy() operation
add 7fe2f18 GEODE-5612: Fix RVVExceptionB.writeReceived() (#2354)
add 2e30373 GEODE-5613: Add winrm-cli utility to apachegeode-build image (#2355)
add c1fd530 GEODE-5597: Adds more exhaustive verification of assembly content. (#2359)
add 83ea1df GEODE-5620: Adds project property to control test forking. (#2362)
add 04ecdbb GEODE-5505 Cache listener not invoked on a retried destroy() operation
add 5602d02 GEODE-5615: Capturing more data in the case of hangs or OOMEs
add a77905d GEODE-5600: Add build property skipVersionFileRegeneration
add 0e792a5 suggested feedback: pass revision as build parameter, only create version file when present (or file does not exist). Remove input based on .git/index.
add b02d3f7 0 -> unknown, specify sourceRepository also, auto-format adjusts whitespace.
add c404191 Some stuff
add be57a3b Merge remote-tracking branch 'origin/develop' into geode-5602
add 793335e wip
add 3598afd Add SOURCE_REPOSITORY to Jinja template for script calls, and git rev-parse for revision info.
add 926a0d6 Correct whitespace issue in jinja template
add 2fadf46 Correct directory for git command.
add b5e80b5 Merge remote-tracking branch 'origin/develop' into geode-5600
add 98a0b7d Merge pull request #2349 from smgoller/geode-5600
add 114be74 GEODE-5547: cleanup RegionManagementDUnitTest
add 6c2bc15 GEODE-5547: increase Await timeout
add c435bc7 GEODE-5615: Removing gradle build scan plugin
add 14a6a05 GEODE-3530: Deleting CliCommandTestBase
add b6ba0fa GEODE-5613: Add winrm-cli for Windows CI support (#2364)
add 966852d GEODE-5619: Change scanning for XSDRootElement to consider all packag… (#2361)
add 9f13a5b GEODE-5610: CI Failure: DiskRegionJUnitTest testAssertionErrorIfMissingOplog (#2357)
add c7ca13d GEODE-5460: Fixing a race condition in TestFunctionsDUNitTest
add 6ee86d6 GEODE-5597 verify geode-dependency jar ClassPath (#2369)
add 879b2cd GEODE-5597: Fixes formatting.
add a1f747c GEODE-5440: when we need re-evaluate a entry in a index, we need to pass in the outer value key in the equiJoin. (#2338)
add abb2702 GEODE-5630: fix use of Awaitility in BucketCreationCrashCompletesRegressionTest
add 9be422c GEODE-5617: FIxing a race in AutoBalancerJUnitTest
add cfa7ca5 GEODE-5627: ConcurrencyRule passes when not used. (#2370)
add 39b2236 GEODE-5597 let AssemblyContentsIntegrationTest pass on windows
add 583d141 GEODE-5562 Reading the values of LocalRegion.memoryThresholdReached and DistributedRegion.memoryThresholdReachedMembers must be atomic (#2320)
add 9de289d GEODE-5632: import Assertions instead of AssertionsForClassTypes
add b951146 GEODE-5142 new Thread Monitoring Mechanism
add 123b8c4 GEODE-5614: rename DistributedTestRule as DistributedRule
add 16d0f69 GEODE-5614: rename distributedTestRule field to distributedRule
add f91c2df GEODE-5614: update RegionManagementDUnitTest usage of DistributedRule
add e719331 GEODE-5629: Changing GMSEncryptJUnitTest to use ConcurrencyRule
new 7e068cc GEODE-5596 Client ends up with destroyed entry after invalidate()
new a113534 GEODE-5596 Client ends up with destroyed entry after invalidate()
new 0bcb019 GEODE-5596 Client ends up with destroyed entry after invalidate()
new 47dc37b Merge branch 'feature/GEODE-5596' of ssh://github.com/apache/geode into feature/GEODE-5596
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
build.gradle | 2 -
ci/images/alpine-tools/Dockerfile | 11 +-
ci/pipelines/geode-build/jinja.template.yml | 3 +
ci/pipelines/shared/shared_jinja.yml | 2 +-
ci/scripts/archive_results.sh | 1 +
ci/scripts/build.sh | 3 +-
ci/scripts/capture-call-stacks.sh | 4 +-
ci/scripts/execute_tests.sh | 4 +-
ci/scripts/rsync_code_down.sh | 2 +-
ci/scripts/windows/test-run.sh | 2 +
geode-assembly/build.gradle | 37 +-
.../geode-assembly-test}/build.gradle | 10 +-
.../web/controllers/AddFreeItemToOrders.java | 0
.../rest/internal/web/controllers/Customer.java | 0
.../internal/web/controllers/DateTimeUtils.java | 0
.../rest/internal/web/controllers/Gender.java | 0
.../internal/web/controllers/GetAllEntries.java | 0
.../web/controllers/GetDeliveredOrders.java | 0
.../rest/internal/web/controllers/GetRegions.java | 0
.../internal/web/controllers/GetValueForKey.java | 0
.../geode/rest/internal/web/controllers/Item.java | 0
.../web/controllers/NoArgumentFunction.java | 5 +
.../geode/rest/internal/web/controllers/Order.java | 0
.../rest/internal/web/controllers/Person.java | 0
.../internal/web/controllers/PutKeyFunction.java | 0
.../web/controllers/RedactingPostProcessor.java | 0
.../internal/web/controllers/RestTestUtils.java | 1 -
.../org/apache/geode/session/tests/Client.java | 0
.../geode/session/tests/ContainerInstall.java | 0
.../geode/session/tests/ContainerManager.java | 0
.../geode/session/tests/ServerContainer.java | 0
.../geode/session/tests/TomcatContainer.java | 0
.../apache/geode/session/tests/TomcatInstall.java | 0
.../geode/test/junit/rules/EmbeddedPulseRule.java | 0
.../geode/test/junit/rules/GeodeDevRestClient.java | 0
.../geode/test/junit/rules/HttpResponseAssert.java | 0
.../cli/commands/ImportClusterConfigTest.java | 4 +-
.../tests/GenericAppServerClientServerTest.java | 3 +-
.../geode/AssemblyContentsIntegrationTest.java | 95 ++
.../geode/GeodeDependencyJarIntegrationTest.java | 94 ++
.../tools/pulse/PulseSecurityIntegrationTest.java | 3 +-
.../integrationTest/resources/assembly_content.txt | 1245 ++++++++++++++++++
.../resources/dependency_classpath.txt | 67 +
.../jdbc/JdbcAsyncWriterIntegrationTest.java | 5 +-
.../geode/connectors/jdbc/JdbcDistributedTest.java | 8 +-
.../test/junit/rules/MySqlConnectionRule.java | 4 +-
.../junit/rules/SqlDatabaseConnectionRule.java | 4 +-
.../geode/connectors/jdbc/JdbcAsyncWriterTest.java | 4 +-
.../geode/connectors/jdbc/JdbcWriterTest.java | 2 +-
.../internal/cli/AlterConnectionFunctionTest.java | 10 +-
.../internal/cli/AlterMappingFunctionTest.java | 10 +-
.../internal/cli/CreateMappingFunctionTest.java | 5 +-
geode-core/build.gradle | 77 +-
.../CreateAndLocalDestroyInTXRegressionTest.java | 7 +-
.../PRCreationTotalNumBucketsDistributedTest.java | 8 +-
.../cache/RegionClearStatsDistributedTest.java | 8 +-
.../cache/RegionExpirationDistributedTest.java | 14 +-
.../ReplicateCacheListenerDistributedTest.java | 18 +-
.../internal/AutoConnectionSourceDUnitTest.java | 4 +-
.../management/MemoryThresholdsDUnitTest.java | 2 +-
.../MemoryThresholdsOffHeapDUnitTest.java | 18 +-
.../dunit/QueryDataInconsistencyDUnitTest.java | 34 +-
.../query/dunit/QueryIndexUsingXMLDUnitTest.java | 2 +-
.../InitializeIndexEntryDestroyQueryDUnitTest.java | 11 +-
.../partitioned/PRColocatedEquiJoinDUnitTest.java | 47 -
.../query/partitioned/PRQueryDUnitHelper.java | 86 +-
.../geode/cache30/DiskRegionDistributedTest.java | 11 +-
.../cache30/PRBucketSynchronizationDUnitTest.java | 53 +-
.../geode/cache30/RRSynchronizationDUnitTest.java | 53 +-
.../geode/cache30/RegionReliabilityTestCase.java | 6 +-
.../ClusterDistributionManagerDUnitTest.java | 9 +-
...lusterDistributionManagerForAdminDUnitTest.java | 6 +-
.../internal/DistributionAdvisorDUnitTest.java | 6 +-
.../deadlock/GemFireDeadlockDetectorDUnitTest.java | 4 +-
...okenSerializationConsistencyRegressionTest.java | 8 +-
.../cache/BucketCreationCrashRegressionTest.java | 11 +-
.../internal/cache/CacheAdvisorDUnitTest.java | 3 +-
...eanupFailedInitWithDiskFilesRegressionTest.java | 2 +-
.../ClearDuringNetSearchOplogRegressionTest.java | 3 +-
.../cache/ClientServerTransactionDUnitTest.java | 8 +-
...ntServerTransactionFailoverDistributedTest.java | 35 +-
...overWithMixedVersionServersDistributedTest.java | 51 +-
.../EntriesDoNotExpireDuringGiiRegressionTest.java | 17 +-
...FireAndForgetFunctionOnAllServersDUnitTest.java | 14 +-
...zedDiskRegionWithIoExceptionRegressionTest.java | 18 +-
.../PRAccessorWithOverflowRegressionTest.java | 2 +-
.../cache/PRCustomPartitioningDistributedTest.java | 10 +-
.../PREntryIdleExpirationDistributedTest.java | 31 +-
.../internal/cache/PRQueryDistributedTest.java | 8 +-
.../PRQueryWithIndexAndPdxDistributedTest.java | 9 +-
.../cache/PRQueryWithIndexDistributedTest.java | 9 +-
.../cache/PRQueryWithOrderByDistributedTest.java | 9 +-
...RQueryWithPdxDuringRebalanceRegressionTest.java | 9 +-
.../PRWithIndexAfterRebalanceRegressionTest.java | 9 +-
.../PartitionedRegionCacheCloseDUnitTest.java | 2 +-
.../PartitionedRegionCloseDistributedTest.java | 19 +-
.../cache/PartitionedRegionDestroyDUnitTest.java | 2 +-
...itionedRegionHAFailureAndRecoveryDUnitTest.java | 2 +-
...edRegionLowBucketRedundancyDistributedTest.java | 4 +-
.../cache/PartitionedRegionStatsDUnitTest.java | 2 +-
.../cache/PersistentRegionRecoveryDUnitTest.java | 19 +-
.../PersistentRegionTransactionDUnitTest.java | 2 +-
.../cache/RegionListenerDistributedTest.java | 17 +-
...eplicateEntryIdleExpirationDistributedTest.java | 36 +-
.../cache/backup/BackupDistributedTest.java | 12 +-
.../backup/IncrementalBackupDistributedTest.java | 15 +-
.../PrepareAndFinishBackupDistributedTest.java | 8 +-
.../ClientFunctionTimeoutRegressionTest.java | 26 +-
...ctionExecutionWithExceptionDistributedTest.java | 9 +-
...ctionOnBehalfOfClientMemberDistributedTest.java | 14 +-
.../cache/ha/HARQueueNewImplDUnitTest.java | 4 +-
.../internal/cache/ha/HARegionQueueDUnitTest.java | 8 +-
.../ha/HARegionQueueExpiryRegressionTest.java | 2 +-
.../cache/ha/HARegionQueueSizeRegressionTest.java | 15 +-
.../HARegionQueueThreadIdExpiryRegressionTest.java | 13 +-
.../internal/cache/ha/HASlowReceiverDUnitTest.java | 4 +-
.../ha/PreferSerializedHARegionQueueTest.java | 4 +-
...BucketCreationCrashCompletesRegressionTest.java | 55 +-
.../BucketRebalanceStatRegressionTest.java | 4 +-
...RDiskConflictWithColocationDistributedTest.java | 5 +-
...sistentColocatedPartitionedRegionDUnitTest.java | 14 +-
...PersistentPartitionedRegionDistributedTest.java | 21 +-
.../PersistentPartitionedRegionRegressionTest.java | 9 +-
...eueRemovalMessageProcessingDistributedTest.java | 87 +-
.../RegisterInterestKeysValuesDistributedTest.java | 50 +-
.../DeltaPropagationFailureRegressionTest.java | 33 +-
.../AcceptorImplClientQueueDistributedTest.java | 42 +-
...entDestroyRegionNotificationRegressionTest.java | 31 +-
...troyRegionUnregisterInterestRegressionTest.java | 31 +-
.../ClientProxyWithDeltaDistributedTest.java | 34 +-
.../ClientWithInterestFailoverDistributedTest.java | 34 +-
.../DataSerializerPropagationDUnitTest.java | 4 +-
.../sockets/DurableClientQueueSizeDUnitTest.java | 2 +-
.../GetConnectedServerCountRegressionTest.java | 8 +-
.../HARegionQueueStatsCloseRegressionTest.java | 27 +-
.../sockets/HAStartupAndFailoverDUnitTest.java | 2 +-
.../MessageTrackingTimeoutRegressionTest.java | 18 +-
.../sockets/RegisterInterestDistributedTest.java | 18 +-
...nterestOnServerWithoutRegionRegressionTest.java | 15 +-
...isterInterestServerMetaDataDistributedTest.java | 46 +-
...RootRegionsExcludesHARegionsRegressionTest.java | 24 +-
.../tier/sockets/UpdatePropagationDUnitTest.java | 2 +-
.../AsyncEventListenerDistributedTest.java | 13 +-
...ventListenerWithCacheLoaderDistributedTest.java | 9 +-
...syncEventListenerWithFilterDistributedTest.java | 8 +-
...oncurrentAsyncEventListenerDistributedTest.java | 8 +-
.../ParallelAsyncEventListenerDistributedTest.java | 17 +-
.../SerialEventListenerDistributedTest.java | 8 +-
.../ClientServerJTAFailoverDistributedTest.java | 41 +-
.../geode/management/CacheManagementDUnitTest.java | 16 +-
.../geode/management/DLockManagementDUnitTest.java | 17 +-
.../geode/management/DiskManagementDUnitTest.java | 3 +-
.../management/DistributedSystemDUnitTest.java | 22 +-
.../apache/geode/management/JMXMBeanDUnitTest.java | 59 +-
.../management/JMXMBeanReconnectDUnitTest.java | 2 +-
.../management/LocatorManagementDUnitTest.java | 8 +-
.../geode/management/ManagementTestRule.java | 83 +-
.../management/MemberMBeanAttributesDUnitTest.java | 2 +-
.../management/OffHeapManagementDUnitTest.java | 2 +-
.../geode/management/QueryDataDUnitTest.java | 19 +-
.../management/RegionManagementDUnitTest.java | 1333 ++++++++++----------
.../stats/DistributedSystemStatsDUnitTest.java | 8 +-
.../ExecuteFunctionCommandSecurityTest.java | 2 +-
...ExportClusterConfigurationCommandDUnitTest.java | 89 ++
...ImportClusterConfigurationCommandDUnitTest.java | 152 +++
.../cli/commands/ShowDeadlockDUnitTest.java | 13 +-
.../ClusterConfigImportDUnitTest.java | 18 +-
.../ClusterConfigLocatorRestartDUnitTest.java | 4 +-
.../ClusterConfigStartMemberDUnitTest.java | 1 -
.../ClusterConfigWithCallbacksDUnitTest.java | 3 +-
.../internal/pulse/TestClientIdsDUnitTest.java | 4 +-
.../internal/pulse/TestFunctionsDUnitTest.java | 96 +-
.../internal/security/MultiGfshDUnitTest.java | 3 +
.../geode/security/PDXPostProcessorDUnitTest.java | 2 +-
.../tests/GetCurrentVmNumDistributedTest.java | 5 +-
.../GetPidAndIdAfterBounceDistributedTest.java | 11 +-
.../dunit/tests/GetPidAndIdDistributedTest.java | 9 +-
.../ConcurrentRegionOperationIntegrationTest.java | 2 +-
.../cache/RegionExpirationIntegrationTest.java | 2 +-
...ncEventQueueEvictionAndExpirationJUnitTest.java | 94 +-
.../query/internal/IndexManagerJUnitTest.java | 12 +-
.../query/partitioned/PRColocatedEquiJoinTest.java | 110 ++
.../ShorteningExpirationTimeRegressionTest.java | 69 +-
.../distributed/LauncherIntegrationTestCase.java | 2 +-
.../LauncherMemberMXBeanIntegrationTest.java | 2 +-
.../LocatorLauncherIntegrationTestCase.java | 2 +-
...catorLauncherJmxManagerLocalRegressionTest.java | 2 +-
.../LocatorLauncherRemoteIntegrationTestCase.java | 4 +-
.../ServerLauncherIntegrationTestCase.java | 2 +-
.../ServerLauncherRemoteIntegrationTestCase.java | 4 +-
.../gms/fd/GMSHealthMonitorJUnitTest.java | 2 +-
.../gms/messenger/GMSEncryptJUnitTest.java | 122 +-
...edThreadPoolExecutorWithKeepAliveJUnitTest.java | 8 +-
...ionCreateNotBeforeRegionInitRegressionTest.java | 2 +-
...precatedCacheServerLauncherIntegrationTest.java | 15 +-
.../internal/cache/DiskRegRecoveryJUnitTest.java | 3 +-
.../geode/internal/cache/DiskRegionJUnitTest.java | 94 +-
.../geode/internal/cache/OplogJUnitTest.java | 12 +-
.../cache/ha/HARQAddOperationJUnitTest.java | 2 +-
.../internal/cache/ha/HARegionQueueJUnitTest.java | 7 +-
.../CacheClientNotifierIntegrationTest.java | 2 +-
.../internal/net/SSLSocketIntegrationTest.java | 2 +-
.../geode/internal/offheap/OffHeapRegionBase.java | 8 +-
.../ControlFileWatchdogIntegrationTest.java | 18 +-
.../ControllableProcessIntegrationTest.java | 2 +-
.../FileProcessControllerIntegrationTest.java | 8 +-
.../process/NativeProcessUtilsIntegrationTest.java | 6 +-
.../org/apache/geode/cache/AttributesFactory.java | 2 +-
.../cache/query/internal/DefaultQueryService.java | 17 +-
.../query/internal/IndexTrackingQueryObserver.java | 1 +
.../geode/cache/query/internal/QueryUtils.java | 10 +-
.../cache/query/internal/index/IndexManager.java | 30 +-
.../cache/query/internal/index/RangeIndex.java | 7 +-
.../distributed/internal/DistributionAdvisor.java | 19 +-
.../InternalConfigurationPersistenceService.java | 94 +-
.../internal/cache/CacheDistributionAdvisor.java | 2 +-
.../geode/internal/cache/DistributedRegion.java | 41 +-
.../geode/internal/cache/GemFireCacheImpl.java | 2 +-
.../geode/internal/cache/InternalRegion.java | 2 +
.../apache/geode/internal/cache/LocalRegion.java | 109 +-
.../geode/internal/cache/MemoryThresholdInfo.java | 53 +
.../geode/internal/cache/PartitionedRegion.java | 29 +-
.../geode/internal/cache/RegionNameValidation.java | 78 ++
.../apache/geode/internal/cache/TXManagerImpl.java | 11 +-
.../internal/cache/control/HeapMemoryMonitor.java | 70 +-
.../internal/cache/control/ResourceAdvisor.java | 2 +-
.../execute/DistributedRegionFunctionExecutor.java | 16 +-
.../cache/execute/MemberFunctionExecutor.java | 19 +-
.../cache/execute/MultiRegionFunctionExecutor.java | 32 +-
.../execute/PartitionedRegionFunctionExecutor.java | 17 +-
.../ServerToClientFunctionResultSender.java | 8 +-
.../ServerToClientFunctionResultSender65.java | 4 +-
.../geode/internal/cache/map/RegionMapDestroy.java | 3 -
.../partitioned/PartitionedRegionRebalanceOp.java | 2 +-
.../internal/cache/partitioned/RegionAdvisor.java | 4 +-
.../tier/sockets/command/ExecuteFunction.java | 19 +-
.../tier/sockets/command/ExecuteFunction65.java | 20 +-
.../tier/sockets/command/ExecuteFunction66.java | 23 +-
.../internal/cache/versions/RVVExceptionB.java | 17 +-
.../monitoring/ThreadsMonitoringProcess.java | 8 +-
.../monitoring/executor/AbstractExecutor.java | 24 +-
.../apache/geode/management/cli/GfshCommand.java | 8 +-
.../ExportClusterConfigurationCommand.java | 208 +++
.../internal/cli/commands/ExportConfigCommand.java | 7 +-
.../ExportImportClusterConfigurationCommands.java | 288 -----
.../ImportClusterConfigurationCommand.java | 266 ++++
.../internal/cli/commands/InternalGfshCommand.java | 7 +
.../internal/cli/result/ModelCommandResult.java | 13 +
.../internal/cli/result/model/DataResultModel.java | 5 +
.../internal/cli/result/model/FileResultModel.java | 25 +-
.../internal/cli/result/model/InfoResultModel.java | 4 +
.../internal/cli/result/model/ResultModel.java | 33 +-
.../geode/management/internal/cli/shell/Gfsh.java | 15 +-
.../internal/cli/util/ClasspathScanLoadHelper.java | 17 +-
.../sanctioned-geode-core-serializables.txt | 1 +
.../geode/cache/RegionNameValidationJUnitTest.java | 89 --
.../internal/QueueConnectionImplJUnitTest.java | 6 +-
...pClientExecutorSubmitTaskWithExceptionTest.java | 2 +-
.../cache/query/internal/QueryMonitorTest.java | 2 +-
...nternalConfigurationPersistenceServiceTest.java | 2 +-
.../internal/cache/DistributedRegionJUnitTest.java | 32 +
.../geode/internal/cache/EntryEventImplTest.java | 17 +-
.../geode/internal/cache/GemFireCacheImplTest.java | 2 +-
.../internal/cache/MemoryThresholdInfoTest.java | 25 +-
.../internal/cache/RegionNameValidationTest.java | 212 ++++
.../geode/internal/cache/TXManagerImplTest.java | 25 +
.../cache/control/HeapMemoryMonitorTest.java | 325 +++++
.../eviction/LRUListWithAsyncSortingTest.java | 6 +-
...verToClientFunctionResultSender65JUnitTest.java | 19 +-
...erverToClientFunctionResultSenderJUnitTest.java | 69 +-
.../internal/cache/map/RegionMapDestroyTest.java | 35 -
.../tier/sockets/ClientHealthMonitorJUnitTest.java | 2 +-
.../sockets/command/ExecuteFunction66Test.java | 4 +
.../cache/versions/RVVExceptionJUnitTest.java | 39 +
.../GemFireBasicDataSourceJUnitTest.java | 17 +-
.../internal/offheap/MemoryBlockNodeJUnitTest.java | 10 +-
.../offheap/OffHeapRegionEntryHelperJUnitTest.java | 10 +-
.../offheap/ReferenceCountHelperImplTest.java | 6 +-
...AbstractProcessStreamReaderIntegrationTest.java | 8 +-
.../internal/process/lang/AvailablePidTest.java | 4 +-
...ServerBridgeClientMembershipRegressionTest.java | 2 +-
.../commands/DestroyJndiBindingCommandTest.java | 5 +-
.../ExportClusterConfigurationCommandTest.java | 117 ++
.../ImportClusterConfigurationCommandTest.java | 192 +++
.../internal/cli/shell/GfshAbstractUnitTest.java | 96 ++
.../cli/shell/GfshConsoleModeUnitTest.java | 61 +
.../cli/shell/GfshHeadlessModeUnitTest.java | 58 +
.../internal/cli/shell/GfshJunitTest.java | 115 --
.../RollingUpgrade2DUnitTestBase.java | 14 +-
.../rollingupgrade/RollingUpgradeClients.java | 2 +-
.../RollingUpgradeConcurrentPutsReplicated.java | 2 +-
.../rollingupgrade/RollingUpgradeDUnitTest.java | 2 +-
...gradeHARegionNameOnDifferentServerVersions.java | 2 +-
.../RollingUpgradeRollLocatorWithTwoServers.java | 2 +-
.../RollingUpgradeRollLocatorsWithOldServer.java | 2 +-
...LocatorWithMultipleServersReplicatedRegion.java | 2 +-
.../rollingupgrade/RollingUpgradeTracePRQuery.java | 4 +-
.../RollingUpgradeVerifyXmlEntity.java | 2 +-
...ientStatisticsPublicationSecurityDUnitTest.java | 2 +-
.../geode/cache/query/cq/CQDistributedTest.java | 10 +-
.../query/cq/dunit/CqPerfUsingPoolDUnitTest.java | 7 +-
.../dunit/CqSecurityAuthorizedUserDUnitTest.java | 6 +-
...SecurityPartitionedAuthorizedUserDUnitTest.java | 2 +-
.../dunit/CqSecurityUnauthorizedUserDUnitTest.java | 2 +-
.../geode/internal/cache/PutAllCSDUnitTest.java | 2 +-
.../tier/sockets/DurableClientSimpleDUnitTest.java | 2 +-
.../commands/DurableClientCommandsDUnitTest.java | 4 +-
.../tier/sockets/ClientServerMiscBCDUnitTest.java | 8 +-
.../examples/AsyncInvokeCallableExampleTest.java | 26 +-
.../examples/AsyncInvokeRunnableExampleTest.java | 12 +-
.../CatchingUnexpectedExceptionExampleTest.java | 13 +-
... => DistributedRuleAsClassRuleExampleTest.java} | 32 +-
.../dunit/examples/InvokeRunnableExampleTest.java | 13 +-
.../examples/LocatorPortClusterExampleTest.java | 7 +-
.../examples/ReplaceTryFinallyExampleTest.java | 14 +-
.../tests/CacheRuleBuilderDistributedTest.java | 9 +-
.../rules/tests/CacheRuleDistributedTest.java | 4 +-
.../tests/ClientCacheRuleDistributedTest.java | 114 ++
...utedRestoreSystemPropertiesDistributedTest.java | 14 +-
...st.java => DistributedRuleDistributedTest.java} | 11 +-
.../tests/SharedCountersRuleDistributedTest.java | 69 +-
.../tests/SharedErrorCollectorDistributedTest.java | 45 +-
.../geode/cache30/MultiVMRegionTestCase.java | 2 +-
.../internal/cache/functions/TestFunction.java | 286 ++---
.../sockets/ClientServerMiscDUnitTestBase.java | 33 +-
.../cache/wan/AsyncEventQueueTestBase.java | 9 +-
.../apache/geode/management/MXBeanAwaitility.java | 17 +-
.../internal/cli/commands/CliCommandTestBase.java | 554 --------
.../commands/QueryCommandIntegrationTestBase.java | 10 +-
.../RegionMembershipMBeanDUnitTestBase.java | 2 +-
.../internal/configuration/ClusterConfig.java | 2 +-
.../security/GfshCommandsSecurityTestBase.java | 5 +
.../main/java/org/apache/geode/test/dunit/VM.java | 7 +
.../dunit/internal/JUnit4DistributedTestCase.java | 4 +-
...dTestRule.java => AbstractDistributedRule.java} | 8 +-
.../apache/geode/test/dunit/rules/CacheRule.java | 39 +-
.../test/dunit/rules/CleanupDUnitVMsRule.java | 2 +-
.../geode/test/dunit/rules/ClientCacheRule.java | 52 +-
.../geode/test/dunit/rules/ClusterStartupRule.java | 8 +
.../rules/DistributedRestoreSystemProperties.java | 2 +-
...stributedTestRule.java => DistributedRule.java} | 95 +-
.../geode/test/dunit/rules/SharedCountersRule.java | 57 +-
.../test/dunit/rules/SharedErrorCollector.java | 22 +-
.../geode/test/junit/rules/GfshCommandRule.java | 2 +-
.../geode/test/junit/rules/LocatorStarterRule.java | 2 +-
.../geode/test/junit/rules/MemberStarterRule.java | 4 +-
.../geode/test/junit/rules/ServerStarterRule.java | 55 +-
.../DoNotHandleUnexpectedExceptionExampleTest.java | 2 -
.../rules/ExecutorServiceRuleIntegrationTest.java | 3 +-
.../internal/cache/TestObjectWithIdentifier.java | 3 -
.../cache/extension/mock/MockCacheExtension.java | 2 +-
.../internal/configuration/ConfigGroup.java | 8 +-
.../geode/test/junit/rules/ConcurrencyRule.java | 51 +-
.../test/junit/rules/ConcurrencyRuleTest.java | 31 +
.../test/junit/rules/ExecutorServiceRuleTest.java | 3 +-
.../geode/cache/lucene/EvictionDUnitTest.java | 2 +-
.../geode/cache/lucene/ExpirationDUnitTest.java | 3 +-
.../geode/cache/lucene/LuceneQueriesDUnitTest.java | 5 +-
.../lucene/LuceneQueriesReindexDUnitTest.java | 5 +-
.../management/LuceneManagementDUnitTest.java | 3 +-
...eneIndexCreationPersistenceIntegrationTest.java | 2 +-
.../LuceneIndexMaintenanceIntegrationTest.java | 7 +-
.../internal/LuceneEventListenerJUnitTest.java | 5 +-
.../distributed/LuceneQueryFunctionJUnitTest.java | 4 +-
.../LuceneSearchWithRollingUpgradeDUnit.java | 2 +-
...ultAfterTwoLocatorsWithTwoServersAreRolled.java | 4 +-
...tResultsAfterClientAndServersAreRolledOver.java | 2 +-
...ntAndServersAreRolledOverAllBucketsCreated.java | 2 +-
...ccessfulWhenAllServersRollToCurrentVersion.java | 2 +-
.../v1/acceptance/LocatorConnectionDUnitTest.java | 2 +-
geode-pulse/build.gradle | 3 -
geode-pulse/geode-pulse-test/build.gradle | 4 +
.../pulse/tests/rules/ScreenshotOnFailureRule.java | 0
.../tools/pulse/tests/rules/WebDriverRule.java | 0
.../tools/pulse/tests/ui/PulseTestConstants.java | 0
.../controllers/PulseControllerJUnitTest.java | 100 +-
.../internal/controllers/PulseController.java | 67 +-
.../scripts/pulsescript/pages/DataBrowserQuery.js | 4 +-
.../geode/cache/util/AutoBalancerJUnitTest.java | 6 +-
...ueueOverflowMBeanAttributesDistributedTest.java | 4 +-
.../GatewayLegacyAuthenticationRegressionTest.java | 28 +-
.../cache/wan/GatewayReceiverMBeanDUnitTest.java | 2 +-
...nderOverflowMBeanAttributesDistributedTest.java | 4 +-
.../geode/internal/cache/wan/WANTestBase.java | 63 +-
.../ConcurrentParallelGatewaySenderDUnitTest.java | 4 +-
...ParallelGatewaySenderOperation_2_DUnitTest.java | 17 +-
.../wan/misc/NewWanAuthenticationDUnitTest.java | 4 +-
.../cache/wan/misc/PDXNewWanDUnitTest.java | 9 +-
...arallelGatewaySenderQueueOverflowDUnitTest.java | 2 +-
.../parallel/ParallelWANConflationDUnitTest.java | 2 +-
.../wan/parallel/ParallelWANStatsDUnitTest.java | 4 +-
.../SerialGatewaySenderEventListenerDUnitTest.java | 2 +-
.../cache/wan/serial/SerialWANStatsDUnitTest.java | 2 +-
.../wancommand/ListGatewaysCommandDUnitTest.java | 5 +-
.../cache/wan/wancommand/WANCommandUtils.java | 4 +-
.../geode/management/WANManagementDUnitTest.java | 2 +-
.../WANClusterConfigurationDUnitTest.java | 2 +-
...ateGatewaySenderMixedSiteOneCurrentSiteTwo.java | 2 +-
...eEventProcessingMixedSiteOneCurrentSiteTwo.java | 2 +-
...gradeEventProcessingMixedSiteOneOldSiteTwo.java | 4 +-
...adeEventProcessingOldSiteOneCurrentSiteTwo.java | 2 +-
...ipleReceiversDefinedInClusterConfiguration.java | 2 +-
...tReprocessedAfterCurrentSiteMemberFailover.java | 2 +-
...fterCurrentSiteMemberFailoverWithOldClient.java | 2 +-
...tsNotReprocessedAfterOldSiteMemberFailover.java | 2 +-
...eCacheServerProfileToMembersOlderThan1dot5.java | 2 +-
...ANRollingUpgradeVerifyGatewaySenderProfile.java | 2 +-
gradle.properties | 8 +-
gradle/dependency-versions.properties | 34 +-
gradle/test-by-category.gradle | 53 +-
gradle/test.gradle | 10 +-
settings.gradle | 1 +
412 files changed, 7232 insertions(+), 4405 deletions(-)
copy {geode-pulse/geode-pulse-test => geode-assembly/geode-assembly-test}/build.gradle (60%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/AddFreeItemToOrders.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/Customer.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/DateTimeUtils.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/Gender.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/GetAllEntries.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/GetDeliveredOrders.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/GetRegions.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/GetValueForKey.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/Item.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/NoArgumentFunction.java (93%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/Order.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/Person.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/PutKeyFunction.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/RedactingPostProcessor.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/rest/internal/web/controllers/RestTestUtils.java (98%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/Client.java (100%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/ContainerInstall.java (100%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/ContainerManager.java (100%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/ServerContainer.java (100%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/TomcatContainer.java (100%)
rename geode-assembly/{src/distributedTest => geode-assembly-test/src/main}/java/org/apache/geode/session/tests/TomcatInstall.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/test/junit/rules/EmbeddedPulseRule.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/test/junit/rules/GeodeDevRestClient.java (100%)
rename geode-assembly/{src/integrationTest => geode-assembly-test/src/main}/java/org/apache/geode/test/junit/rules/HttpResponseAssert.java (100%)
create mode 100644 geode-assembly/src/integrationTest/java/org/apache/geode/AssemblyContentsIntegrationTest.java
create mode 100644 geode-assembly/src/integrationTest/java/org/apache/geode/GeodeDependencyJarIntegrationTest.java
create mode 100644 geode-assembly/src/integrationTest/resources/assembly_content.txt
create mode 100644 geode-assembly/src/integrationTest/resources/dependency_classpath.txt
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportClusterConfigurationCommandDUnitTest.java
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ImportClusterConfigurationCommandDUnitTest.java
create mode 100644 geode-core/src/integrationTest/java/org/apache/geode/cache/query/partitioned/PRColocatedEquiJoinTest.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/MemoryThresholdInfo.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/RegionNameValidation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportClusterConfigurationCommand.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportImportClusterConfigurationCommands.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ImportClusterConfigurationCommand.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/cache/RegionNameValidationJUnitTest.java
copy geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java => geode-core/src/test/java/org/apache/geode/internal/cache/MemoryThresholdInfoTest.java (58%)
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/RegionNameValidationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/control/HeapMemoryMonitorTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportClusterConfigurationCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ImportClusterConfigurationCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshAbstractUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshConsoleModeUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshHeadlessModeUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshJunitTest.java
rename geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/{DistributedTestRuleExampleTest.java => DistributedRuleAsClassRuleExampleTest.java} (50%)
create mode 100644 geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/ClientCacheRuleDistributedTest.java
rename geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/{DistributedTestRuleDistributedTest.java => DistributedRuleDistributedTest.java} (76%)
delete mode 100644 geode-dunit/src/main/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java
rename geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/{AbstractDistributedTestRule.java => AbstractDistributedRule.java} (90%)
rename geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/{DistributedTestRule.java => DistributedRule.java} (71%)
rename geode-pulse/{src/uiTest => geode-pulse-test/src/main}/java/org/apache/geode/tools/pulse/tests/rules/ScreenshotOnFailureRule.java (100%)
rename geode-pulse/{src/uiTest => geode-pulse-test/src/main}/java/org/apache/geode/tools/pulse/tests/rules/WebDriverRule.java (100%)
rename geode-pulse/{src/uiTest => geode-pulse-test/src/main}/java/org/apache/geode/tools/pulse/tests/ui/PulseTestConstants.java (100%)
[geode] 04/04: Merge branch 'feature/GEODE-5596' of
ssh://github.com/apache/geode into feature/GEODE-5596
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-5596
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 47dc37b4b318b050c3e1356c947d10a8f582763d
Merge: 0bcb019 996a0a9
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Aug 27 11:28:47 2018 -0700
Merge branch 'feature/GEODE-5596' of ssh://github.com/apache/geode into feature/GEODE-5596
[geode] 02/04: GEODE-5596 Client ends up with destroyed entry after
invalidate()
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-5596
in repository https://gitbox.apache.org/repos/asf/geode.git
commit a1135349e6cd1f934399346481ff62de806f33b3
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Aug 17 13:54:34 2018 -0700
GEODE-5596 Client ends up with destroyed entry after invalidate()
Undoing a couple of unnecessary test changes.
---
.../java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
index f9fc941..08a7edb 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
@@ -675,9 +675,7 @@ public class ClientServerCCEDUnitTest extends JUnit4CacheTestCase {
private void unregisterInterest(VM vm) {
vm.invoke(new SerializableRunnable("unregister interest in all keys") {
public void run() {
- // TestRegion.dumpBackingMap();
TestRegion.unregisterInterestRegex(".*");
- // TestRegion.dumpBackingMap();
}
});
}
@@ -886,8 +884,7 @@ public class ClientServerCCEDUnitTest extends JUnit4CacheTestCase {
for (int i = 0; i < 10; i++) {
TestRegion.invalidate("Object" + i, Integer.valueOf(i));
}
- TestRegion.dumpBackingMap();
- // assertEquals(10, TestRegion.size());
+ assertEquals(10, TestRegion.size());
return null;
}
});
[geode] 01/04: GEODE-5596 Client ends up with destroyed entry after
invalidate()
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-5596
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 7e068cc11c2d5c58fbb64c9e7aef93e4e3cd4463
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Fri Aug 17 10:51:44 2018 -0700
GEODE-5596 Client ends up with destroyed entry after invalidate()
Modifying client cache behavior to create an Invalid entry when an application
invokes invalid() and the entry is currently in Destroyed state on the client
but not on servers.
---
.../geode/cache30/ClientServerCCEDUnitTest.java | 73 +++++++++++++++++++++-
.../geode/internal/cache/AbstractRegionMap.java | 7 +--
.../apache/geode/internal/cache/LocalRegion.java | 4 +-
3 files changed, 76 insertions(+), 8 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
index 1878aa0..f9fc941 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCCEDUnitTest.java
@@ -45,6 +45,7 @@ import org.apache.geode.cache.EntryEvent;
import org.apache.geode.cache.ExpirationAction;
import org.apache.geode.cache.ExpirationAttributes;
import org.apache.geode.cache.InterestResultPolicy;
+import org.apache.geode.cache.Operation;
import org.apache.geode.cache.PartitionAttributesFactory;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.Scope;
@@ -63,7 +64,12 @@ import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.DistributedRegion;
import org.apache.geode.internal.cache.DistributedTombstoneOperation.TombstoneMessage;
+import org.apache.geode.internal.cache.EntryEventImpl;
+import org.apache.geode.internal.cache.EventID;
+import org.apache.geode.internal.cache.KeyInfo;
import org.apache.geode.internal.cache.LocalRegion;
+import org.apache.geode.internal.cache.RegionMap;
+import org.apache.geode.internal.cache.Token;
import org.apache.geode.internal.cache.entries.AbstractRegionEntry;
import org.apache.geode.internal.cache.ha.HARegionQueue;
import org.apache.geode.internal.cache.partitioned.PRTombstoneMessage;
@@ -567,6 +573,69 @@ public class ClientServerCCEDUnitTest extends JUnit4CacheTestCase {
}
@Test
+ public void testClientInvalidateAfterDestroyLeavesInvalidEntryRR() throws Exception {
+ clientInvalidateAfterDestroyLeavesInvalidEntryTest(getUniqueName(), true);
+ }
+
+ @Test
+ public void testClientInvalidateAfterDestroyLeavesInvalidEntryPR() throws Exception {
+ clientInvalidateAfterDestroyLeavesInvalidEntryTest(getUniqueName(), false);
+ }
+
+ private void clientInvalidateAfterDestroyLeavesInvalidEntryTest(String uniqueName,
+ boolean useReplicateRegion) {
+ Host host = Host.getHost(0);
+ VM serverVM = host.getVM(0);
+ VM clientVM = host.getVM(1);
+ final String name = uniqueName + "Region";
+
+
+ int port = createServerRegion(serverVM, name, useReplicateRegion);
+
+ createClientRegion(clientVM, name, port, true, ClientRegionShortcut.CACHING_PROXY, false);
+ final String key = "Object0";
+
+ // use the client cache to create and destroy an entry
+ clientVM.invoke(() -> {
+ TestRegion.put(key, "some value"); // v1
+ TestRegion.destroy(key); // v2
+ RegionMap map = TestRegion.getRegionMap();
+ AbstractRegionEntry regionEntry = (AbstractRegionEntry) map.getEntry(key);
+ assertEquals(Token.TOMBSTONE, regionEntry.getValueAsToken());
+ });
+
+ // use the server cache to recreate the entry, but don't let the client cache know about it
+ serverVM.invoke(() -> {
+ TestRegion.put(key, "new value"); // v3 - not known by client cache
+ });
+
+ // now invalidate the entry in the client cache and show that it holds an INVALID entry
+ clientVM.invoke(() -> {
+ RegionMap map = TestRegion.getRegionMap();
+ AbstractRegionEntry regionEntry = (AbstractRegionEntry) map.getEntry(key);
+
+ EntryEventImpl invalidateEvent = new EntryEventImpl();
+ invalidateEvent.setRegion(TestRegion);
+ invalidateEvent.setKeyInfo(new KeyInfo(key, Token.INVALID, null));
+ invalidateEvent.setOperation(Operation.INVALIDATE);
+ invalidateEvent.setEventId(new EventID(TestRegion.getCache().getDistributedSystem()));
+
+ // invoke invalidate() with forceNewEntry=true to have it create an INVALID entry
+ map.invalidate(invalidateEvent, true, true, false);
+
+ assertEquals(Token.INVALID, regionEntry.getValueAsToken());
+ System.out.println("entry=" + regionEntry);
+ assertEquals(4, regionEntry.getVersionStamp().getEntryVersion());
+ });
+
+ serverVM.invoke(() -> {
+ assertTrue(TestRegion.containsKey(key));
+ assertNull(TestRegion.get(key));
+ });
+
+ }
+
+ @Test
public void testClientCacheListenerDoesNotSeeTombstones() throws Exception {
Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
@@ -817,7 +886,8 @@ public class ClientServerCCEDUnitTest extends JUnit4CacheTestCase {
for (int i = 0; i < 10; i++) {
TestRegion.invalidate("Object" + i, Integer.valueOf(i));
}
- assertEquals(10, TestRegion.size());
+ TestRegion.dumpBackingMap();
+ // assertEquals(10, TestRegion.size());
return null;
}
});
@@ -940,6 +1010,7 @@ public class ClientServerCCEDUnitTest extends JUnit4CacheTestCase {
af.setPartitionAttributes(
(new PartitionAttributesFactory()).setTotalNumBuckets(2).create());
}
+ af.setConcurrencyChecksEnabled(true);
TestRegion = (LocalRegion) createRootRegion(regionName, af.create());
CacheServer server = getCache().addCacheServer();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
index eefa190..9a10106 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
@@ -1331,6 +1331,7 @@ public abstract class AbstractRegionMap
Assert.assertTrue(false, "The owner for RegionMap " + this + " is null for event " + event);
}
+ logger.debug("ARM.invalidate invoked for key {}", event.getKey());
boolean didInvalidate = false;
RegionEntry invalidatedRe = null;
boolean clearOccured = false;
@@ -1577,12 +1578,6 @@ public abstract class AbstractRegionMap
} else if (tombstone != null) {
processVersionTag(tombstone, event);
try {
- if (!tombstone.isTombstone()) {
- if (isDebugEnabled) {
- logger.debug("tombstone is no longer a tombstone. {}:event={}",
- tombstone, event);
- }
- }
tombstone.setValue(owner, Token.TOMBSTONE);
} catch (RegionClearedException e) {
// that's okay - when writing a tombstone into a disk, the
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index 92c2e3c..b5250f3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -4954,7 +4954,9 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
*/
private void basicInvalidate(final EntryEventImpl event, boolean invokeCallbacks)
throws EntryNotFoundException {
- basicInvalidate(event, invokeCallbacks, false);
+ final boolean forceNewEntryInClientCache = this.serverRegionProxy != null
+ && getConcurrencyChecksEnabled();
+ basicInvalidate(event, invokeCallbacks, forceNewEntryInClientCache);
}
/**
[geode] 03/04: GEODE-5596 Client ends up with destroyed entry after
invalidate()
Posted by bs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-5596
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 0bcb01992ce4e0d20e285541b0975965106efe10
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Aug 27 11:23:56 2018 -0700
GEODE-5596 Client ends up with destroyed entry after invalidate()
Fixing failing tests. The behavior in clients has changed now - if
there is no entry or a tombstone entry in the client and it does an
invalidate() we now expect it to create an entry if concurrency-checks
are enabled.
I also changed the AttributesFactory javadoc for
concurrency-checks-enabled because it was saying it is turned off by
default but that is not the case.
---
.../org/apache/geode/cache/AttributesFactory.java | 2 +-
.../sockets/ClientServerMiscDUnitTestBase.java | 31 ++++++++--------------
2 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/cache/AttributesFactory.java b/geode-core/src/main/java/org/apache/geode/cache/AttributesFactory.java
index 2017cf2..93d9a99 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/AttributesFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/AttributesFactory.java
@@ -193,7 +193,7 @@ import org.apache.geode.internal.i18n.LocalizedStrings;
* others will only read. <br>
* {@link #setConcurrencyLevel} {@link RegionAttributes#getConcurrencyLevel}</dd>
*
- * <dt>ConcurrencyChecksEnabled [<em>default:</em> {@code false}]</dt>
+ * <dt>ConcurrencyChecksEnabled [<em>default:</em> {@code true}]</dt>
* <dd>Enables a distributed versioning algorithm that detects concurrency conflicts in regions and
* ensures that changes to an entry are not applied in a different order in other members. This can
* cause operations to be conflated, so that some cache listeners may see an event while others do
diff --git a/geode-dunit/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTestBase.java b/geode-dunit/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTestBase.java
index 20d10ea..3bd42ca 100755
--- a/geode-dunit/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTestBase.java
+++ b/geode-dunit/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTestBase.java
@@ -16,6 +16,7 @@ package org.apache.geode.internal.cache.tier.sockets;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -45,6 +46,7 @@ import org.apache.geode.cache.CacheException;
import org.apache.geode.cache.CacheWriterException;
import org.apache.geode.cache.DataPolicy;
import org.apache.geode.cache.EntryEvent;
+import org.apache.geode.cache.InterestResultPolicy;
import org.apache.geode.cache.PartitionAttributesFactory;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionAttributes;
@@ -554,27 +556,16 @@ public class ClientServerMiscDUnitTestBase extends JUnit4CacheTestCase {
Region region = static_cache.getRegion(REGION_NAME1);
populateCache();
region.put("invalidationKey", "invalidationValue");
+
region.localDestroy("invalidationKey");
- if (region.containsKey("invalidationKey")) {
- fail("region still contains invalidationKey");
- }
+ assertThat(region.containsKey("invalidationKey")).isFalse();
+
region.invalidate("invalidationKey");
- if (region.containsKey("invalidationKey")) {
- fail(
- "this test expects the entry is not created on invalidate() if not there before the operation");
- }
+ assertThat(region.containsKey("invalidationKey")).isTrue();
+
Object value = region.get("invalidationKey");
- if (value != null) {
- fail("this test expected a null response to get('invalidationKey')");
- }
- if (!region.containsKeyOnServer("invalidationKey")) {
- fail("expected an entry on the server after invalidation");
- }
- // bug 43407 asserts that there should be an entry, but the product does not
- // do this. This verifies that the product does not behave as asserted in that bug
- if (region.containsKey("invalidationKey")) {
- fail("expected no entry after invalidation when entry was not in client but was on server");
- }
+ assertThat(value).isNull();
+ assertThat(region.containsKeyOnServer("invalidationKey")).isTrue();
}
/**
@@ -986,8 +977,8 @@ public class ClientServerMiscDUnitTestBase extends JUnit4CacheTestCase {
assertNotNull(r1);
Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
assertNotNull(r2);
- r1.registerInterest("ALL_KEYS", false, false);
- r2.registerInterest("ALL_KEYS", false, false);
+ r1.registerInterestForAllKeys(InterestResultPolicy.KEYS, false, false);
+ r2.registerInterestForAllKeys(InterestResultPolicy.KEYS, false, false);
} catch (CacheWriterException e) {
e.printStackTrace();
fail("Test failed due to CacheWriterException during registerInterestnBothRegions" + e);