You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jc...@apache.org on 2020/03/16 21:03:23 UTC
[geode] branch feature/GEODE-7681 updated (905edbc -> f350555)
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a change to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git.
discard 905edbc Use Region.clear instead of Region.removeAll
discard c992898 Initiate clear from both client and server
discard c6097ce WIP
discard f1b053f spotlessApply
discard 1644704 Create partitioned region on all servers
discard 4c16145 Add the one bucket case
discard ee823f5 gradlew spotlessApply
discard 5ccefac GEODE-7681: Initial draft of performance dunit
add 51a0c65 GEODE-7771: change getting cache in getLuceneIndex (#4702)
add ca7ccbc GEODE-7820: Avoid Unnecessary toArray Invocations (#4741)
add dfa3326 GEODE-7829: DEFAULT_ACK_WAIT_THRESHOLD inadvertently changed from 15 to 51 (#4746)
add c8198f1 Revert "GEODE-6536: Added retry in borrowConnection/single hop (#4719)" (#4749)
add bf0012d Feature/geode 6807 1 (#4711)
add cceaa66 Revert fluent style API fix in ClientRegionFactory (#4748)
add 0af6264 GEODE-7808: standardize on use of HostAndPort to form client-side connections (#4743)
add d603b21 GEODE-7835: Correct doc typo of file name gfsecurity.properties (#4756)
add 3ad4f17 GEODE-7839: add gfsh oauth token support (#4736)
add bcd3655 GEODE-7819: Add debugging support to SerializableTemporaryFolder (#4740)
add a61f951 GEODE-7421: deployment should use PUT instead of POST in REST request
add 4b06a7a Revert "GEODE-7808: standardize on use of HostAndPort to form client-side connections (#4743)" (#4761)
add 2f6bf01 GEODE-7828: Convert backing store for Redis Hashes and Sets to single regions (#4745)
add 2a3e09f GEODE-7832: Remove Connection Semaphores (#4754)
add b3af99e GEODE-7752: Delete the extra GeodeClusterManagementServiceBuilder (#4760)
add f15bbc7 GEODE-7421: use RequestParam instead of RequestPart to be compatible with all rest client (#4766)
add a5c8e2b GEODE-7842: Improve concurrent region creation (#4767)
add 5c2b959 GEODE-7808: standardize on use of HostAndPort for creating connections (#4765)
add 838e070 GEODE-7840: Redis pub/sub does not handle binary messages correctly (#4762)
add b57456e GEODE-7841 Add benchmarking scripts for Geode-Redis module (#4763)
add ccb543f GEODE-7683: introduce BR.cmnClearRegion
add 43bd364 GEODE-7682: add PR.clear API (#4755)
new 1263b78 GEODE-7681: Initial draft of performance dunit
new 583f6ca gradlew spotlessApply
new 7b6b848 Add the one bucket case
new 9bedf5d Create partitioned region on all servers
new ba49218 spotlessApply
new f1a210f WIP
new e16f47b Initiate clear from both client and server
new f350555 Use Region.clear instead of Region.removeAll
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (905edbc)
\
N -- N -- N refs/heads/feature/GEODE-7681 (f350555)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 8 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:
.../apache/geode/metrics/CacheCommonTagsTest.java | 3 +-
.../rest/ClientClusterManagementSSLTest.java | 2 +-
.../ClientClusterManagementServiceDunitTest.java | 2 +-
.../rest/ClusterManagementServiceOnServerTest.java | 2 +-
.../rest/GeodeClientClusterManagementSSLTest.java | 2 +-
.../GeodeClientClusterManagementSecurityTest.java | 2 +-
.../internal/LocatorLoadBalancingDUnitTest.java | 6 +-
.../geode/cache30/ClientMembershipDUnitTest.java | 3 -
.../distributed/internal/ProduceDateMessages.java | 2 +-
...ntServerTransactionFailoverDistributedTest.java | 2 +-
.../internal/cache/DeltaPropagationDUnitTest.java | 64 +-
.../cache/PartitionedRegionClearDUnitTest.java | 218 ++++++
.../PartitionedRegionPersistentClearDUnitTest.java | 13 +-
.../AutoConnectionSourceImplJUnitTest.java | 28 +-
.../pooling/ConnectionManagerImplTest.java | 32 +-
.../pooling/ConnectionManagerJUnitTest.java | 6 +-
.../distributed/LauncherIntegrationTestCase.java | 3 +-
.../geode/distributed/LocatorIntegrationTest.java | 4 +-
.../tcpserver/TCPClientSSLIntegrationTest.java | 12 +-
.../internal/tcpserver/TCPServerSSLJUnitTest.java | 5 +-
.../CacheDistributionAdvisorConcurrentTest.java | 103 +++
...itionedRegionSingleNodeOperationsJUnitTest.java | 66 --
.../net/ClientSocketFactoryIntegrationTest.java | 4 +-
.../internal/net/SSLSocketIntegrationTest.java | 13 +-
.../GemFireStatSamplerIntegrationTest.java | 3 +-
.../SimpleStatSamplerIntegrationTest.java | 3 +-
...SSLSocketParameterExtensionIntegrationTest.java | 11 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 10 +-
.../internal/DistributionLocatorConfigImpl.java | 8 +-
.../admin/internal/DistributionLocatorImpl.java | 3 +-
.../admin/internal/ManagedEntityConfigImpl.java | 3 +-
.../jmx/internal/MX4JServerSocketFactory.java | 10 +-
.../geode/cache/client/ClientRegionFactory.java | 2 +-
.../client/internal/AutoConnectionSourceImpl.java | 47 +-
.../client/internal/ClientRegionFactoryImpl.java | 3 +-
.../cache/client/internal/ConnectionImpl.java | 7 +-
.../internal/ExplicitConnectionSourceImpl.java | 2 +-
.../cache/client/internal/OpExecutorImpl.java | 2 +-
.../geode/cache/client/internal/PoolImpl.java | 32 +-
.../client/internal/pooling/ConnectionManager.java | 5 +-
.../internal/pooling/ConnectionManagerImpl.java | 48 +-
.../java/org/apache/geode/distributed/Locator.java | 3 +-
.../apache/geode/distributed/LocatorLauncher.java | 4 +-
.../internal/ClusterDistributionManager.java | 16 +-
.../internal/ClusterOperationExecutors.java | 8 -
.../geode/distributed/internal/Distribution.java | 9 +-
.../distributed/internal/DistributionAdvisor.java | 12 +-
.../internal/DistributionConfigImpl.java | 3 +-
.../distributed/internal/DistributionImpl.java | 22 +-
.../distributed/internal/DistributionMessage.java | 49 +-
.../distributed/internal/direct/DirectChannel.java | 200 ++----
.../membership/InternalDistributedMember.java | 28 +-
.../org/apache/geode/internal/AbstractConfig.java | 2 +-
.../org/apache/geode/internal/DSFIDFactory.java | 5 +
.../apache/geode/internal/DistributionLocator.java | 6 +-
.../org/apache/geode/internal/SystemAdmin.java | 9 +-
.../geode/internal/admin/remote/AdminRequest.java | 15 +-
.../geode/internal/admin/remote/AdminResponse.java | 12 +-
.../internal/admin/remote/CompactRequest.java | 7 +-
.../admin/remote/DistributionLocatorId.java | 26 +-
.../internal/admin/remote/ShutdownAllRequest.java | 3 +-
.../apache/geode/internal/cache/BucketRegion.java | 38 +-
.../internal/cache/CacheDistributionAdvisor.java | 98 ++-
.../internal/cache/DistributedCacheOperation.java | 2 +-
.../geode/internal/cache/DistributedRegion.java | 39 +-
.../geode/internal/cache/GemFireCacheImpl.java | 8 +-
.../apache/geode/internal/cache/LocalRegion.java | 10 +
.../geode/internal/cache/PartitionedRegion.java | 214 +++++-
.../geode/internal/cache/PoolFactoryImpl.java | 79 +--
.../geode/internal/cache/RegionEventImpl.java | 5 +
.../geode/internal/cache/StateFlushOperation.java | 2 +-
.../internal/cache/partitioned/ClearPRMessage.java | 316 +++++++++
.../cache/partitioned/PartitionMessage.java | 2 +-
.../internal/cache/partitioned/PutMessage.java | 3 +-
.../apache/geode/internal/cache/properties.html | 34 -
.../internal/cache/tier/sockets/AcceptorImpl.java | 5 +-
.../cache/tier/sockets/CacheClientUpdater.java | 4 +-
.../tier/sockets/ProtobufServerConnection.java | 2 +-
.../internal/cache/tx/RemoteOperationMessage.java | 13 +-
.../internal/cache/wan/AbstractGatewaySender.java | 2 +-
.../internal/cache/xmlcache/CacheXmlGenerator.java | 4 +-
.../internal/net/SCAdvancedSocketCreator.java | 119 ++++
.../geode/internal/net/SCClientSocketCreator.java | 20 +-
.../geode/internal/net/SCServerSocketCreator.java | 109 +++
.../apache/geode/internal/net/SocketCreator.java | 361 +++-------
.../security/shiro/JMXShiroAuthenticator.java | 5 +-
.../geode/internal/statistics/HostStatSampler.java | 3 +-
.../internal/statistics/StatArchiveWriter.java | 3 +-
.../org/apache/geode/internal/tcp/Connection.java | 84 +--
.../org/apache/geode/internal/tcp/TCPConduit.java | 7 +-
.../ContextAwareSSLRMIClientSocketFactory.java | 5 +-
.../internal/JmxManagerLocatorRequest.java | 8 +-
.../geode/management/internal/ManagementAgent.java | 8 +-
.../internal/api/GeodeConnectionConfig.java | 4 +-
.../GeodeClusterManagementServiceBuilder.java | 41 --
.../utils/ClusterConfigurationStatusRetriever.java | 11 +-
.../geode/management/internal/i18n/CliStrings.java | 2 +
.../internal/messages/CompactRequest.java | 5 +-
.../sanctioned-geode-core-serializables.txt | 8 +-
.../client/internal/OpExecutorImplJUnitTest.java | 2 +-
.../geode/cache/client/internal/PoolImplTest.java | 4 +-
.../distributed/internal/DistributionTest.java | 32 +-
.../internal/cache/BucketRegionJUnitTest.java | 77 ++
.../cache/CacheDistributionAdvisorTest.java | 176 +++++
.../geode/internal/cache/CacheServerImplTest.java | 5 +
.../internal/cache/DistributedRegionJUnitTest.java | 18 +
.../cache/partitioned/ClearPRMessageTest.java | 260 +++++++
.../tier/sockets/CacheClientUpdaterJUnitTest.java | 6 +-
.../geode/internal/net/SocketCreatorJUnitTest.java | 8 +-
.../apache/geode/internal/tcp/TCPConduitTest.java | 3 +-
.../cache/PutAllClientServerDistributedTest.java | 15 +-
.../cache/tier/sockets/DurableClientTestBase.java | 3 +-
.../cache/tier/sockets/DurableClientTestCase.java | 11 +-
.../gfsh/command-pages/connect.html.md.erb | 19 +-
.../tools_modules/pulse/pulse-auth.html.md.erb | 2 +-
.../cache/client/internal/LocatorTestBase.java | 10 +-
.../geode/test/junit/rules/GfshCommandRule.java | 6 +
.../internal/cli/commands/ConnectCommand.java | 26 +-
.../cli/functions/RegionCreateFunction.java | 37 +-
.../internal/cli/shell/JmxOperationInvoker.java | 7 +-
.../internal/cli/commands/ConnectCommandTest.java | 52 ++
.../functions/RegionCreateFunctionJUnitTest.java | 75 ++
...SerializableTemporaryFolderIntegrationTest.java | 334 +++++++++
.../serializable/SerializableTemporaryFolder.java | 148 +++-
.../geode/test/junit/runners/TestRunner.java | 96 ++-
.../SerializableTemporaryFolderTest.java | 12 +-
.../internal/distributed/LuceneQueryFunction.java | 9 +-
.../distributed/LuceneQueryFunctionJUnitTest.java | 2 +-
.../apache/geode/management/api/CommandType.java | 1 +
...tTemplateClusterManagementServiceTransport.java | 9 +-
.../configuration/AbstractConfiguration.java | 6 +
.../geode/management/configuration/Deployment.java | 6 +
.../internal/ClientClusterManagementService.java | 3 +-
.../ClientClusterManagementServiceTest.java | 1 +
.../internal/membership/gms/GMSUtilTest.java | 36 +-
.../gms/membership/GMSJoinLeaveJUnitTest.java | 12 +-
.../internal/membership/api/MembershipConfig.java | 2 +-
.../internal/membership/gms/GMSUtil.java | 14 +-
.../membership/gms/MemberDataBuilderImpl.java | 4 +-
.../membership/gms/MemberIdentifierImpl.java | 8 +-
.../membership/gms/fd/GMSHealthMonitor.java | 7 +-
.../membership/gms/locator/GMSLocator.java | 13 +-
.../gms/locator/MembershipLocatorImpl.java | 5 +-
.../membership/gms/membership/GMSJoinLeave.java | 9 +-
.../acceptance/CacheConnectionIntegrationTest.java | 4 +-
.../v1/acceptance/CacheOperationsJUnitTest.java | 4 +-
geode-redis/README.md | 71 ++
geode-redis/build.gradle | 3 -
... AnalyzeRedisSerializablesIntegrationTest.java} | 2 +-
...AuthJUnitTest.java => AuthIntegrationTest.java} | 2 +-
...st.java => ConcurrentStartIntegrationTest.java} | 2 +-
...CoderTest.java => GeoCoderIntegrationTest.java} | 2 +-
.../{GeoJUnitTest.java => GeoIntegrationTest.java} | 13 +-
.../apache/geode/redis/HashesIntegrationTest.java | 775 +++++++++++++++++++++
.../org/apache/geode/redis/HashesJUnitTest.java | 188 -----
...stsJUnitTest.java => ListsIntegrationTest.java} | 8 +-
...{PubSubTest.java => PubSubIntegrationTest.java} | 30 +-
.../geode/redis/RedisServerIntegrationTest.java | 4 +-
... => SetCommandNegativeCaseIntegrationTest.java} | 2 +-
.../apache/geode/redis/SetsIntegrationTest.java | 756 ++++++++++++++++++++
.../java/org/apache/geode/redis/SetsJUnitTest.java | 243 -------
...nitTest.java => SortedSetsIntegrationTest.java} | 2 +-
...sJunitTest.java => StringsIntegrationTest.java} | 2 +-
.../geode/redis/mocks/MockBinarySubscriber.java} | 36 +-
.../java/org/apache/geode/internal/hll/Bits.java | 3 +-
.../internal/hll/CardinalityMergeException.java | 1 -
.../org/apache/geode/internal/hll/HyperLogLog.java | 9 +-
.../apache/geode/internal/hll/HyperLogLogPlus.java | 3 +-
.../org/apache/geode/redis/GeodeRedisServer.java | 46 +-
.../geode/redis/internal/AbstractSubscription.java | 4 +-
.../{Extendable.java => AutoCloseableLock.java} | 25 +-
.../geode/redis/internal/ByteArrayWrapper.java | 25 +-
.../geode/redis/internal/ByteToCommandDecoder.java | 58 +-
.../geode/redis/internal/ChannelSubscription.java | 2 +-
.../org/apache/geode/redis/internal/Coder.java | 5 +
.../org/apache/geode/redis/internal/Command.java | 27 +-
.../apache/geode/redis/internal/DoubleWrapper.java | 15 +-
.../redis/internal/ExecutionHandlerContext.java | 71 +-
.../org/apache/geode/redis/internal/Executor.java | 2 -
.../apache/geode/redis/internal/Extendable.java | 2 -
.../org/apache/geode/redis/internal/GeoCoder.java | 3 +-
.../geode/redis/internal/GeodeRedisService.java | 3 +-
.../apache/geode/redis/internal/KeyRegistrar.java | 5 +-
.../geode/redis/internal/PatternSubscription.java | 2 +-
.../org/apache/geode/redis/internal/PubSub.java | 2 +-
.../apache/geode/redis/internal/PubSubImpl.java | 15 +-
.../internal/RedisCommandParserException.java | 2 -
.../geode/redis/internal/RedisCommandType.java | 7 +-
.../geode/redis/internal/RedisConstants.java | 2 +-
.../apache/geode/redis/internal/RedisDataType.java | 5 +-
.../internal/RedisDataTypeMismatchException.java | 2 -
.../geode/redis/internal/RedisLockService.java | 93 +++
.../redis/internal/RegionCreationException.java | 6 +-
.../geode/redis/internal/RegionProvider.java | 113 ++-
.../apache/geode/redis/internal/Subscription.java | 4 +-
.../redis/internal/executor/AbstractExecutor.java | 42 +-
.../geode/redis/internal/executor/DelExecutor.java | 6 +-
.../redis/internal/executor/ExistsExecutor.java | 5 +-
.../redis/internal/executor/ExpireAtExecutor.java | 13 +-
.../redis/internal/executor/ExpireExecutor.java | 14 +-
.../redis/internal/executor/FlushAllExecutor.java | 3 +-
.../redis/internal/executor/KeysExecutor.java | 8 +-
.../redis/internal/executor/PersistExecutor.java | 5 +-
.../redis/internal/executor/ScanExecutor.java | 12 +-
.../geode/redis/internal/executor/TTLExecutor.java | 6 +-
.../redis/internal/executor/TypeExecutor.java | 5 +-
.../redis/internal/executor/UnkownExecutor.java | 23 +-
.../redis/internal/executor/hash/HDelExecutor.java | 60 +-
.../internal/executor/hash/HExistsExecutor.java | 58 +-
.../internal/executor/hash/HGetAllExecutor.java | 57 +-
.../redis/internal/executor/hash/HGetExecutor.java | 42 +-
.../internal/executor/hash/HIncrByExecutor.java | 120 ++--
.../executor/hash/HIncrByFloatExecutor.java | 102 ++-
.../internal/executor/hash/HKeysExecutor.java | 45 +-
.../redis/internal/executor/hash/HLenExecutor.java | 43 +-
.../internal/executor/hash/HMGetExecutor.java | 31 +-
.../internal/executor/hash/HMSetExecutor.java | 59 +-
.../internal/executor/hash/HScanExecutor.java | 29 +-
.../redis/internal/executor/hash/HSetExecutor.java | 80 ++-
.../internal/executor/hash/HSetNXExecutor.java | 18 +-
.../internal/executor/hash/HValsExecutor.java | 33 +-
.../redis/internal/executor/hash/HashExecutor.java | 64 +-
.../redis/internal/executor/hll/PFAddExecutor.java | 11 +-
.../internal/executor/hll/PFCountExecutor.java | 3 +-
.../internal/executor/hll/PFMergeExecutor.java | 6 +-
.../geode/redis/internal/executor/hll/Varint.java | 4 +-
.../internal/executor/list/LIndexExecutor.java | 9 +-
.../internal/executor/list/LRangeExecutor.java | 8 +-
.../redis/internal/executor/list/LRemExecutor.java | 5 +-
.../redis/internal/executor/list/LSetExecutor.java | 7 +-
.../internal/executor/list/LTrimExecutor.java | 4 +-
.../redis/internal/executor/list/ListExecutor.java | 22 +-
.../redis/internal/executor/list/PopExecutor.java | 12 +-
.../internal/executor/pubsub/PublishExecutor.java | 3 +-
.../redis/internal/executor/set/SAddExecutor.java | 50 +-
.../redis/internal/executor/set/SCardExecutor.java | 14 +-
.../redis/internal/executor/set/SDiffExecutor.java | 12 +-
.../internal/executor/set/SInterExecutor.java | 12 +-
.../internal/executor/set/SIsMemberExecutor.java | 29 +-
.../internal/executor/set/SMembersExecutor.java | 41 +-
.../redis/internal/executor/set/SMoveExecutor.java | 95 ++-
.../redis/internal/executor/set/SPopExecutor.java | 80 ++-
.../internal/executor/set/SRandMemberExecutor.java | 104 +--
.../redis/internal/executor/set/SRemExecutor.java | 41 +-
.../redis/internal/executor/set/SScanExecutor.java | 27 +-
.../internal/executor/set/SUnionExecutor.java | 6 +-
.../redis/internal/executor/set/SetExecutor.java | 25 +
.../redis/internal/executor/set/SetOpExecutor.java | 99 +--
.../executor/sortedset/GeoAddExecutor.java | 3 +-
.../executor/sortedset/GeoRadiusExecutor.java | 3 +-
.../executor/sortedset/GeoRadiusParameters.java | 19 +-
.../internal/executor/sortedset/ZAddExecutor.java | 3 +-
.../internal/executor/sortedset/ZCardExecutor.java | 7 +-
.../executor/sortedset/ZCountExecutor.java | 14 +-
.../executor/sortedset/ZLexCountExecutor.java | 9 +-
.../executor/sortedset/ZRangeByLexExecutor.java | 23 +-
.../executor/sortedset/ZRangeByScoreExecutor.java | 28 +-
.../executor/sortedset/ZRangeExecutor.java | 9 +-
.../internal/executor/sortedset/ZRankExecutor.java | 5 +-
.../internal/executor/sortedset/ZRemExecutor.java | 6 +-
.../executor/sortedset/ZRemRangeByLexExecutor.java | 14 +-
.../sortedset/ZRemRangeByRankExecutor.java | 14 +-
.../sortedset/ZRemRangeByScoreExecutor.java | 17 +-
.../internal/executor/sortedset/ZScanExecutor.java | 8 +-
.../internal/executor/string/AppendExecutor.java | 2 +-
.../internal/executor/string/BitCountExecutor.java | 20 +-
.../internal/executor/string/BitOpExecutor.java | 34 +-
.../internal/executor/string/BitPosExecutor.java | 40 +-
.../internal/executor/string/DecrExecutor.java | 2 +-
.../internal/executor/string/GetBitExecutor.java | 3 +-
.../internal/executor/string/GetRangeExecutor.java | 4 +-
.../executor/string/IncrByFloatExecutor.java | 1 -
.../internal/executor/string/IncrExecutor.java | 1 -
.../internal/executor/string/MGetExecutor.java | 3 +-
.../internal/executor/string/SetBitExecutor.java | 8 +-
.../internal/executor/string/SetEXExecutor.java | 3 +-
.../internal/executor/string/SetExecutor.java | 6 +-
.../internal/executor/string/SetNXExecutor.java | 5 +-
.../internal/executor/string/SetRangeExecutor.java | 3 +-
.../internal/executor/string/StrlenExecutor.java | 6 +-
.../executor/transactions/ExecExecutor.java | 7 +-
.../internal/org/apache/hadoop/fs/GlobPattern.java | 4 +-
geode-redis/src/performanceTest/aggregator.sh | 91 +++
geode-redis/src/performanceTest/benchmark.sh | 116 +++
geode-redis/src/performanceTest/shacompare.sh | 59 ++
.../geode/redis/internal/CommandJUnitTest.java | 77 ++
.../internal/ExecutionHandlerContextJUnitTest.java | 73 ++
.../geode/redis/internal/PubSubImplJUnitTest.java | 2 +-
.../redis/internal/RedisLockServiceJUnitTest.java | 168 +++++
.../redis/internal/RegionProviderJUnitTest.java | 108 +++
...ptionsTest.java => SubscriptionsJUnitTest.java} | 2 +-
.../executor/AbstractExecutorJUnitTest.java | 61 ++
...est.java => AbstractScanExecutorJUnitTest.java} | 2 +-
.../executor/UnkownExecutorJUnitTest.java} | 36 +-
.../executor/hash/HDelExecutorJUnitTest.java} | 36 +-
.../executor/set/SetExecutorJUnitTest.java | 374 ++++++++++
...orTest.java => StringSetExecutorJUnitTest.java} | 2 +-
.../serialization/DataSerializableFixedID.java | 4 +
.../serialization/StaticSerialization.java | 1 +
.../tcpserver/TcpServerGossipVersionDUnitTest.java | 3 +-
.../internal/tcpserver/TcpServerJUnitTest.java | 30 +-
.../TcpServerProductVersionDUnitTest.java | 17 +-
.../internal/tcpserver/AdvancedSocketCreator.java | 61 ++
...torImpl.java => AdvancedSocketCreatorImpl.java} | 148 ++--
...SocketCreator.java => ClientSocketCreator.java} | 44 +-
.../tcpserver/ClientSocketCreatorImpl.java | 54 ++
...ocketCreator.java => ClusterSocketCreator.java} | 50 +-
.../internal/tcpserver/HostAndPort.java | 154 ++++
.../internal/tcpserver/LocatorAddress.java | 91 ---
.../tcpserver/ServerSocketCreatorImpl.java | 96 +++
.../distributed/internal/tcpserver/TcpClient.java | 64 +-
.../distributed/internal/tcpserver/TcpServer.java | 6 +-
.../internal/tcpserver/TcpSocketCreator.java | 38 +-
.../internal/tcpserver/TcpSocketCreatorImpl.java | 191 +----
...ocatorAddressTest.java => HostAndPortTest.java} | 40 +-
.../WANHostNameVerificationDistributedTest.java | 31 +-
.../internal/locator/wan/LocatorDiscovery.java | 11 +-
.../locator/wan/LocatorMembershipListenerImpl.java | 6 +-
.../locator/wan/LocatorMembershipListenerTest.java | 4 +-
...SenderEventRemoteDispatcherIntegrationTest.java | 17 -
.../DeploymentManagementController.java | 11 +-
.../rest/security/RestSecurityConfiguration.java | 19 +
.../src/main/webapp/WEB-INF/management-servlet.xml | 2 -
.../DeploymentManagementControllerTest.java | 50 ++
.../commands/ConnectCommandWithSecurityTest.java | 22 +
.../support/LoginHandlerInterceptor.java | 15 +-
326 files changed, 8605 insertions(+), 3148 deletions(-)
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearDUnitTest.java
rename geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/HostAddress.java => geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionPersistentClearDUnitTest.java (71%)
create mode 100644 geode-core/src/integrationTest/java/org/apache/geode/internal/cache/CacheDistributionAdvisorConcurrentTest.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ClearPRMessage.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/net/SCAdvancedSocketCreator.java
copy geode-redis/src/integrationTest/java/org/apache/geode/codeAnalysis/AnalyzeRedisSerializablesJUnitTest.java => geode-core/src/main/java/org/apache/geode/internal/net/SCClientSocketCreator.java (59%)
mode change 100755 => 100644
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/net/SCServerSocketCreator.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/builder/GeodeClusterManagementServiceBuilder.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/CacheDistributionAdvisorTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/ClearPRMessageTest.java
create mode 100644 geode-gfsh/src/test/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunctionJUnitTest.java
create mode 100644 geode-junit/src/integrationTest/java/org/apache/geode/test/junit/rules/serializable/SerializableTemporaryFolderIntegrationTest.java
create mode 100644 geode-redis/README.md
rename geode-redis/src/integrationTest/java/org/apache/geode/codeAnalysis/{AnalyzeRedisSerializablesJUnitTest.java => AnalyzeRedisSerializablesIntegrationTest.java} (91%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{AuthJUnitTest.java => AuthIntegrationTest.java} (99%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{ConcurrentStartTest.java => ConcurrentStartIntegrationTest.java} (98%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{GeoCoderTest.java => GeoCoderIntegrationTest.java} (97%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{GeoJUnitTest.java => GeoIntegrationTest.java} (99%)
create mode 100755 geode-redis/src/integrationTest/java/org/apache/geode/redis/HashesIntegrationTest.java
delete mode 100755 geode-redis/src/integrationTest/java/org/apache/geode/redis/HashesJUnitTest.java
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{ListsJUnitTest.java => ListsIntegrationTest.java} (96%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{PubSubTest.java => PubSubIntegrationTest.java} (91%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{SetCommandNegativeCaseTest.java => SetCommandNegativeCaseIntegrationTest.java} (98%)
create mode 100755 geode-redis/src/integrationTest/java/org/apache/geode/redis/SetsIntegrationTest.java
delete mode 100755 geode-redis/src/integrationTest/java/org/apache/geode/redis/SetsJUnitTest.java
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{SortedSetsJUnitTest.java => SortedSetsIntegrationTest.java} (99%)
rename geode-redis/src/integrationTest/java/org/apache/geode/redis/{StringsJunitTest.java => StringsIntegrationTest.java} (99%)
copy geode-redis/src/{main/java/org/apache/geode/redis/internal/executor/set/SDiffExecutor.java => integrationTest/java/org/apache/geode/redis/mocks/MockBinarySubscriber.java} (56%)
mode change 100755 => 100644
copy geode-redis/src/main/java/org/apache/geode/redis/internal/{Extendable.java => AutoCloseableLock.java} (69%)
create mode 100644 geode-redis/src/main/java/org/apache/geode/redis/internal/RedisLockService.java
create mode 100644 geode-redis/src/performanceTest/aggregator.sh
create mode 100644 geode-redis/src/performanceTest/benchmark.sh
create mode 100644 geode-redis/src/performanceTest/shacompare.sh
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/CommandJUnitTest.java
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/ExecutionHandlerContextJUnitTest.java
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/RedisLockServiceJUnitTest.java
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/RegionProviderJUnitTest.java
rename geode-redis/src/test/java/org/apache/geode/redis/internal/{SubscriptionsTest.java => SubscriptionsJUnitTest.java} (99%)
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/executor/AbstractExecutorJUnitTest.java
rename geode-redis/src/test/java/org/apache/geode/redis/internal/executor/{AbstractScanExecutorTest.java => AbstractScanExecutorJUnitTest.java} (97%)
copy geode-redis/src/{main/java/org/apache/geode/redis/internal/executor/UnkownExecutor.java => test/java/org/apache/geode/redis/internal/executor/UnkownExecutorJUnitTest.java} (56%)
mode change 100755 => 100644
copy geode-redis/src/{main/java/org/apache/geode/redis/internal/executor/UnkownExecutor.java => test/java/org/apache/geode/redis/internal/executor/hash/HDelExecutorJUnitTest.java} (53%)
mode change 100755 => 100644
create mode 100644 geode-redis/src/test/java/org/apache/geode/redis/internal/executor/set/SetExecutorJUnitTest.java
rename geode-redis/src/test/java/org/apache/geode/redis/internal/executor/string/{SetExecutorTest.java => StringSetExecutorJUnitTest.java} (99%)
create mode 100644 geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/AdvancedSocketCreator.java
copy geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/{TcpSocketCreatorImpl.java => AdvancedSocketCreatorImpl.java} (62%)
copy geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/{TcpSocketCreator.java => ClientSocketCreator.java} (54%)
create mode 100644 geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/ClientSocketCreatorImpl.java
copy geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/{TcpSocketCreator.java => ClusterSocketCreator.java} (50%)
create mode 100644 geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/HostAndPort.java
delete mode 100644 geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/LocatorAddress.java
create mode 100644 geode-tcp-server/src/main/java/org/apache/geode/distributed/internal/tcpserver/ServerSocketCreatorImpl.java
rename geode-tcp-server/src/test/java/org/apache/geode/distributed/internal/tcpserver/{LocatorAddressTest.java => HostAndPortTest.java} (56%)
create mode 100644 geode-web-management/src/test/java/org/apache/geode/management/internal/rest/controllers/DeploymentManagementControllerTest.java
[geode] 03/08: Add the one bucket case
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 7b6b8483e3a4698c277db66a0db80634d05ede8a
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Mon Mar 2 15:40:13 2020 -0800
Add the one bucket case
Authored-by: Jianxia Chen <jc...@apache.org>
---
...PartitionedRegionClearPerformanceDUnitTest.java | 38 ++++++++++++++++++----
1 file changed, 32 insertions(+), 6 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index a3eb15d..05d1bf8 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -41,6 +41,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
private String regionName = "testRegion";
+ private int numEntries = 100_000;
+
@Before
public void setup() throws Exception {
locator = clusterStartupRule.startLocatorVM(0, 0);
@@ -55,7 +57,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
Cache cache = ClusterStartupRule.getCache();
cache.createRegionFactory(RegionShortcut.PARTITION).create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -83,7 +84,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
new PartitionAttributesFactory().setRedundantCopies(1).create()).create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -111,7 +111,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
new PartitionAttributesFactory().setRedundantCopies(2).create()).create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -138,7 +137,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
Cache cache = ClusterStartupRule.getCache();
cache.createRegionFactory(RegionShortcut.PARTITION_PERSISTENT).create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -168,7 +166,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
new PartitionAttributesFactory().setRedundantCopies(1).create())
.create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -198,7 +195,6 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
new PartitionAttributesFactory().setRedundantCopies(2).create())
.create(regionName);
- int numEntries = 100;
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -219,6 +215,36 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
});
}
+ @Test
+ public void testOneBucketPersistentRedundancyTwo() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
+ .setPartitionAttributes(
+ new PartitionAttributesFactory().setTotalNumBuckets(1).setRedundantCopies(2).create())
+ .create(regionName);
+
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(1);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
private void populateRegion(String regionName, Map<String, String> entries) {
Region r = ClusterStartupRule.getCache().getRegion("/" + regionName);
entries.entrySet().forEach(e -> {
[geode] 02/08: gradlew spotlessApply
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 583f6cadffea6803396a8fb63770fa63ef6e0748
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Thu Feb 27 16:04:37 2020 -0800
gradlew spotlessApply
Authored-by: Jianxia Chen <jc...@apache.org>
---
.../internal/cache/PartitionedRegionClearPerformanceDUnitTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index b7caa8b..a3eb15d 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -165,7 +165,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
Cache cache = ClusterStartupRule.getCache();
cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
.setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(1).create()).create(regionName);
+ new PartitionAttributesFactory().setRedundantCopies(1).create())
+ .create(regionName);
int numEntries = 100;
Map<String, String> entries = new HashMap<>();
@@ -194,7 +195,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
Cache cache = ClusterStartupRule.getCache();
cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
.setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(2).create()).create(regionName);
+ new PartitionAttributesFactory().setRedundantCopies(2).create())
+ .create(regionName);
int numEntries = 100;
Map<String, String> entries = new HashMap<>();
[geode] 08/08: Use Region.clear instead of Region.removeAll
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit f350555fd281b2c1355e29548fa87d62d93326ad
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Mon Mar 16 13:46:08 2020 -0700
Use Region.clear instead of Region.removeAll
Authored-by: Jianxia Chen <jc...@apache.org>
---
.../cache/PartitionedRegionClearPerformanceDUnitTest.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index f9b0cc1..c659982 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -99,7 +99,7 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
}
private void assertRegionSizeOnServer(int size) {
- server1.invoke(()-> {
+ server1.invoke(() -> {
Region region = ClusterStartupRule.getCache().getRegion(regionName);
assertThat(region.size()).isEqualTo(size);
});
@@ -108,9 +108,11 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
private void assertRegionAttributesOnServer(int numBuckets, boolean persistent, int redundancy) {
server1.invoke(() -> {
Region region = ClusterStartupRule.getCache().getRegion(regionName);
- assertThat(region.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(numBuckets);
+ assertThat(region.getAttributes().getPartitionAttributes().getTotalNumBuckets())
+ .isEqualTo(numBuckets);
assertThat(region.getAttributes().getDataPolicy().withPersistence()).isEqualTo(persistent);
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(redundancy);
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies())
+ .isEqualTo(redundancy);
});
}
@@ -119,7 +121,7 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
client.invoke(() -> {
Region clientRegion = ClusterStartupRule.getClientCache().getRegion(regionName);
long startTime = System.currentTimeMillis();
- clientRegion.removeAll(clientRegion.keySet()); // should be clientRegion.clear();
+ clientRegion.clear();
long endTime = System.currentTimeMillis();
System.out.println(
"Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
@@ -130,7 +132,7 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
server1.invoke(() -> {
Region region = ClusterStartupRule.getCache().getRegion(regionName);
long startTime = System.currentTimeMillis();
- region.removeAll(region.keySet()); // should be region.clear();
+ region.clear();
long endTime = System.currentTimeMillis();
System.out.println(
"Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
[geode] 07/08: Initiate clear from both client and server
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit e16f47b58cd48a87a7c4640e859df852f753e0e7
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Fri Mar 6 12:35:50 2020 -0800
Initiate clear from both client and server
Authored-by: Jianxia Chen <jc...@apache.org>
---
...PartitionedRegionClearPerformanceDUnitTest.java | 222 +++++++--------------
1 file changed, 75 insertions(+), 147 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index 72cc36b..f9b0cc1 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -18,9 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
import java.util.stream.IntStream;
import junitparams.JUnitParamsRunner;
@@ -28,7 +26,6 @@ import junitparams.Parameters;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.TestName;
import org.junit.runner.RunWith;
import org.apache.geode.cache.Cache;
@@ -91,38 +88,42 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
}
private void populateRegion() {
- server1.invoke(() -> {
- Region region = ClusterStartupRule.getCache().getRegion("/" + regionName);
+ client.invoke(() -> {
+ Region clientRegion = ClusterStartupRule.getClientCache().getRegion("/" + regionName);
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
entries.entrySet().forEach(e -> {
- region.put(e.getKey(), e.getValue());
+ clientRegion.put(e.getKey(), e.getValue());
});
});
}
- @Test
- @Parameters({"true", "false"})
- public void testNonPersistentNonRedundant(boolean isClient) {
- createRegionInCluster(RegionShortcut.PARTITION, 113, 0);
- populateRegion();
+ private void assertRegionSizeOnServer(int size) {
+ server1.invoke(()-> {
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+ assertThat(region.size()).isEqualTo(size);
+ });
+ }
+
+ private void assertRegionAttributesOnServer(int numBuckets, boolean persistent, int redundancy) {
server1.invoke(() -> {
Region region = ClusterStartupRule.getCache().getRegion(regionName);
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(0);
+ assertThat(region.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(numBuckets);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isEqualTo(persistent);
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(redundancy);
});
+ }
+
+ private void doRegionClear(String methodName, boolean isClient) {
if (isClient) {
client.invoke(() -> {
Region clientRegion = ClusterStartupRule.getClientCache().getRegion(regionName);
long startTime = System.currentTimeMillis();
- Set keys = new HashSet<>();
- IntStream.range(0, numEntries).forEach(i -> keys.add("key-" + i));
- clientRegion.removeAll(keys); // should be clientRegion.clear();
+ clientRegion.removeAll(clientRegion.keySet()); // should be clientRegion.clear();
long endTime = System.currentTimeMillis();
System.out.println(
"Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear. " + " isClient=" + isClient);
+ + " milliseconds to clear. methodName=" + methodName + " isClient=" + isClient);
assertThat(clientRegion.size()).isEqualTo(0);
});
} else {
@@ -133,159 +134,86 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
long endTime = System.currentTimeMillis();
System.out.println(
"Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear. " + " isClient=" + isClient);
+ + " milliseconds to clear. methodName=" + methodName + " isClient=" + isClient);
});
}
- server1.invoke(()-> {
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
- assertThat(region.size()).isEqualTo(0);
- });
}
-/*
- @Test
- public void testRedundancyOneNonPersistent() {
- createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 1);
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1);
+ @Test
+ @Parameters({"true", "false"})
+ public void testNonPersistentNonRedundant(boolean isClient) {
+ createRegionInCluster(RegionShortcut.PARTITION, 113, 0);
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, false, 0);
+ doRegionClear("testNonPersistentNonRedundant", isClient);
+ assertRegionSizeOnServer(0);
+ }
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ @Test
+ @Parameters({"true", "false"})
+ public void testRedundancyOneNonPersistent(boolean isClient) {
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 1);
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, false, 1);
+ doRegionClear("testRedundancyOneNonPersistent", isClient);
+ assertRegionSizeOnServer(0);
}
@Test
- public void testRedundancyTwoNonPersistent() {
+ @Parameters({"true", "false"})
+ public void testRedundancyTwoNonPersistent(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 2);
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, false, 2);
+ doRegionClear("testRedundancyTwoNonPersistent", isClient);
+ assertRegionSizeOnServer(0);
}
@Test
- public void testPersistentNonRedundant() {
+ @Parameters({"true", "false"})
+ public void testPersistentNonRedundant(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION_PERSISTENT, 113, 0);
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(0);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, true, 0);
+ doRegionClear("testPersistentNonRedundant", isClient);
+ assertRegionSizeOnServer(0);
}
@Test
- public void testPersistentRedundancyOne() {
+ @Parameters({"true", "false"})
+ public void testPersistentRedundancyOne(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 113, 1);
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, true, 1);
+ doRegionClear("testPersistentRedundancyOne", isClient);
+ assertRegionSizeOnServer(0);
}
@Test
- public void testPersistentRedundancyTwo() {
+ @Parameters({"true", "false"})
+ public void testPersistentRedundancyTwo(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 113, 2);
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(113, true, 2);
+ doRegionClear("testPersistentRedundancyTwo", isClient);
+ assertRegionSizeOnServer(0);
}
@Test
- public void testOneBucketPersistentRedundancyTwo() {
+ @Parameters({"true", "false"})
+ public void testOneBucketPersistentRedundancyTwo(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 1, 2);
-
- server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
- Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
- assertThat(region.size()).isEqualTo(numEntries);
- assertThat(region.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(1);
- assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
- assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
- assertThat(region.size()).isEqualTo(0);
- });
+ populateRegion();
+ assertRegionSizeOnServer(numEntries);
+ assertRegionAttributesOnServer(1, true, 2);
+ doRegionClear("testOneBucketPersistentRedundancyTwo", isClient);
+ assertRegionSizeOnServer(0);
}
-*/
+
}
[geode] 06/08: WIP
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit f1a210fd5820a0dbf5a268f44199784665483383
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Thu Mar 5 18:15:00 2020 -0800
WIP
Authored-by: Jianxia Chen <jc...@apache.org>
---
...PartitionedRegionClearPerformanceDUnitTest.java | 82 ++++++++++++++++------
1 file changed, 62 insertions(+), 20 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index 72718a7..72cc36b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -18,27 +18,39 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
import java.util.stream.IntStream;
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TestName;
+import org.junit.runner.RunWith;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.PartitionAttributesFactory;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.client.ClientCache;
+import org.apache.geode.cache.client.ClientRegionShortcut;
+import org.apache.geode.test.dunit.rules.ClientVM;
import org.apache.geode.test.dunit.rules.ClusterStartupRule;
import org.apache.geode.test.dunit.rules.MemberVM;
+@RunWith(JUnitParamsRunner.class)
public class PartitionedRegionClearPerformanceDUnitTest implements Serializable {
@Rule
- public ClusterStartupRule clusterStartupRule = new ClusterStartupRule();
+ public ClusterStartupRule clusterStartupRule = new ClusterStartupRule(5);
private MemberVM locator, server1, server2, server3;
+ private ClientVM client;
+
private String regionName = "testRegion";
private int numEntries = 100_000;
@@ -49,6 +61,7 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
server1 = clusterStartupRule.startServerVM(1, locator.getPort());
server2 = clusterStartupRule.startServerVM(2, locator.getPort());
server3 = clusterStartupRule.startServerVM(3, locator.getPort());
+ client = clusterStartupRule.startClientVM(4, c -> c.withLocatorConnection(locator.getPort()));
}
private void createRegionOnServer(MemberVM server, RegionShortcut type, int numBuckets,
@@ -63,43 +76,72 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
});
}
+ private void createRegionOnClient(ClientRegionShortcut type) {
+ client.invoke(() -> {
+ ClientCache clientCache = ClusterStartupRule.getClientCache();
+ clientCache.createClientRegionFactory(type).create(regionName);
+ });
+ }
+
private void createRegionInCluster(RegionShortcut type, int numBuckets, int redundancy) {
createRegionOnServer(server1, type, numBuckets, redundancy);
createRegionOnServer(server2, type, numBuckets, redundancy);
createRegionOnServer(server3, type, numBuckets, redundancy);
+ createRegionOnClient(ClientRegionShortcut.CACHING_PROXY);
}
- private void populateRegion(String regionName, Map<String, String> entries) {
- Region r = ClusterStartupRule.getCache().getRegion("/" + regionName);
- entries.entrySet().forEach(e -> {
- r.put(e.getKey(), e.getValue());
+ private void populateRegion() {
+ server1.invoke(() -> {
+ Region region = ClusterStartupRule.getCache().getRegion("/" + regionName);
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ entries.entrySet().forEach(e -> {
+ region.put(e.getKey(), e.getValue());
+ });
});
}
@Test
- public void testNonPersistentNonRedundant() {
+ @Parameters({"true", "false"})
+ public void testNonPersistentNonRedundant(boolean isClient) {
createRegionInCluster(RegionShortcut.PARTITION, 113, 0);
+ populateRegion();
server1.invoke(() -> {
- Map<String, String> entries = new HashMap<>();
- IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
- populateRegion(regionName, entries);
-
Region region = ClusterStartupRule.getCache().getRegion(regionName);
-
assertThat(region.size()).isEqualTo(numEntries);
assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(0);
-
- long startTime = System.currentTimeMillis();
- region.removeAll(entries.keySet()); // should be region.clear();
- long endTime = System.currentTimeMillis();
- System.out.println(
- "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
- + " milliseconds to clear.");
+ });
+ if (isClient) {
+ client.invoke(() -> {
+ Region clientRegion = ClusterStartupRule.getClientCache().getRegion(regionName);
+ long startTime = System.currentTimeMillis();
+ Set keys = new HashSet<>();
+ IntStream.range(0, numEntries).forEach(i -> keys.add("key-" + i));
+ clientRegion.removeAll(keys); // should be clientRegion.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear. " + " isClient=" + isClient);
+ assertThat(clientRegion.size()).isEqualTo(0);
+ });
+ } else {
+ server1.invoke(() -> {
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+ long startTime = System.currentTimeMillis();
+ region.removeAll(region.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear. " + " isClient=" + isClient);
+ });
+ }
+ server1.invoke(()-> {
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
assertThat(region.size()).isEqualTo(0);
});
}
-
+/*
@Test
public void testRedundancyOneNonPersistent() {
createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 1);
@@ -245,5 +287,5 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
assertThat(region.size()).isEqualTo(0);
});
}
-
+*/
}
[geode] 05/08: spotlessApply
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit ba49218bbb0beeb59d90e5332cacbd4b8314f595
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Thu Mar 5 17:02:47 2020 -0800
spotlessApply
Authored-by: Jianxia Chen <jc...@apache.org>
---
.../internal/cache/PartitionedRegionClearPerformanceDUnitTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index 5e33a38..72718a7 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -51,12 +51,14 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
server3 = clusterStartupRule.startServerVM(3, locator.getPort());
}
- private void createRegionOnServer(MemberVM server, RegionShortcut type, int numBuckets, int redundancy) {
+ private void createRegionOnServer(MemberVM server, RegionShortcut type, int numBuckets,
+ int redundancy) {
server.invoke(() -> {
Cache cache = ClusterStartupRule.getCache();
cache.createRegionFactory(type)
.setPartitionAttributes(
- new PartitionAttributesFactory().setTotalNumBuckets(numBuckets).setRedundantCopies(redundancy).create())
+ new PartitionAttributesFactory().setTotalNumBuckets(numBuckets)
+ .setRedundantCopies(redundancy).create())
.create(regionName);
});
}
[geode] 04/08: Create partitioned region on all servers
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 9bedf5d4970dd89d0dfea694d1339904520e570a
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Thu Mar 5 16:26:43 2020 -0800
Create partitioned region on all servers
Authored-by: Jianxia Chen <jc...@apache.org>
---
...PartitionedRegionClearPerformanceDUnitTest.java | 75 ++++++++++------------
1 file changed, 34 insertions(+), 41 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
index 05d1bf8..5e33a38 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -37,7 +37,7 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Rule
public ClusterStartupRule clusterStartupRule = new ClusterStartupRule();
- private MemberVM locator, server1;
+ private MemberVM locator, server1, server2, server3;
private String regionName = "testRegion";
@@ -47,16 +47,37 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
public void setup() throws Exception {
locator = clusterStartupRule.startLocatorVM(0, 0);
server1 = clusterStartupRule.startServerVM(1, locator.getPort());
- clusterStartupRule.startServerVM(2, locator.getPort());
- clusterStartupRule.startServerVM(3, locator.getPort());
+ server2 = clusterStartupRule.startServerVM(2, locator.getPort());
+ server3 = clusterStartupRule.startServerVM(3, locator.getPort());
+ }
+
+ private void createRegionOnServer(MemberVM server, RegionShortcut type, int numBuckets, int redundancy) {
+ server.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(type)
+ .setPartitionAttributes(
+ new PartitionAttributesFactory().setTotalNumBuckets(numBuckets).setRedundantCopies(redundancy).create())
+ .create(regionName);
+ });
+ }
+
+ private void createRegionInCluster(RegionShortcut type, int numBuckets, int redundancy) {
+ createRegionOnServer(server1, type, numBuckets, redundancy);
+ createRegionOnServer(server2, type, numBuckets, redundancy);
+ createRegionOnServer(server3, type, numBuckets, redundancy);
+ }
+
+ private void populateRegion(String regionName, Map<String, String> entries) {
+ Region r = ClusterStartupRule.getCache().getRegion("/" + regionName);
+ entries.entrySet().forEach(e -> {
+ r.put(e.getKey(), e.getValue());
+ });
}
@Test
public void testNonPersistentNonRedundant() {
+ createRegionInCluster(RegionShortcut.PARTITION, 113, 0);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION).create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -79,11 +100,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testRedundancyOneNonPersistent() {
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 1);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(1).create()).create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -106,11 +124,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testRedundancyTwoNonPersistent() {
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT, 113, 2);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(2).create()).create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -133,10 +148,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testPersistentNonRedundant() {
+ createRegionInCluster(RegionShortcut.PARTITION_PERSISTENT, 113, 0);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_PERSISTENT).create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -159,13 +172,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testPersistentRedundancyOne() {
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 113, 1);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
- .setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(1).create())
- .create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -188,13 +196,8 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testPersistentRedundancyTwo() {
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 113, 2);
server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
- .setPartitionAttributes(
- new PartitionAttributesFactory().setRedundantCopies(2).create())
- .create(regionName);
-
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -217,13 +220,9 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
@Test
public void testOneBucketPersistentRedundancyTwo() {
- server1.invoke(() -> {
- Cache cache = ClusterStartupRule.getCache();
- cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
- .setPartitionAttributes(
- new PartitionAttributesFactory().setTotalNumBuckets(1).setRedundantCopies(2).create())
- .create(regionName);
+ createRegionInCluster(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT, 1, 2);
+ server1.invoke(() -> {
Map<String, String> entries = new HashMap<>();
IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
populateRegion(regionName, entries);
@@ -245,10 +244,4 @@ public class PartitionedRegionClearPerformanceDUnitTest implements Serializable
});
}
- private void populateRegion(String regionName, Map<String, String> entries) {
- Region r = ClusterStartupRule.getCache().getRegion("/" + regionName);
- entries.entrySet().forEach(e -> {
- r.put(e.getKey(), e.getValue());
- });
- }
}
[geode] 01/08: GEODE-7681: Initial draft of performance dunit
Posted by jc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jchen21 pushed a commit to branch feature/GEODE-7681
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 1263b78133754a6be6136165e86fd1245d8e9524
Author: Jianxia Chen <jc...@apache.org>
AuthorDate: Thu Feb 27 15:57:39 2020 -0800
GEODE-7681: Initial draft of performance dunit
Authored-by: Jianxia Chen <jc...@apache.org>
---
...PartitionedRegionClearPerformanceDUnitTest.java | 226 +++++++++++++++++++++
1 file changed, 226 insertions(+)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
new file mode 100644
index 0000000..b7caa8b
--- /dev/null
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearPerformanceDUnitTest.java
@@ -0,0 +1,226 @@
+/*
+ * 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.cache;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.stream.IntStream;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.PartitionAttributesFactory;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.test.dunit.rules.ClusterStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
+
+public class PartitionedRegionClearPerformanceDUnitTest implements Serializable {
+
+ @Rule
+ public ClusterStartupRule clusterStartupRule = new ClusterStartupRule();
+
+ private MemberVM locator, server1;
+
+ private String regionName = "testRegion";
+
+ @Before
+ public void setup() throws Exception {
+ locator = clusterStartupRule.startLocatorVM(0, 0);
+ server1 = clusterStartupRule.startServerVM(1, locator.getPort());
+ clusterStartupRule.startServerVM(2, locator.getPort());
+ clusterStartupRule.startServerVM(3, locator.getPort());
+ }
+
+ @Test
+ public void testNonPersistentNonRedundant() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(0);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ @Test
+ public void testRedundancyOneNonPersistent() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
+ new PartitionAttributesFactory().setRedundantCopies(1).create()).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ @Test
+ public void testRedundancyTwoNonPersistent() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT).setPartitionAttributes(
+ new PartitionAttributesFactory().setRedundantCopies(2).create()).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ @Test
+ public void testPersistentNonRedundant() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_PERSISTENT).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(0);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ @Test
+ public void testPersistentRedundancyOne() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
+ .setPartitionAttributes(
+ new PartitionAttributesFactory().setRedundantCopies(1).create()).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ @Test
+ public void testPersistentRedundancyTwo() {
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ cache.createRegionFactory(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT)
+ .setPartitionAttributes(
+ new PartitionAttributesFactory().setRedundantCopies(2).create()).create(regionName);
+
+ int numEntries = 100;
+ Map<String, String> entries = new HashMap<>();
+ IntStream.range(0, numEntries).forEach(i -> entries.put("key-" + i, "value-" + i));
+ populateRegion(regionName, entries);
+
+ Region region = ClusterStartupRule.getCache().getRegion(regionName);
+
+ assertThat(region.size()).isEqualTo(numEntries);
+ assertThat(region.getAttributes().getDataPolicy().withPersistence()).isTrue();
+ assertThat(region.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2);
+
+ long startTime = System.currentTimeMillis();
+ region.removeAll(entries.keySet()); // should be region.clear();
+ long endTime = System.currentTimeMillis();
+ System.out.println(
+ "Partitioned region with " + numEntries + " entries takes " + (endTime - startTime)
+ + " milliseconds to clear.");
+ assertThat(region.size()).isEqualTo(0);
+ });
+ }
+
+ private void populateRegion(String regionName, Map<String, String> entries) {
+ Region r = ClusterStartupRule.getCache().getRegion("/" + regionName);
+ entries.entrySet().forEach(e -> {
+ r.put(e.getKey(), e.getValue());
+ });
+ }
+}