You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2018/04/11 05:45:01 UTC
[geode] branch feature/GEODE-4647 updated (1b15872 -> 45bc7b7)
This is an automated email from the ASF dual-hosted git repository.
zhouxj pushed a change to branch feature/GEODE-4647
in repository https://gitbox.apache.org/repos/asf/geode.git.
omit 1b15872 GEODE-4647: add trace to print content of undrained queue
omit 859edc1 GEODE-4647: add back test cases
omit 23ae7d6 GEODE-4647: add a stats eventSecondaryQueueSizeId to track events in secondary gateway sender queue
add 9104dac GEODE-4859: Preparing GfshCommand to be public interface (#1647)
add 63ebca4 Fix help guide url in Pulse
add 1cca96a GEODE-3922: Fix additional help links
add 3d5ad69 GEODE-3922: Removed pulse-help-custom from gemfire.properties
add d23c6d1 GEODE-4386: Add gfsh command to describe jndi-binding (#1653)
add 846e586 GEODE-4386: Fix compilation issue
add 7c27d88 GEODE-4881: Support lucene reindexing (of existing data) with rebalance
add 7c86962 GEODE-4915: Fix ClusterConfigLocatorRestartDUnitTest intermittent failures (#1664)
add 3f2bae8 GEODE-3881: Prevent illegal region names in the unit tests. (#1668)
add 1b66a65 GEODE-4749: Remove method bytecodes from serializable analysis. (#1660)
add 6446d17 GEODE-4910: Modify method description to mention exception. (#1657)
add 405559d GEODE-4882: Prevent intermittent test failure from CacheClosedException (#1670)
add 78dcf4b GEODE-4859: Create a public version of GfshCommand (#1662)
add 6367925 GEODE-4924: Fixes JAVA_ARGS environemnt parameter. (#1673)
add da51fce GEODE-4894: Changes are made to support case sensitivity between region, table name and pdx field, column name (#1663)
add f3b47a5 GEODE-4928 DistributedLockService doesn't work as expected while the dlock grantor is initialized
add d79a2b2 GEODE-4827: null check for the cache. (#1646)
add 0ffb983 Revert "GEODE-4928 DistributedLockService doesn't work as expected while the dlock grantor is initialized"
add 2953dc0 GEODE-1279: Rename Bug51616JUnitTest as CreateRegionFactoryNewInstanceRegressionTest
add 0618d54 GEODE-1279: Rename Bug33726JUnitTest as AfterRegionCreateNotBeforeRegionInitRegressionTest
add be91870 GEODE-1279: Rename Bug34179TooManyFilesOpenJUnitTest as OplogTooManyFilesOpenRegressionTest
add cd3ff6d GEODE-1279: Rename Bug34583JUnitTest as RegionValuesIteratorAfterLocalInvalidateRegressionTest
add 020291f GEODE-1279: Fix serialization of LocalVM
add 8009a12 GEODE-1279: Rename Bug37241DUnitTest as CleanupFailedInitWithDiskFilesRegressionTest
add 3e2619f GEODE-1279: Rename Bug37377DUnitTest as ClearDuringGiiOplogWithMissingCreateRegressionTest
add 10eabfb GEODE-1279: Rename Bug37500JUnitTest as DiskAccessExceptionDisablesServerRegressionTest
add 0e6a1b9 GEODE-1279: Rename Bug39079DUnitTest
add e2e2b90 GEODE-1279: Rename Bug40299DUnitTest as ClearDuringNetSearchOplogRegressionTest
add f542032 GEODE-1279: Rename Bug40632DUnitTest as CreatePRWithLocalExpirationRegressionTest
add f53b5a6 GEODE-1279: Rename Bug41091DUnitTest as BucketCreationGIIHARegressionTest
add d93f3d5 GEODE-1279: Rename Bug41733DUnitTest as BucketCreationRequesterCrashHARegressionTest
add 735b855 GEODE-1279: Rename Bug41957DUnitTest as RegisterInterestWithEvictionRegressionTest
add ca73e12 GEODE-1279: Rename Bug42055DUnitTest as BucketRegionSizeWithOverflowRegressionTest
add 5561078 GEODE-1279: Rename Bug45164DUnitTest as PREntrySetIteratorRegressionTest
add 3b4791c GEODE-1279: Rename Bug45934DUnitTest as DiskRecoveryWithVersioningGiiRegressionTest
add 5349447 GEODE-1279: Rename Bug47667DUnitTest as ClientTxCommitShouldNotHangRegressionTest
add 3b32fd5 GEODE-1279: Rename Bug36853EventsExpiryDUnitTest as ClientSubscriptionExpiryDataLossRegressionTest
add 16058fc GEODE-4715 ReconnectDUnitTest calls static methods to obtain cache and distributed system
add d8ec1ea GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig
add 57b9253 GEODE-4941: Increase UITests timeout to 2h (#1679)
add 6d729d3 GEODE-4808: Add performance tests for rebalance simulation (#1667)
add b84d1030 GEODE-4933: Include members with NORMAL and PRELOADED data policy in … (#1676)
add 6bccecf GEODE-4943: Move isConnectedAndReady method to public class (#1681)
add 353eb4a Add all jars in extensions directory to classpath
add b1c9498 Add extensions jars to locator/server's classpath
add 629e798 Use JUnit TemporaryFolder rule for the test
add 828c8a0 Add some more comment
add f79c8d9 Merge branch 'develop' into add-extensions-to-classpath-155484283
add 679b095 Merge pull request #1669 from apache/add-extensions-to-classpath-155484283
add 7b9ac98 GEODE-4945: InternalGfshCommand should not have to implement CommandM… (#1684)
add dde0ae7 GEODE-4520: Remove singleton CacheFactory.getAnyInstance() from o.a.g.management.internal.configuration.callbacks.
add 1307696 GEODE-4922: handle Date conversion (#1686)
add a5118f6 GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig
add f141019 Feature/geode 4782 (#1682)
add 4cd33db Revert "GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig"
add 6f025bc Revert "GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig"
add 7468915 docs: Explicitly state that regions must be co-located if using same parallel gateway-sender-id
add d044ce0 GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig
add f9b16e9 GEODE-4819: Separating authorization out from protobuf handlers (#1674)
add 8c06afb GEODE-4963: Ignore test for now
add 3baccb4 GEODE-4969 PDX Type registry throws CacheClosedException causing random test failures
add b2f7743 GEODE-4928 DistributedLockService doesn't work as expected while the dlock grantor is initialized
add a966ad0 GEODE-4876: Move VM APIs from Host to VM
add 034a279 GEODE-4876: Remove use of Host from GetPidAndIdDistributedTest
add ae4b068 GEODE-4876: Add version of getServerHostName without Host
add e55082a GEODE-4876: Update RegionClearStatsDistributedTest use of VM and NetworkUtils
add 841dde9 GEODE-4876: Update RegionExpirationDistributedTest use of VM and NetworkUtil
add cb6cd2d GEODE-4876: Update PRCustomPartitioningDistributedTest use of VM and NetworkUtil
add b069c1f GEODE-4876: Update RegionListenerDistributedTest use of VM and NetworkUtil
add 46e98fb GEODE-4876: Update FunctionExecutionWithExceptionDistributedTest use of VM and NetworkUtil
add 99bb4f0 GEODE-4876: Update AcceptorImplClientQueueDistributedTest use of VM and NetworkUtil
add 4296f21 GEODE-4876: Update SharedErrorCollectorDistributedTest use of VM and NetworkUtil
add 40795fe GEODE-4876: Update SharedCountersRuleDistributedTest use of VM and NetworkUtil
add b6b4ac2 GEODE-4876: Update DistributedTestRuleDistributedTest use of VM and NetworkUtil
add 5271b6b GEODE-4876: Update DistributedDisconnectRuleDistributedTest use of VM and NetworkUtil
add da4044e GEODE-4876: Update DistributedDisconnectRuleAsClassRuleDistributedTest use of VM
add 7be2a7e GEODE-4876: Cleanup CacheRule tests use of VM and javadocs
add a2cc503 GEODE-4970: Disable PartitionedRegionQueryDUnitTest
add 38bfac0 docs: typo repair
add 2a6db7c GEODE-4913: gfsh start server cmd is not recognizing local properties… (#1687)
add 1fc7cf6 GEODE-4973: Add docker-compose to pipeline docker image
add 6d8d212 Merge pull request #1702 from nreich/feature/GEODE-4973
add 03f6d27 GEODE-2321: Pulse application works incorrectly in some locales (#1661)
add 7b347af GEODE-3720: Add additional output pattern to failure assertion for ConnectCommandWithSSLTest (#1704)
add 020e5b5 GEODE-4928 DistributedLockService doesn't work as expected while the dlock grantor is initialized
add 755eaaa GEODE-4929: Add ability for tests to overide the default DiskDirs (#1701)
add a4bae5c GEODE-4934: Throw exception if shutdown fails in GfshRule (#1699)
add c42905c GEODE-4811: Add @Disabled "feature flag" annotation for gfsh commands.
add 4bdd31c GEODE-4928 DistributedLockService doesn't work as expected while the dlock grantor is initialized
add b55215d GEODE-3563: use a timeout for newly created sockets in TcpConduit.run() (#1671)
add 956a671 GEODE-4974: Create single connection pool per cache (#1707)
add ffc9c8b GEODE-4976: Fix misspelling and misattribution in test logging. (#1708)
add 1b4d95a GEODE-4917: Remove dead and redundant code from LinkedStructSet.
add 5fe3c76 GEODE-3820: Remove all invocations of Wait.pause(). (#1694)
add 5809567 GEODE-4817: Add support for SSL to the experimental driver. (#1683)
add 60614fb GEODE-4386: Return 'not found' if the JNDI binding does not exist (#1710)
add 0297afd GEODE-4386: Correct check in the case where JNDI binding does not exist
add c00512c Revert "GEODE-4386: Correct check in the case where JNDI binding does not exist"
add 2d8d1a6 Revert "GEODE-4386: Return 'not found' if the JNDI binding does not exist (#1710)"
add c2a06a1 GEODE-4980 CI failure: AutoConnectionSourceImplJUnitTest. testServerLocationUsedInListenerNotification
add df252f1 GEODE-4817: Fix SSLTest. (#1714)
add fce124f COMMIT THEN REVIEW: Fixed doc typos.
add 4ba38c9 GEODE-4981 CI failure: SSLConfigurationFactoryJUnitTest.getNonSSLConfiguration
add 8b8cef1 GEODE-4893: Improve reloading the cluster configuration on existing vanilla servers
add 750417f GEODE-4867: Added query time expiration checks. (#1624)
add 00ffcf5 GEODE-4386: Return 'not found' if the JNDI binding does not exist (#1713)
add 5b21633 GEODE-3456: Fix display of 'null' hosts in Pulse UI (#1717)
add e5e0c62 GEODE-4979: Incorrect description in docs of ResourcePermission in OQL
add 69a6c33 GEODE-4981 CI failure: SSLConfigurationFactoryJUnitTest.getNonSSLConfiguration
add d773cfd GEODE-4983 PluckStacks is no longer detecting idle executors and weeding them out
add 7070fc9 GEODE-4872: handle Blob when reading from JDBC (#1692)
add 132dfc8 GEODE-4867: Unused imports
add 8894267 GEODE-4840: do not deserialize PdxInstances for remote gets (#1693)
add caf588b Geode-4950 + GEODE-4951: Upgrade spotless version and reduce run time.
add 31b51bd GEODE-4972: Move VersionManager to geode-old-versions module (#1703)
add 912a1b2 GEODE-4902: Refactor LogMarker class and usage (#1678)
add 6fa521e GEODE-4911: Deprecate DataSerializer.TRACE_SERIALIZABLE. (#1722)
add 3c263e9 GEODE-4989 CQ reply message fromData method deserializes query results
add 111b51d GEODE-4893: add test to make sure the callbacks will be loaded correctly (#1729)
add 6b2d45a GEODE-4970: Overhaul and split up PartitionedRegionQueryDUnitTest (#1718)
add 425f371 GEODE-4983 PluckStacks is no longer detecting idle executors and weeding them out
add 93a484d GEODE-4984 Add new Use Cases section to docs (#1733)
add da1ce1c GEODE-4456: Remove singleton calls from all tests in org.apache.geode.internal.cache
add 595da56 GEODE-4644: Move static to member of distributed system. (#1734)
add d792821 GEODE-4960: Jar deploy fails when SSL is enabled (#1698)
add 273994d GEODE-4971: Add version capability to GfshRule (#1731)
add 400c762 Revert "GEODE-4989 CQ reply message fromData method deserializes query results"
add 3047190 Revert "GEODE-4822 The second server instance startup error: Could not create an instance of PartitionRegionConfig"
add 2de6ee0 GEODE-4849: Add integration test for existing REST API. (#1721)
add 049e10a GEODE-4961: Allowing custom serialization formats with the protobuf protocol
add d00dbd7 GEODE-4947: JdbcConnector tests run against external database as AcceptanceTest category (#1747)
add f13f56c GEODE-5003: Add tests for CompositeResultData (#1743)
add ced3d00 GEODE-4830: modify the message when no jndi-binding is found. (#1732)
add 514b1d3 GEODE-5000: do not request/apply cluster config when creating client … (#1739)
add 85c67b2 GEODE-4819: Separating authorization out from protobuf handlers
add 6f564c0 GEODE-5005: Add unit tests for InfoResultData (#1745)
add c0dc8a3 GEODE-5004: Add unit tests for ErrorResultData (#1744)
add a6a7275 GEODE-5021: Add parameters to connection in jdbc-1.0.xsd (#1748)
add a956147 GEODE-1279: Rename FinalStaticArrayShouldNotCauseSegFaultRegressionTest
add 76dd7e2 GEODE_1279: Rename MembershipAttributesAreSerializableRegressionTest
add eab8252 COMMIT THEN REVIEW. fix spelling: PARTITIION -> PARTITION
add 947e37b GEODE-5026: Do not run acceptanceTest in parallel under docker
add 7b3e809 Merge pull request #1751 from jdeppe-pivotal/feature/GEODE-5026
add 804c053 GEODE-4518: Replace DSCODE with an enumeration. (#1738)
add 2d45dad GEODE-4999: Added explicit tomcat 8.5 directory for tcserver support (#1737)
add f6f58d3 Revert "GEODE-4999: Added explicit tomcat 8.5 directory for tcserver support (#1737)"
add c0be3ec GEODE-5006: Remove unused ObjectResultData (#1756)
add a7701e8 GEODE-5007: Add unit tests to TabularResultData (#1757)
add f0fe90e GEODE-5024: Use debug version of gradle-dockerized-test-plugin (#1749)
add 2c44745 GEODE-5029: Improve docs around query timeout and low memory (#1755)
add ebce148 GEODE-5027 Bump version to 1.6.0 and add v1.5.0 for testing
add e47df10 GEODE-3820 CI failure: DataSerializerPropogationDUnitTest.testDataSerializersEventIdVerification
add 2e89e84 GEODE-4995 ClusterStartupRule is inefficient when shutting down the cluster
add dfab3ba GEODE-5027 Bump version to 1.6.0 and add v1.5.0 for testing
add 65a19d0 GEODE-5008: Add unit tests for GfJsonArray (#1758)
add 24840e2 GEODE-5009: Add unit tests for GfJsonObject (#1761)
add 84b8239 GEODE-4915: Ignore the 'for testing' exception (#1752)
add b34f73c GEODE-5027 Bump version to 1.6.0 and add v1.5.0 for testing
add 3efb4da GEODE-4991: do no use hard coded quotes (#1728)
add e42ebec GEODE-4942: when sender is starting, and not running yet, put event at primary should be saved for QueueRemovalMessage (#1740)
add 74185bf GEODE-4999: Added tomcat 8.5 directory for tcserver support (#1762)
add 26f976b Revert "GEODE-4942: when sender is starting, and not running yet, put event at primary should be saved for QueueRemovalMessage (#1740)"
add 9cddec0 fixing backward-compatibility test dependencies to allow running in IntelliJ
add 75ae584 GEODE-3926: Lucene Query Exception is thrown if queries are executed in the middle of reindexing a region (#1742)
add ab243c8 GEODE-4942: when sender is starting, and not running yet, put event at primary should be saved for QueueRemovalMessage (#1771)
add 99caa30 GEODE-3926: Disabling queryOnlyWhenIndexIsAvailable
new 45bc7b7 GEODE-4647: add a stats eventSecondaryQueueSizeId to track events in secondary gateway sender queue
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 (1b15872)
\
N -- N -- N refs/heads/feature/GEODE-4647 (45bc7b7)
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 1 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:
.gitignore | 2 +
build.gradle | 6 +-
ci/docker/Dockerfile | 2 +-
ci/pipelines/develop.yml | 6 +-
extensions/geode-modules-assembly/build.gradle | 12 +
.../context-fragment.xml | 0
.../context-fragment.xml | 0
extensions/geode-modules-tomcat8/build.gradle | 1 +
geode-assembly/build.gradle | 2 +-
geode-assembly/src/main/dist/bin/gfsh | 2 +-
geode-assembly/src/main/dist/bin/gfsh.bat | 51 +-
.../cli/commands/ImportClusterConfigTest.java | 60 +
.../PdxBasedCrudControllerIntegrationTest.java | 232 +++
.../geode/test/junit/rules/GfshRuleTest.java | 39 +-
.../source/subnavs/geode-subnav.erb | 13 +-
geode-connectors/build.gradle | 12 +-
.../jdbc/internal/AbstractJdbcCallback.java | 3 +-
.../internal/{ColumnValue.java => ColumnData.java} | 14 +-
.../jdbc/internal/DataSourceManager.java | 8 +-
.../connectors/jdbc/internal/EntryColumnData.java | 27 +-
.../jdbc/internal/JdbcConnectorService.java | 1 +
.../jdbc/internal/JdbcConnectorServiceImpl.java | 7 +
.../connectors/jdbc/internal/RegionMapping.java | 194 +-
.../geode/connectors/jdbc/internal/SqlHandler.java | 152 +-
.../jdbc/internal/SqlStatementFactory.java | 87 +-
.../jdbc/internal/SqlToPdxInstanceCreator.java | 149 +-
.../connectors/jdbc/internal/TableMetaData.java | 36 +-
.../jdbc/internal/TableMetaDataManager.java | 28 +-
.../jdbc/internal/TableMetaDataView.java | 12 +-
.../jdbc/internal/cli/AlterConnectionCommand.java | 8 +-
.../jdbc/internal/cli/AlterMappingCommand.java | 8 +-
.../jdbc/internal/cli/CreateConnectionCommand.java | 8 +-
.../jdbc/internal/cli/CreateMappingCommand.java | 8 +-
.../internal/cli/DescribeConnectionCommand.java | 4 +-
.../jdbc/internal/cli/DescribeMappingCommand.java | 4 +-
.../internal/cli/DestroyConnectionCommand.java | 8 +-
.../jdbc/internal/cli/DestroyMappingCommand.java | 8 +-
.../jdbc/internal/cli/ListConnectionCommand.java | 4 +-
.../jdbc/internal/cli/ListMappingCommand.java | 4 +-
.../geode.apache.org/schema/jdbc/jdbc-1.0.xsd | 1 +
.../sanctioned-geode-connectors-serializables.txt | 2 +-
.../AnalyzeConnectorsSerializablesJUnitTest.java | 2 +-
.../jdbc/ClassWithSupportedPdxFields.java | 18 +-
.../jdbc/JdbcAsyncWriterIntegrationTest.java | 18 +-
...JdbcDUnitTest.java => JdbcDistributedTest.java} | 302 ++-
.../connectors/jdbc/JdbcLoaderIntegrationTest.java | 37 +-
.../connectors/jdbc/JdbcWriterIntegrationTest.java | 18 +-
.../jdbc/MySqlJdbcAsyncWriterIntegrationTest.java | 47 +
.../connectors/jdbc/MySqlJdbcDistributedTest.java | 101 +
.../jdbc/MySqlJdbcLoaderIntegrationTest.java | 58 +
.../jdbc/MySqlJdbcWriterIntegrationTest.java | 47 +
.../PostgresJdbcAsyncWriterIntegrationTest.java | 47 +
.../jdbc/PostgresJdbcDistributedTest.java | 89 +
.../jdbc/PostgresJdbcLoaderIntegrationTest.java | 57 +
.../jdbc/PostgresJdbcWriterIntegrationTest.java | 47 +
.../jdbc/internal/AbstractJdbcCallbackTest.java | 1 -
.../{ColumnValueTest.java => ColumnDataTest.java} | 15 +-
.../jdbc/internal/DataSourceManagerUnitTest.java | 14 +-
.../jdbc/internal/JdbcConnectorServiceTest.java | 5 +
.../MySqlTableMetaDataManagerIntegrationTest.java | 29 +-
...ostgresTableMetaDataManagerIntegrationTest.java | 38 +-
.../jdbc/internal/RegionMappingBuilderTest.java | 16 +-
.../jdbc/internal/RegionMappingTest.java | 283 ++-
.../connectors/jdbc/internal/SqlHandlerTest.java | 178 +-
.../jdbc/internal/SqlStatementFactoryTest.java | 34 +-
.../jdbc/internal/SqlToPdxInstanceCreatorTest.java | 364 +++-
.../TableMetaDataManagerIntegrationTest.java | 34 +-
.../jdbc/internal/TableMetaDataManagerTest.java | 102 +-
.../jdbc/internal/TestConfigService.java | 14 +-
.../cli/CreateConnectionCommandDUnitTest.java | 2 +-
.../cli/CreateMappingCommandIntegrationTest.java | 8 +-
.../cli/JdbcClusterConfigDistributedTest.java | 16 +-
.../jdbc/internal/xml/ElementTypeTest.java | 4 +-
.../test/junit/rules/DatabaseConnectionRule.java | 23 +-
.../junit/rules/InMemoryDerbyConnectionRule.java | 27 +-
.../test/junit/rules/MySqlConnectionRule.java | 72 +
.../test/junit/rules/PostgresConnectionRule.java | 45 +
.../junit/rules/SqlDatabaseConnectionRule.java | 123 ++
.../geode/connectors/jdbc/internal/mysql.yml | 28 +
.../geode/connectors/jdbc/internal/postgres.yml | 27 +
.../org/apache/geode/connectors/jdbc/mysql.yml | 28 +
.../org/apache/geode/connectors/jdbc/postgres.yml | 27 +
geode-core/build.gradle | 3 +-
.../RebalanceGrowingClusterBenchmark.java | 71 +
.../rebalance/RebalanceModelBuilder.java | 188 ++
.../RebalanceOnAddingMemberBenchmark.java | 73 +
.../rebalance/RebalanceRegionBenchmark.java | 73 +
.../main/java/org/apache/geode/DataSerializer.java | 443 ++--
.../admin/internal/AdminDistributedSystemImpl.java | 4 +-
.../internal/DisabledManagedEntityController.java | 26 +-
.../internal/ManagedEntityControllerFactory.java | 4 +-
.../apache/geode/admin/jmx/internal/AgentImpl.java | 13 +-
.../org/apache/geode/cache/AttributesFactory.java | 12 +-
.../main/java/org/apache/geode/cache/Region.java | 4 +-
.../asyncqueue/internal/AsyncEventQueueStats.java | 6 +-
.../geode/cache/client/internal/AbstractOp.java | 11 +-
.../client/internal/ClientSideHandshakeImpl.java | 13 +-
.../cache/client/internal/InternalClientCache.java | 6 +
.../cache/client/internal/OpExecutorImpl.java | 12 +-
.../cache/configuration/JndiBindingsType.java | 12 +-
.../cache/query/internal/LinkedStructSet.java | 171 +-
.../internal/ClusterDistributionManager.java | 29 +-
.../distributed/internal/DistributionAdvisor.java | 135 +-
.../distributed/internal/DistributionMessage.java | 8 +-
.../InternalClusterConfigurationService.java | 20 +-
.../internal/InternalDistributedSystem.java | 15 +
.../internal/StartupResponseMessage.java | 4 +-
.../distributed/internal/direct/DirectChannel.java | 4 +-
.../distributed/internal/locks/DLockGrantor.java | 473 ++---
.../locks/DLockLessorDepartureHandler.java | 2 +
.../internal/locks/DLockQueryProcessor.java | 23 +-
.../locks/DLockRecoverGrantorProcessor.java | 42 +-
.../internal/locks/DLockReleaseProcessor.java | 30 +-
.../internal/locks/DLockRequestProcessor.java | 147 +-
.../distributed/internal/locks/DLockService.java | 300 ++-
.../distributed/internal/locks/DLockToken.java | 24 +-
.../internal/locks/DeposeGrantorProcessor.java | 5 +-
.../internal/locks/ElderInitProcessor.java | 24 +-
.../distributed/internal/locks/ElderState.java | 62 +-
.../internal/locks/GrantorRequestProcessor.java | 49 +-
.../locks/NonGrantorDestroyedProcessor.java | 17 +-
.../membership/gms/mgr/GMSMembershipManager.java | 7 +-
.../distributed/internal/tcpserver/TcpServer.java | 5 +-
.../java/org/apache/geode/internal/DSCODE.java | 160 +-
.../org/apache/geode/internal/DeployedJar.java | 10 +-
.../geode/internal/InternalDataSerializer.java | 797 ++++----
.../java/org/apache/geode/internal/Version.java | 72 +-
.../geode/internal/admin/remote/AdminWaiters.java | 25 +-
.../admin/remote/AlertLevelChangeMessage.java | 4 +-
.../admin/remote/RemoteGfManagerAgent.java | 65 +-
.../internal/cache/AbstractBucketRegionQueue.java | 34 +-
.../geode/internal/cache/AbstractDiskRegion.java | 72 +-
.../geode/internal/cache/AbstractRegion.java | 13 -
.../geode/internal/cache/AbstractRegionMap.java | 15 +-
.../apache/geode/internal/cache/BucketAdvisor.java | 15 +-
.../internal/cache/BucketPersistenceAdvisor.java | 29 +-
.../apache/geode/internal/cache/BucketRegion.java | 49 +-
.../internal/cache/CacheDistributionAdvisor.java | 4 +-
.../cache/CachedDeserializableFactory.java | 2 +-
.../internal/cache/ClusterConfigurationLoader.java | 19 +-
.../cache/DestroyPartitionedRegionMessage.java | 12 +-
.../apache/geode/internal/cache/DiskInitFile.java | 68 +-
.../geode/internal/cache/DiskStoreAttributes.java | 3 +-
.../geode/internal/cache/DiskStoreMonitor.java | 68 +-
.../geode/internal/cache/DistTXCommitMessage.java | 9 +-
.../internal/cache/DistTXPrecommitMessage.java | 9 +-
.../internal/cache/DistTXRollbackMessage.java | 8 +-
.../internal/cache/DistributedCacheOperation.java | 16 +-
.../internal/cache/DistributedPutAllOperation.java | 15 +-
.../geode/internal/cache/DistributedRegion.java | 7 +-
.../DistributedRegionFunctionStreamingMessage.java | 8 +-
.../geode/internal/cache/EntryEventImpl.java | 9 +-
.../org/apache/geode/internal/cache/EventID.java | 2 +-
.../apache/geode/internal/cache/FilterProfile.java | 31 +-
.../geode/internal/cache/GemFireCacheImpl.java | 73 +-
.../org/apache/geode/internal/cache/HARegion.java | 2 +-
.../internal/cache/InitialImageOperation.java | 86 +-
.../apache/geode/internal/cache/InternalCache.java | 4 +-
.../geode/internal/cache/InternalRegion.java | 13 +
.../cache/LatestLastAccessTimeOperation.java | 2 +-
.../cache/LatestLastAccessTimeReplyProcessor.java | 4 +-
.../apache/geode/internal/cache/LocalRegion.java | 67 +-
.../org/apache/geode/internal/cache/Oplog.java | 269 +--
.../apache/geode/internal/cache/OverflowOplog.java | 25 +-
.../geode/internal/cache/PartitionedRegion.java | 4 +-
.../cache/PartitionedRegionQueryEvaluator.java | 28 +-
.../geode/internal/cache/PersistentOplogSet.java | 3 -
.../cache/SearchLoadAndWriteProcessor.java | 50 +-
.../geode/internal/cache/StateFlushOperation.java | 59 +-
.../geode/internal/cache/TXFarSideCMTracker.java | 11 +-
.../internal/cache/TXRegionLockRequestImpl.java | 4 +-
.../internal/cache/TXRemoteCommitMessage.java | 8 +-
.../org/apache/geode/internal/cache/Token.java | 2 +-
.../geode/internal/cache/TombstoneService.java | 29 +-
.../geode/internal/cache/VMLRURegionMap.java | 88 +-
.../cache/entries/AbstractRegionEntry.java | 10 +-
.../cache/event/DistributedEventTracker.java | 8 +-
.../cache/eviction/AbstractEvictionList.java | 16 +-
.../internal/cache/eviction/CountLRUEviction.java | 3 +-
.../cache/eviction/LRUListWithAsyncSorting.java | 8 +-
.../cache/eviction/LRUListWithSyncSorting.java | 17 +-
.../geode/internal/cache/ha/HARegionQueue.java | 34 +-
.../cache/locks/TXLessorDepartureHandler.java | 59 +-
.../internal/cache/locks/TXLockServiceImpl.java | 9 +-
.../geode/internal/cache/map/RegionMapDestroy.java | 4 +-
.../partitioned/BecomePrimaryBucketMessage.java | 20 +-
.../cache/partitioned/BucketBackupMessage.java | 5 +-
.../cache/partitioned/BucketSizeMessage.java | 15 +-
.../cache/partitioned/ContainsKeyValueMessage.java | 12 +-
.../cache/partitioned/CreateBucketMessage.java | 21 +-
.../partitioned/DeposePrimaryBucketMessage.java | 20 +-
.../internal/cache/partitioned/DestroyMessage.java | 29 +-
.../DestroyRegionOnDataStoreMessage.java | 5 +-
.../cache/partitioned/DumpAllPRConfigMessage.java | 14 +-
.../internal/cache/partitioned/DumpB2NRegion.java | 16 +-
.../cache/partitioned/DumpBucketsMessage.java | 14 +-
.../cache/partitioned/FetchBulkEntriesMessage.java | 20 +-
.../cache/partitioned/FetchEntriesMessage.java | 21 +-
.../cache/partitioned/FetchEntryMessage.java | 21 +-
.../cache/partitioned/FetchKeysMessage.java | 20 +-
.../partitioned/FetchPartitionDetailsMessage.java | 23 +-
.../internal/cache/partitioned/GetMessage.java | 17 +-
.../cache/partitioned/IdentityRequestMessage.java | 23 +-
.../cache/partitioned/IdentityUpdateMessage.java | 4 +-
.../cache/partitioned/IndexCreationMsg.java | 6 +-
.../cache/partitioned/InterestEventMessage.java | 17 +-
.../cache/partitioned/InvalidateMessage.java | 16 +-
.../partitioned/ManageBackupBucketMessage.java | 21 +-
.../cache/partitioned/ManageBucketMessage.java | 21 +-
.../cache/partitioned/MoveBucketMessage.java | 16 +-
.../cache/partitioned/PRTombstoneMessage.java | 4 +-
.../partitioned/PRUpdateEntryVersionMessage.java | 4 +-
.../cache/partitioned/PartitionMessage.java | 10 +-
.../PartitionedRegionFunctionStreamingMessage.java | 4 +-
.../cache/partitioned/PrimaryRequestMessage.java | 17 +-
.../cache/partitioned/PutAllPRMessage.java | 8 +-
.../internal/cache/partitioned/PutMessage.java | 41 +-
.../internal/cache/partitioned/QueryMessage.java | 6 +-
.../internal/cache/partitioned/RegionAdvisor.java | 54 +-
.../cache/partitioned/RemoveAllPRMessage.java | 8 +-
.../cache/partitioned/RemoveBucketMessage.java | 16 +-
.../cache/partitioned/RemoveIndexesMessage.java | 5 +-
.../internal/cache/partitioned/SizeMessage.java | 15 +-
.../cache/persistence/DefaultDiskDirs.java | 23 +-
.../cache/persistence/DiskInitFileParser.java | 149 +-
.../cache/persistence/PersistenceAdvisorImpl.java | 123 +-
.../cache/snapshot/RegionSnapshotServiceImpl.java | 2 +-
.../apache/geode/internal/cache/tier/Acceptor.java | 7 -
.../geode/internal/cache/tier/ConnectionProxy.java | 2 +-
.../internal/cache/tier/sockets/AcceptorImpl.java | 3 +-
.../cache/tier/sockets/CacheClientProxy.java | 42 +-
.../cache/tier/sockets/CacheClientUpdater.java | 4 +-
.../cache/tier/sockets/ChunkedMessage.java | 4 +-
.../tier/sockets/ClientDataSerializerMessage.java | 2 +-
.../cache/tier/sockets/ClientTombstoneMessage.java | 2 +-
.../tier/sockets/ClientUpdateMessageImpl.java | 4 +-
.../cache/tier/sockets/CommandInitializer.java | 99 +-
.../cache/tier/sockets/HAEventWrapper.java | 4 +-
.../cache/tier/sockets/ObjectPartList.java | 6 -
.../geode/internal/cache/tier/sockets/Part.java | 2 +-
.../tier/sockets/ProtobufServerConnection.java | 8 +-
.../tier/sockets/ServerSideHandshakeFactory.java | 2 +-
.../cache/tier/sockets/VersionedObjectList.java | 44 +-
.../internal/cache/tx/RemoteClearMessage.java | 8 +-
.../cache/tx/RemoteContainsKeyValueMessage.java | 19 +-
.../internal/cache/tx/RemoteDestroyMessage.java | 16 +-
.../internal/cache/tx/RemoteFetchEntryMessage.java | 13 +-
.../internal/cache/tx/RemoteFetchKeysMessage.java | 12 +-
.../cache/tx/RemoteFetchVersionMessage.java | 20 +-
.../geode/internal/cache/tx/RemoteGetMessage.java | 16 +-
.../internal/cache/tx/RemoteInvalidateMessage.java | 20 +-
.../internal/cache/tx/RemoteOperationMessage.java | 4 +-
.../internal/cache/tx/RemotePutAllMessage.java | 12 +-
.../geode/internal/cache/tx/RemotePutMessage.java | 8 +-
.../internal/cache/tx/RemoteRemoveAllMessage.java | 12 +-
.../geode/internal/cache/tx/RemoteSizeMessage.java | 14 +-
.../cache/versions/RegionVersionHolder.java | 31 +-
.../cache/versions/RegionVersionVector.java | 8 +-
.../geode/internal/cache/versions/VersionTag.java | 10 +-
.../internal/cache/wan/AbstractGatewaySender.java | 10 +-
.../wan/AbstractGatewaySenderEventProcessor.java | 49 +-
.../internal/cache/wan/GatewaySenderStats.java | 16 +
.../ConcurrentParallelGatewaySenderQueue.java | 8 +-
.../wan/parallel/ParallelGatewaySenderQueue.java | 48 +-
.../internal/cache/xmlcache/CacheCreation.java | 7 +-
.../internal/cache/xmlcache/CacheXmlGenerator.java | 3 +-
.../internal/cache/xmlcache/CacheXmlParser.java | 34 +-
.../geode/internal/lang/SystemPropertyHelper.java | 21 +
.../geode/internal/logging/LogWriterFactory.java | 6 +-
.../geode/internal/logging/log4j/LogMarker.java | 182 +-
.../apache/geode/internal/net/SocketCreator.java | 7 +-
.../internal/offheap/AbstractStoredObject.java | 3 +-
.../apache/geode/internal/offheap/DataType.java | 403 ++--
.../internal/offheap/OffHeapRegionEntryHelper.java | 4 +-
.../internal/offheap/OffHeapStoredObject.java | 2 +-
.../security/IntegratedSecurityService.java | 18 +
.../internal/security/LegacySecurityService.java | 87 +
.../geode/internal/security/SecurityService.java | 69 +-
.../internal/statistics/GemFireStatSampler.java | 4 +-
.../geode/internal/statistics/HostStatSampler.java | 18 +-
.../statistics/LocalStatisticsFactory.java | 6 +-
.../geode/internal/statistics/SampleCollector.java | 122 +-
.../internal/statistics/SimpleStatSampler.java | 2 +-
.../internal/statistics/StatArchiveHandler.java | 51 +-
.../internal/statistics/StatArchiveWriter.java | 46 +-
.../internal/statistics/StatMonitorHandler.java | 14 +-
.../geode/internal/tcp/DirectReplySender.java | 5 +-
.../org/apache/geode/internal/tcp/TCPConduit.java | 49 +-
.../org/apache/geode/internal/util/BlobHelper.java | 2 +-
.../apache/geode/internal/util/PluckStacks.java | 9 +-
.../org/apache/geode/management/cli/Disabled.java | 41 +
.../cli/commands => cli}/GfshCommand.java | 91 +-
.../ContextAwareSSLRMIClientSocketFactory.java | 59 +
.../geode/management/internal/ManagementAgent.java | 3 +-
.../internal/beans/MemberMBeanBridge.java | 2 +-
.../geode/management/internal/cli/CliUtil.java | 4 +-
.../management/internal/cli/CommandManager.java | 52 +-
.../cli/commands/AlterAsyncEventQueueCommand.java | 5 +-
.../cli/commands/AlterOfflineDiskStoreCommand.java | 2 +-
.../internal/cli/commands/AlterRegionCommand.java | 11 +-
.../cli/commands/AlterRuntimeConfigCommand.java | 6 +-
.../cli/commands/BackupDiskStoreCommand.java | 8 +-
.../cli/commands/ChangeLogLevelCommand.java | 6 +-
.../cli/commands/ClearDefinedIndexesCommand.java | 2 +-
.../cli/commands/CloseDurableCQsCommand.java | 2 +-
.../cli/commands/CloseDurableClientCommand.java | 2 +-
.../cli/commands/CommandAvailabilityIndicator.java | 3 +-
.../cli/commands/CompactDiskStoreCommand.java | 7 +-
.../commands/CompactOfflineDiskStoreCommand.java | 2 +-
.../internal/cli/commands/ConfigurePDXCommand.java | 6 +-
.../internal/cli/commands/ConnectCommand.java | 2 +-
.../cli/commands/CountDurableCQEventsCommand.java | 2 +-
.../cli/commands/CreateAsyncEventQueueCommand.java | 10 +-
.../cli/commands/CreateDefinedIndexesCommand.java | 6 +-
.../cli/commands/CreateDiskStoreCommand.java | 6 +-
.../cli/commands/CreateGatewayReceiverCommand.java | 8 +-
.../cli/commands/CreateGatewaySenderCommand.java | 8 +-
.../internal/cli/commands/CreateIndexCommand.java | 6 +-
.../cli/commands/CreateJndiBindingCommand.java | 5 +-
.../internal/cli/commands/CreateRegionCommand.java | 26 +-
.../internal/cli/commands/DebugCommand.java | 2 +-
.../internal/cli/commands/DefineIndexCommand.java | 2 +-
.../internal/cli/commands/DeployCommand.java | 5 +-
.../cli/commands/DescribeClientCommand.java | 6 +-
.../cli/commands/DescribeConfigCommand.java | 2 +-
.../cli/commands/DescribeConnectionCommand.java | 2 +-
.../cli/commands/DescribeDiskStoreCommand.java | 2 +-
.../cli/commands/DescribeJndiBindingCommand.java | 112 +
.../cli/commands/DescribeMemberCommand.java | 2 +-
.../commands/DescribeOfflineDiskStoreCommand.java | 2 +-
.../cli/commands/DescribeRegionCommand.java | 4 +-
.../commands/DestroyAsyncEventQueueCommand.java | 6 +-
.../cli/commands/DestroyDiskStoreCommand.java | 6 +-
.../cli/commands/DestroyFunctionCommand.java | 9 +-
.../cli/commands/DestroyGatewaySenderCommand.java | 8 +-
.../internal/cli/commands/DestroyIndexCommand.java | 6 +-
.../cli/commands/DestroyJndiBindingCommand.java | 5 +-
.../cli/commands/DestroyRegionCommand.java | 6 +-
.../internal/cli/commands/DisconnectCommand.java | 2 +-
.../internal/cli/commands/EchoCommand.java | 2 +-
.../cli/commands/ExecuteFunctionCommand.java | 4 +-
.../cli/commands/ExecuteScriptCommand.java | 2 +-
.../internal/cli/commands/ExitCommand.java | 2 +-
.../internal/cli/commands/ExportConfigCommand.java | 2 +-
.../internal/cli/commands/ExportDataCommand.java | 4 +-
.../ExportImportClusterConfigurationCommands.java | 74 +-
.../internal/cli/commands/ExportLogsCommand.java | 4 +-
.../commands/ExportOfflineDiskStoreCommand.java | 2 +-
.../cli/commands/ExportStackTraceCommand.java | 5 +-
.../internal/cli/commands/GCCommand.java | 6 +-
.../internal/cli/commands/GetCommand.java | 12 +-
.../internal/cli/commands/GfshHelpCommand.java | 2 +-
.../internal/cli/commands/GfshHintCommand.java | 2 +-
.../internal/cli/commands/HistoryCommand.java | 2 +-
.../internal/cli/commands/ImportDataCommand.java | 4 +-
.../internal/cli/commands/InternalGfshCommand.java | 70 +
.../cli/commands/ListAsyncEventQueuesCommand.java | 2 +-
.../internal/cli/commands/ListClientCommand.java | 6 +-
.../internal/cli/commands/ListDeployedCommand.java | 2 +-
.../cli/commands/ListDiskStoresCommand.java | 6 +-
.../cli/commands/ListDurableClientCQsCommand.java | 2 +-
.../internal/cli/commands/ListFunctionCommand.java | 2 +-
.../internal/cli/commands/ListGatewayCommand.java | 8 +-
.../internal/cli/commands/ListIndexCommand.java | 2 +-
.../cli/commands/ListJndiBindingCommand.java | 24 +-
.../internal/cli/commands/ListMembersCommand.java | 2 +-
.../internal/cli/commands/ListRegionCommand.java | 2 +-
.../commands/LoadBalanceGatewaySenderCommand.java | 10 +-
.../internal/cli/commands/LocateEntryCommand.java | 4 +-
.../internal/cli/commands/NetstatCommand.java | 2 +-
.../internal/cli/commands/PDXRenameCommand.java | 2 +-
.../cli/commands/PauseGatewaySenderCommand.java | 10 +-
.../internal/cli/commands/PutCommand.java | 9 +-
.../internal/cli/commands/QueryCommand.java | 11 +-
.../internal/cli/commands/RebalanceCommand.java | 6 +-
.../internal/cli/commands/RemoveCommand.java | 12 +-
.../cli/commands/ResumeGatewaySenderCommand.java | 10 +-
.../commands/RevokeMissingDiskStoreCommand.java | 2 +-
.../internal/cli/commands/SetVariableCommand.java | 2 +-
.../internal/cli/commands/ShCommand.java | 2 +-
.../internal/cli/commands/ShowDeadlockCommand.java | 5 +-
.../internal/cli/commands/ShowLogCommand.java | 16 +-
.../internal/cli/commands/ShowMetricsCommand.java | 15 +-
.../cli/commands/ShowMissingDiskStoreCommand.java | 6 +-
.../internal/cli/commands/ShutdownCommand.java | 4 +-
.../internal/cli/commands/SleepCommand.java | 2 +-
.../cli/commands/StartGatewayReceiverCommand.java | 8 +-
.../cli/commands/StartGatewaySenderCommand.java | 10 +-
.../internal/cli/commands/StartLocatorCommand.java | 29 +-
.../internal/cli/commands/StartMemberUtils.java | 5 +-
.../internal/cli/commands/StartServerCommand.java | 24 +-
.../StatusClusterConfigServiceCommand.java | 4 +-
.../cli/commands/StatusGatewayReceiverCommand.java | 8 +-
.../cli/commands/StatusGatewaySenderCommand.java | 10 +-
.../cli/commands/StopGatewayReceiverCommand.java | 8 +-
.../cli/commands/StopGatewaySenderCommand.java | 8 +-
.../internal/cli/commands/UndeployCommand.java | 6 +-
.../commands/UpgradeOfflineDiskStoreCommand.java | 2 +-
.../cli/commands/ValidateDiskStoreCommand.java | 2 +-
.../internal/cli/commands/VersionCommand.java | 2 +-
.../cli/commands/dto/RegionAttributesInfo.java | 162 --
.../internal/cli/commands/dto/RegionDetails.java | 245 ---
.../cli/commands/dto/RegionMemberDetails.java | 205 --
.../commands/lifecycle/StartJConsoleCommand.java | 4 +-
.../commands/lifecycle/StartJVisualVMCommand.java | 4 +-
.../cli/commands/lifecycle/StartPulseCommand.java | 4 +-
.../cli/commands/lifecycle/StartVsdCommand.java | 4 +-
.../commands/lifecycle/StatusLocatorCommand.java | 4 +-
.../commands/lifecycle/StatusServerCommand.java | 4 +-
.../cli/commands/lifecycle/StopLocatorCommand.java | 4 +-
.../cli/commands/lifecycle/StopServerCommand.java | 4 +-
.../cli/functions/ChangeLogLevelFunction.java | 7 +-
.../management/internal/cli/json/GfJsonArray.java | 23 -
.../management/internal/cli/json/GfJsonObject.java | 15 -
.../internal/cli/result/CliJsonSerializable.java | 42 -
.../cli/result/CliJsonSerializableFactory.java | 46 -
.../internal/cli/result/CommandResult.java | 161 +-
.../internal/cli/result/ObjectResultData.java | 86 -
.../internal/cli/result/ResultBuilder.java | 37 -
.../management/internal/cli/result/ResultData.java | 1 -
.../internal/cli/util/ClasspathScanLoadHelper.java | 6 +-
.../management/internal/cli/util/JsonUtil.java | 48 -
.../callbacks/ConfigurationChangeListener.java | 7 +-
.../configuration/domain/Configuration.java | 8 -
.../functions/RecreateCacheFunction.java | 20 +-
.../main/java/org/apache/geode/pdx/FieldType.java | 4 +-
.../geode/pdx/internal/ClientTypeRegistration.java | 16 +
.../org/apache/geode/pdx/internal/EnumInfo.java | 2 -
.../geode/pdx/internal/LonerTypeRegistration.java | 6 +
.../geode/pdx/internal/NullTypeRegistration.java | 6 +
.../apache/geode/pdx/internal/PdxInstanceEnum.java | 2 +-
.../apache/geode/pdx/internal/PdxInstanceImpl.java | 4 +-
.../apache/geode/pdx/internal/PdxReaderImpl.java | 7 +-
.../org/apache/geode/pdx/internal/PdxString.java | 18 +-
.../apache/geode/pdx/internal/PdxWriterImpl.java | 6 +-
.../geode/pdx/internal/PeerTypeRegistration.java | 32 +-
.../geode/pdx/internal/TypeRegistration.java | 9 +-
.../apache/geode/pdx/internal/TypeRegistry.java | 9 +
.../org/apache/geode/redis/GeodeRedisServer.java | 7 +-
.../sanctioned-geode-core-serializables.txt | 2 +
.../java/com/examples/UserGfshCommand.java} | 18 +-
.../java/org/apache/geode/TestDataSerializer.java | 4 +-
.../cache/CacheRegionClearStatsDUnitTest.java | 241 ---
.../CreateAndLocalDestroyInTXRegressionTest.java | 8 +-
...ArrayShouldNotCauseSegFaultRegressionTest.java} | 55 +-
...ipAttributesAreSerializableRegressionTest.java} | 30 +-
.../PRCreationTotalNumBucketsDistributedTest.java | 6 +-
.../cache/RegionClearStatsDistributedTest.java | 179 ++
...t.java => RegionExpirationDistributedTest.java} | 10 +-
.../cache/RegionExpirationIntegrationTest.java | 2 +-
.../ReplicateCacheListenerDistributedTest.java | 29 +-
.../AutoConnectionSourceImplJUnitTest.java | 4 +-
.../cache/client/internal/LocatorSSLJUnitTest.java | 64 +
.../geode/cache/query/dunit/PdxQueryDUnitTest.java | 8 +-
.../ResourceManagerWithQueryMonitorDUnitTest.java | 143 ++
.../apache/geode/cache30/ReconnectDUnitTest.java | 66 +-
.../AnalyzeSerializablesJUnitTest.java | 2 +
.../geode/codeAnalysis/ClassAndMethodDetails.java | 56 +-
.../geode/codeAnalysis/CompiledClassUtils.java | 33 +-
.../DistributedLockServiceDUnitTest.java | 31 +-
.../internal/DlockAndTxlockRegressionTest.java | 235 +++
.../apache/geode/internal/Bug51616JUnitTest.java | 58 -
...eateRegionFactoryNewInstanceRegressionTest.java | 100 +
.../DSCODETest.java} | 30 +-
.../internal/HeapDataOutputStreamJUnitTest.java | 8 +
.../internal/SSLConfigIntegrationJUnitTest.java | 7 +
.../apache/geode/internal/SSLConfigJUnitTest.java | 7 +
.../apache/geode/internal/VersionJUnitTest.java | 22 +
...ionCreateNotBeforeRegionInitRegressionTest.java | 94 +
...okenSerializationConsistencyRegressionTest.java | 5 +-
.../cache/BucketCreationGIIHARegressionTest.java | 120 ++
...cketCreationRequesterCrashHARegressionTest.java | 261 +++
.../geode/internal/cache/Bug33726JUnitTest.java | 110 -
.../cache/Bug34179TooManyFilesOpenJUnitTest.java | 96 -
.../geode/internal/cache/Bug34583JUnitTest.java | 96 -
.../geode/internal/cache/Bug37241DUnitTest.java | 205 --
.../geode/internal/cache/Bug37377DUnitTest.java | 317 ---
.../geode/internal/cache/Bug37500JUnitTest.java | 163 --
.../geode/internal/cache/Bug39079DUnitTest.java | 341 ---
.../geode/internal/cache/Bug40299DUnitTest.java | 263 ---
.../geode/internal/cache/Bug40632DUnitTest.java | 109 -
.../geode/internal/cache/Bug41091DUnitTest.java | 169 --
.../geode/internal/cache/Bug41733DUnitTest.java | 211 --
.../geode/internal/cache/Bug41957DUnitTest.java | 165 --
.../geode/internal/cache/Bug42055DUnitTest.java | 95 -
.../geode/internal/cache/Bug45164DUnitTest.java | 113 -
.../geode/internal/cache/Bug45934DUnitTest.java | 138 --
.../geode/internal/cache/Bug47667DUnitTest.java | 96 -
...eanupFailedInitWithDiskFilesRegressionTest.java | 161 ++
...ingGiiOplogWithMissingCreateRegressionTest.java | 229 +++
.../ClearDuringNetSearchOplogRegressionTest.java | 205 ++
.../cache/ClientServerGetAllDUnitTest.java | 10 +-
.../cache/ClientServerTransactionDUnitTest.java | 11 +-
.../ClientTxCommitShouldNotHangRegressionTest.java | 175 ++
.../CreatePRWithLocalExpirationRegressionTest.java | 96 +
...ccessExceptionDisablesServerRegressionTest.java | 241 +++
...iskRecoveryWithVersioningGiiRegressionTest.java | 206 ++
.../DistributedRegionSearchLoadJUnitTest.java | 3 +-
.../EntriesDoNotExpireDuringGiiRegressionTest.java | 4 +-
.../geode/internal/cache/GemFireCacheImplTest.java | 26 +-
.../GiiDiskAccessExceptionRegressionTest.java | 211 ++
.../geode/internal/cache/GridAdvisorDUnitTest.java | 86 +-
...zedDiskRegionWithIoExceptionRegressionTest.java | 174 ++
.../cache/MonthBasedPartitionResolver.java | 2 +-
.../cache/OplogTooManyFilesOpenRegressionTest.java | 155 ++
.../PRAccessorWithOverflowRegressionTest.java | 132 ++
...va => PRCustomPartitioningDistributedTest.java} | 12 +-
.../PREntryIdleExpirationDistributedTest.java | 97 +-
.../cache/PREntrySetIteratorRegressionTest.java | 98 +
.../internal/cache/PRQueryDistributedTest.java | 550 +++++
.../PRQueryWithIndexAndPdxDistributedTest.java | 241 +++
.../cache/PRQueryWithIndexDistributedTest.java | 172 ++
.../cache/PRQueryWithOrderByDistributedTest.java | 217 ++
...RQueryWithPdxDuringRebalanceRegressionTest.java | 163 ++
.../PRWithIndexAfterRebalanceRegressionTest.java | 180 ++
.../PartitionedRegionCloseDistributedTest.java | 10 +-
.../cache/PartitionedRegionQueryDUnitTest.java | 1360 ------------
...est.java => RegionListenerDistributedTest.java} | 21 +-
...IteratorAfterLocalInvalidateRegressionTest.java | 101 +
...RegisterInterestWithEvictionRegressionTest.java | 144 ++
...eplicateEntryIdleExpirationDistributedTest.java | 111 +-
.../cache/SearchLoadAndWriteProcessorTest.java | 2 +-
.../geode/internal/cache/SerializableMonth.java | 2 +-
.../cache/StartServerWithXmlDUnitTest.java | 88 +
.../internal/cache/TombstoneCreationJUnitTest.java | 45 +-
.../ClientFunctionTimeoutRegressionTest.java | 6 +-
...tionExecutionWithExceptionDistributedTest.java} | 10 +-
.../extension/mock/MockExtensionCommands.java | 3 +-
.../cache/ha/Bug36853EventsExpiryDUnitTest.java | 268 ---
...ntSubscriptionExpiryDataLossRegressionTest.java | 195 ++
.../BucketRebalanceStatRegressionTest.java | 6 +-
.../cache/partitioned/Bug47388DUnitTest.java | 7 +-
.../DefaultDiskDirsIntegrationTest.java | 47 +
.../cache/persistence/DefaultDiskDirsTest.java | 50 +
.../rollingupgrade/RollingUpgrade2DUnitTest.java | 230 +--
.../rollingupgrade/RollingUpgradeDUnitTest.java | 330 ++-
...=> AcceptorImplClientQueueDistributedTest.java} | 73 +-
.../ClientProxyWithDeltaDistributedTest.java | 9 +-
.../ClientWithInterestFailoverDistributedTest.java | 12 +-
...ava => DataSerializerPropagationDUnitTest.java} | 337 ++-
...isterInterestServerMetaDataDistributedTest.java | 8 +-
.../logging/DistributedSystemLogFileJUnitTest.java | 27 +-
.../log4j/FastLoggerIntegrationJUnitTest.java | 5 +-
.../geode/internal/net/DummySocketCreator.java | 8 +-
.../internal/net/SSLSocketIntegrationTest.java | 5 +-
.../geode/internal/net/SocketCreatorJUnitTest.java | 17 +
.../geode/internal/offheap/DataTypeJUnitTest.java | 40 +-
.../internal/offheap/MemoryBlockNodeJUnitTest.java | 2 +-
.../offheap/OffHeapRegionEntryHelperJUnitTest.java | 2 +-
.../offheap/OffHeapStoredObjectJUnitTest.java | 8 +-
.../offheap/TinyStoredObjectJUnitTest.java | 3 +-
.../QueryDataFunctionIntegrationTest.java | 3 +-
.../bean/stats/AsyncEventQueueStatsJUnitTest.java | 18 +
.../cli/ClasspathScanLoadHelperJUnitTest.java | 15 +-
.../internal/cli/CommandManagerJUnitTest.java | 116 +-
.../internal/cli/GfshParserAutoCompletionTest.java | 8 +-
.../commands/AlterAsyncEventQueueCommandTest.java | 4 +-
.../cli/commands/AlterDiskStoreJUnitTest.java | 1 +
.../cli/commands/AlterRegionCommandDUnitTest.java | 3 +-
.../AlterRegionCommandIntegrationTest.java | 3 +-
.../commands/CommandAvailabilityIndicatorTest.java | 2 +-
.../ConfigurePDXCommandIntegrationTest.java | 3 +-
.../cli/commands/ConfigurePDXCommandTest.java | 2 +-
.../cli/commands/ConnectCommandDUnitTest.java | 6 +-
.../CreateAlterDestroyRegionCommandsDUnitTest.java | 4 +-
.../CreateAsyncEventQueueCommandDUnitTest.java | 6 +-
.../commands/CreateAsyncEventQueueCommandTest.java | 4 +-
.../CreateDefinedIndexesCommandDUnitTest.java | 8 +-
.../commands/CreateDefinedIndexesCommandTest.java | 6 +-
.../commands/CreateGatewayReceiverCommandTest.java | 8 +-
.../commands/CreateGatewaySenderCommandTest.java | 8 +-
.../CreateJndiBindingCommandDUnitTest.java | 3 +-
.../cli/commands/CreateJndiBindingCommandTest.java | 16 +-
.../cli/commands/CreateRegionCommandDUnitTest.java | 3 +-
.../CreateRegionCommandIntegrationTest.java | 3 +-
.../cli/commands/CreateRegionCommandTest.java | 2 +-
...DeployCommandFunctionRegistrationDUnitTest.java | 3 +-
.../DescribeConfigCommandIntegrationTest.java | 3 +-
... DescribeConnectionCommandIntegrationTest.java} | 18 +-
.../DescribeJndiBindingCommandDUnitTest.java | 146 ++
.../commands/DescribeMembersCommandDUnitTest.java | 3 +-
.../DestroyAsyncEventQueueCommandDUnitTest.java | 3 +-
.../commands/DestroyGatewaySenderCommandTest.java | 8 +-
.../commands/DestroyIndexCommandsDUnitTest.java | 3 +-
.../DestroyJndiBindingCommandDUnitTest.java | 3 +-
.../commands/DestroyJndiBindingCommandTest.java | 6 +-
.../commands/DestroyRegionCommandDUnitTest.java | 3 +-
.../cli/commands/DestroyRegionCommandTest.java | 2 +-
.../cli/commands/DiskStoreCommandsDUnitTest.java | 3 +-
.../cli/commands/DiskStoreCommandsJUnitTest.java | 5 +-
.../ExecuteFunctionCommandSecurityTest.java | 4 +-
.../commands/ExportStackTraceCommandDUnitTest.java | 3 +-
.../cli/commands/FunctionCommandsDUnitTest.java | 3 +-
.../internal/cli/commands/GcCommandDUnitTest.java | 3 +-
.../cli/commands/GemfireDataCommandsDUnitTest.java | 9 +-
.../cli/commands/GetCommandIntegrationTest.java | 3 +-
.../cli/commands/GfshCommandIntegrationTest.java | 3 +-
.../cli/commands/GfshCommandJUnitTest.java | 22 +-
.../commands/HTTPServiceSSLSupportJUnitTest.java | 2 +
.../cli/commands/IndexCommandsIntegrationTest.java | 3 +-
.../IndexCommandsShareConfigurationDUnitTest.java | 3 +-
.../ListDiskStoreCommandIntegrationTest.java | 3 +-
.../cli/commands/ListIndexCommandDUnitTest.java | 3 +-
.../cli/commands/ListIndexCommandJUnitTest.java | 3 +-
.../commands/ListJndiBindingCommandDUnitTest.java | 3 +-
.../cli/commands/ListJndiBindingCommandTest.java | 74 +
.../ManagedConnectionFactoryForTesting.java | 58 +
.../cli/commands/PutCommandIntegrationTest.java | 3 +-
.../cli/commands/QueryCommandIntegrationTest.java | 3 +-
.../cli/commands/RemoveCommandDUnitTest.java | 3 +-
.../cli/commands/ShellCommandsDUnitTest.java | 3 +-
.../cli/commands/ShowLogCommandDUnitTest.java | 8 +-
.../ShowMetricsCommandIntegrationTest.java | 3 +-
.../cli/commands/StartMemberUtilsTest.java | 17 +-
.../cli/commands/VersionCommandJUnitTest.java | 3 +-
.../internal/cli/domain/MyCacheListener.java | 21 +-
.../internal/cli/domain/MyCacheLoader.java | 31 +-
.../internal/cli/domain/MyCacheWriter.java | 3 +-
.../functions/CreateJndiBindingFunctionTest.java | 3 +-
.../functions/DataCommandFunctionJUnitTest.java | 3 +-
.../DataCommandFunctionWithPDXJUnitTest.java | 3 +-
.../functions/DestroyJndiBindingFunctionTest.java | 3 +-
.../ExportLogsFunctionIntegrationTest.java | 3 +-
.../cli/functions/ListJndiBindingFunctionTest.java | 3 +-
.../functions/SizeExportLogsFunctionFileTest.java | 3 +-
.../cli/functions/SizeExportLogsFunctionTest.java | 3 +-
.../internal/cli/json/GfJsonArrayTest.java | 155 ++
.../internal/cli/json/GfJsonObjectTest.java | 148 ++
.../cli/result/CompositeResultDataTest.java | 132 ++
.../internal/cli/result/ErrorResultDataTest.java | 75 +
.../internal/cli/result/InfoResultDataTest.java | 63 +
.../internal/cli/result/TabularResultDataTest.java | 47 +-
.../cli/shell/GfshMultilineCommandTest.java | 3 +-
.../ClusterConfigDeployJarDUnitTest.java | 4 +
.../ClusterConfigImportDUnitTest.java | 34 +-
.../ClusterConfigLocatorRestartDUnitTest.java | 22 +-
.../ClusterConfigStartMemberDUnitTest.java | 5 +
.../configuration/ClusterConfigTestBase.java | 4 -
.../ClusterConfigWithCallbacksDUnitTest.java | 97 +
.../configuration/DeployJarWithSSLDUnitTest.java | 143 ++
.../internal/deployment/FunctionScannerTest.java | 3 +-
.../pdx/PdxInstanceLoaderIntegrationTest.java | 13 +
.../apache/geode/pdx/PdxSerializableJUnitTest.java | 20 +-
.../java/org/apache/geode/redis/SetsJUnitTest.java | 14 +-
.../SecurityManagerLifecycleDistributedTest.java | 60 +-
.../apache/geode/test/dunit/DUnitBlackboard.java | 2 +-
.../java/org/apache/geode/test/dunit/Host.java | 74 +-
.../java/org/apache/geode/test/dunit/LocalVM.java | 3 +-
.../org/apache/geode/test/dunit/NetworkUtils.java | 51 +-
.../test/java/org/apache/geode/test/dunit/VM.java | 85 +-
.../examples/AsyncInvokeCallableExampleTest.java | 13 +-
.../examples/AsyncInvokeRunnableExampleTest.java | 7 +-
.../CatchingUnexpectedExceptionExampleTest.java | 8 +-
.../examples/DistributedTestRuleExampleTest.java | 4 +-
.../dunit/examples/InvokeRunnableExampleTest.java | 11 +-
.../examples/LocatorPortClusterExampleTest.java | 12 +-
.../test/dunit/internal/InternalBlackboard.java | 2 +-
.../dunit/internal/JUnit4DistributedTestCase.java | 2 +-
.../apache/geode/test/dunit/rules/CacheRule.java | 6 +-
.../rules/{CacheRule.java => ClientCacheRule.java} | 141 +-
.../geode/test/dunit/rules/ClusterStartupRule.java | 1 +
.../test/dunit/rules/DistributedDiskDirRule.java | 275 +++
.../test/dunit/rules/DistributedTestRule.java | 18 +-
.../geode/test/dunit/rules/SharedCountersRule.java | 4 +
...t.java => CacheRuleBuilderDistributedTest.java} | 53 +-
...RuleTest.java => CacheRuleDistributedTest.java} | 171 +-
...dDisconnectRuleAsClassRuleDistributedTest.java} | 11 +-
... DistributedDisconnectRuleDistributedTest.java} | 16 +-
...ava => DistributedTestRuleDistributedTest.java} | 6 +-
...java => SharedCountersRuleDistributedTest.java} | 21 +-
...va => SharedErrorCollectorDistributedTest.java} | 31 +-
.../geode/test/dunit/standalone/DUnitLauncher.java | 2 +-
...st.java => GetCurrentVmNumDistributedTest.java} | 26 +-
.../GetPidAndIdAfterBounceDistributedTest.java | 23 +-
.../dunit/tests/GetPidAndIdDistributedTest.java | 11 +-
.../apache/geode/test/junit/rules/DiskDirRule.java | 188 ++
.../apache/geode/test/junit/rules/VMProvider.java | 9 +
.../cache/client/internal/cacheserver.truststore | Bin 844 -> 1658 bytes
.../apache/geode/codeAnalysis/excludedClasses.txt | 3 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 2160 ++++++++++----------
.../internal/cache/CacheServerWithZeroPort.xml | 24 +
geode-cq/build.gradle | 2 +-
.../geode/internal/cache/PutAllCSDUnitTest.java | 4 +-
.../tier/sockets/DurableClientSimpleDUnitTest.java | 2 -
.../security/ClientAuthorizationCQDUnitTest.java | 2 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 4 +-
.../continuous_querying_whats_next.html.md.erb | 2 +-
.../query_additional/advanced_querying.html.md.erb | 12 +-
.../query_additional/query_timeout.html.md.erb | 36 +
.../monitor_queries_for_low_memory.html.md.erb | 27 +-
geode-docs/images/inline-cache.png | Bin 0 -> 18797 bytes
.../compacting_disk_stores.html.md.erb | 2 +-
.../keeping_offline_disk_store_in_sync.html.md.erb | 2 +-
.../logging/configuring_log4j2.html.md.erb | 6 +-
.../implementing_authorization.html.md.erb | 2 +-
geode-docs/reference/topics/cache_xml.html.md.erb | 2 +-
.../reference/topics/client-cache.html.md.erb | 4 +-
.../setting_up_a_multisite_system.html.md.erb | 5 +-
geode-docs/use_cases/book_intro.html.md.erb | 32 +
geode-docs/use_cases/inline-cache.html.md.erb | 44 +
.../geode/experimental/driver/DriverFactory.java | 91 +-
...bufFunctionService.java => NoOpSerializer.java} | 25 +-
.../geode/experimental/driver/ProtobufChannel.java | 154 +-
.../geode/experimental/driver/ProtobufDriver.java | 21 +-
.../experimental/driver/ProtobufFunction.java | 12 +-
.../driver/ProtobufFunctionService.java | 6 +-
.../experimental/driver/ProtobufQueryService.java | 12 +-
.../geode/experimental/driver/ProtobufRegion.java | 35 +-
.../geode/experimental/driver/SocketFactory.java | 203 ++
.../geode/experimental/driver/ValueEncoder.java | 44 +-
.../geode/experimental/driver/ValueSerializer.java | 57 +
.../driver/AllTypesJavaSerializer.java} | 24 +-
.../experimental/driver/IntegrationTestBase.java | 6 +-
.../geode/experimental/driver/JavaSerializer.java | 61 +
.../apache/geode/experimental/driver/SSLTest.java | 187 ++
.../experimental/driver/ValueEncoderTest.java | 6 +-
.../driver/ValueSerializerIntegrationTest.java | 91 +
...he.geode.protocol.serialization.ValueSerializer | 2 +
.../geode/experimental/driver/bogusclient.keystore | Bin
.../geode/experimental/driver/bogusserver.keystore | Bin 0 -> 1299 bytes
.../experimental/driver}/cacheserver.keystore | Bin
.../experimental/driver/cacheserver.truststore | Bin 0 -> 2519 bytes
.../geode/experimental/driver}/client.keystore | Bin
.../geode/experimental/driver}/client.truststore | Bin
geode-junit/build.gradle | 1 +
.../junit/rules/DescribedExternalResource.java | 23 +-
.../geode/test/junit/rules/gfsh/GfshRule.java | 53 +-
.../serializable/SerializableTemporaryFolder.java | 8 +-
.../rules/serializable/SerializableTestName.java | 2 +-
geode-lucene/build.gradle | 2 +-
.../cache/lucene/internal/InternalLuceneIndex.java | 1 +
.../LuceneIndexCreationInProgressException.java | 22 +-
.../internal/LuceneIndexForPartitionedRegion.java | 12 +-
.../cache/lucene/internal/LuceneQueryImpl.java | 2 +
.../cache/lucene/internal/LuceneRawIndex.java | 9 +-
.../lucene/internal/LuceneRegionListener.java | 2 +
.../cache/lucene/internal/LuceneServiceImpl.java | 31 +-
.../internal/PartitionedRepositoryManager.java | 26 +-
.../internal/RawLuceneRepositoryManager.java | 17 +-
.../lucene/internal/cli/LuceneIndexCommands.java | 28 +-
.../sanctioned-geode-lucene-serializables.txt | 1 +
.../lucene/LuceneQueriesReindexDUnitTest.java | 2 +
...ncyWithRegionCreatedBeforeReindexDUnitTest.java | 345 ++++
.../LuceneIndexForPartitionedRegionTest.java | 34 +
.../LuceneIndexRecoveryHAIntegrationTest.java | 7 +-
.../lucene/internal/LuceneQueryImplJUnitTest.java | 2 +-
.../internal/LuceneServiceImplJUnitTest.java | 5 +
.../PartitionedRepositoryManagerJUnitTest.java | 77 +-
.../RawLuceneRepositoryManagerJUnitTest.java | 9 +-
.../internal/cli/LuceneIndexCommandsJUnitTest.java | 9 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 60 +-
geode-old-client-support/build.gradle | 1 +
geode-old-versions/build.gradle | 5 +
.../test/dunit/standalone/VersionManager.java | 5 +-
.../dunit/standalone/VersionManagerJUnitTest.java | 3 +-
.../src/main/proto/v1/basicTypes.proto | 7 +-
.../src/main/proto/v1/clientProtocol.proto | 4 +-
.../src/main/proto/v1/connection_API.proto | 16 +-
geode-protobuf/build.gradle | 1 +
.../v1/LocatorMessageExecutionContext.java | 57 +-
.../protobuf/v1/MessageExecutionContext.java | 45 +-
.../protobuf/v1/ProtobufCachePipeline.java | 2 +-
.../protobuf/v1/ProtobufOperationContext.java | 34 +-
.../protocol/protobuf/v1/ProtobufOpsProcessor.java | 18 +-
.../protobuf/v1/ProtobufProtocolService.java | 11 +-
.../protobuf/v1/ProtobufSerializationService.java | 143 +-
.../protobuf/v1/ProtobufStreamProcessor.java | 7 +-
.../protobuf/v1/ServerMessageExecutionContext.java | 55 +-
.../protobuf/v1/authentication/Authorizer.java | 21 +-
.../v1/authentication/AuthorizingCache.java | 60 +
.../v1/authentication/AuthorizingCacheImpl.java | 194 ++
.../authentication/AuthorizingFunctionService.java | 21 +-
.../AuthorizingFunctionServiceImpl.java | 123 ++
.../v1/authentication/AuthorizingLocator.java | 21 +-
.../v1/authentication/AuthorizingLocatorImpl.java | 59 +
.../v1/authentication/NoSecurityAuthorizer.java | 19 +-
.../v1/authentication/NotLoggedInAuthorizer.java | 23 +-
.../v1/authentication/ShiroAuthorizer.java | 22 +-
.../AbstractFunctionRequestOperationHandler.java | 146 --
.../operations/ClearRequestOperationHandler.java | 15 +-
.../DisconnectClientRequestOperationHandler.java | 5 +-
...cuteFunctionOnGroupRequestOperationHandler.java | 82 +-
...uteFunctionOnMemberRequestOperationHandler.java | 92 +-
...uteFunctionOnRegionRequestOperationHandler.java | 86 +-
.../operations/GetAllRequestOperationHandler.java | 114 +-
.../GetRegionNamesRequestOperationHandler.java | 8 +-
.../v1/operations/GetRequestOperationHandler.java | 34 +-
.../v1/operations/GetServerOperationHandler.java | 23 +-
.../operations/GetSizeRequestOperationHandler.java | 9 +-
.../v1/operations/KeySetOperationHandler.java | 19 +-
.../OqlQueryRequestOperationHandler.java | 41 +-
.../operations/PutAllRequestOperationHandler.java | 104 +-
.../PutIfAbsentRequestOperationHandler.java | 25 +-
.../v1/operations/PutRequestOperationHandler.java | 22 +-
.../operations/RemoveRequestOperationHandler.java | 16 +-
.../AuthenticationRequestOperationHandler.java | 67 -
.../security/HandshakeRequestOperationHandler.java | 87 +
.../registry/ProtobufOperationContextRegistry.java | 102 +-
.../protocol/protobuf/v1/state/AcceptMessages.java | 22 +-
...ionStateProcessor.java => ConnectionState.java} | 19 +-
...ionStateProcessor.java => InvalidSecurity.java} | 16 +-
...cySecurityProtobufConnectionStateProcessor.java | 39 -
...rotobufConnectionAuthorizingStateProcessor.java | 74 -
...teProcessor.java => RequireAuthentication.java} | 28 +-
...hakeStateProcessor.java => RequireVersion.java} | 28 +-
...tateProcessor.java => TerminateConnection.java} | 8 +-
.../serialization/NoOpCustomValueSerializer.java | 42 +-
.../protocol/serialization/ValueSerializer.java | 98 +
.../OutputCapturingServerConnectionTest.java | 7 +-
.../tier/sockets/ProtobufServerConnectionTest.java | 7 +-
.../internal/protocol/TestExecutionContext.java | 10 +-
.../protobuf/ProtobufStreamProcessorTest.java | 3 +-
.../protobuf/v1/AuthenticationIntegrationTest.java | 28 +-
.../protobuf/v1/AuthorizationIntegrationTest.java | 7 +-
.../v1/DisconnectClientIntegrationTest.java | 4 +-
.../v1/ExecuteFunctionOnGroupIntegrationTest.java | 5 +-
.../v1/ExecuteFunctionOnMemberIntegrationTest.java | 5 +-
.../v1/ExecuteFunctionOnRegionIntegrationTest.java | 5 +-
.../protobuf/v1/TestSerializeAllSerializer.java | 26 +-
.../protocol/protobuf/v1/TestValueSerializer.java | 41 +-
.../v1/ValueSerializerIntegrationTest.java | 227 ++
.../v1/acceptance/CacheOperationsJUnitTest.java | 2 +-
.../LocatorConnectionAuthenticationDUnitTest.java | 4 +-
.../authentication/AuthorizingCacheImplTest.java | 312 +++
.../AuthorizingFunctionServiceImplTest.java | 106 +
.../ClearRequestOperationHandlerJUnitTest.java | 11 +-
...ionOnGroupRequestOperationHandlerJUnitTest.java | 60 +-
...onOnMemberRequestOperationHandlerJUnitTest.java | 49 +-
...onOnRegionRequestOperationHandlerJUnitTest.java | 46 +-
.../GetAllRequestOperationHandlerJUnitTest.java | 23 +-
.../GetAndPutJsonDocumentsDUnitTest.java | 52 +-
...egionNamesRequestOperationHandlerJUnitTest.java | 6 +-
.../GetRequestOperationHandlerJUnitTest.java | 11 +-
.../GetSizeRequestOperationHandlerJUnitTest.java | 12 +-
...ueryRequestOperationHandlerIntegrationTest.java | 5 +-
.../OqlQueryRequestOperationHandlerJUnitTest.java | 7 +-
.../PutAllRequestOperationHandlerJUnitTest.java | 17 +-
...utIfAbsentRequestOperationHandlerJUnitTest.java | 35 +-
.../PutRequestOperationHandlerJUnitTest.java | 14 +-
.../RemoveRequestOperationHandlerJUnitTest.java | 12 +-
...he.geode.protocol.serialization.ValueSerializer | 2 +
.../tools/pulse/internal/data/JMXDataUpdater.java | 65 +-
.../tools/pulse/internal/data/PulseConstants.java | 16 +-
.../internal/service/ClusterDetailsService.java | 6 +-
.../service/ClusterMembersRGraphService.java | 13 +-
.../internal/service/ClusterRegionService.java | 7 +-
.../internal/service/ClusterRegionsService.java | 7 +-
.../service/ClusterSelectedRegionService.java | 15 +-
.../internal/service/MemberDetailsService.java | 9 +-
.../internal/service/MemberRegionsService.java | 7 +-
geode-pulse/src/main/resources/gemfire.properties | 1 -
geode-pulse/src/main/webapp/clusterDetail.html | 2 +-
geode-pulse/src/main/webapp/dataBrowser.html | 2 +-
geode-pulse/src/main/webapp/memberDetails.html | 2 +-
.../src/main/webapp/properties/gemfire.properties | 1 -
geode-pulse/src/main/webapp/queryStatistics.html | 6 +-
geode-pulse/src/main/webapp/regionDetail.html | 2 +-
.../src/main/webapp/scripts/pulsescript/common.js | 20 +
.../geode/tools/pulse/tests/ui/PulseBase.java | 7 +-
geode-wan/build.gradle | 2 +-
.../GatewayLegacyAuthenticationRegressionTest.java | 12 +-
.../geode/internal/cache/wan/WANTestBase.java | 100 +-
.../ParallelGatewaySenderOperationsDUnitTest.java | 38 +-
.../SerialGatewaySenderOperationsDUnitTest.java | 49 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 28 +-
geode-web/build.gradle | 1 +
.../cli/commands/ConnectCommandWithSSLTest.java | 8 +-
gradle/docker.gradle | 1 -
gradle/spotless.gradle | 27 +-
869 files changed, 21988 insertions(+), 15402 deletions(-)
copy extensions/geode-modules-assembly/release/tcserver/{geode-cs-tomcat-8 => geode-cs-tomcat-85}/context-fragment.xml (100%)
copy extensions/geode-modules-assembly/release/tcserver/{geode-p2p-tomcat-8 => geode-p2p-tomcat-85}/context-fragment.xml (100%)
create mode 100644 geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/ImportClusterConfigTest.java
create mode 100644 geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/PdxBasedCrudControllerIntegrationTest.java
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/result/TabularResultDataTest.java => geode-assembly/src/test/java/org/apache/geode/test/junit/rules/GfshRuleTest.java (56%)
rename geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/{ColumnValue.java => ColumnData.java} (78%)
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/EntryColumnData.java (55%)
rename geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/{JdbcDUnitTest.java => JdbcDistributedTest.java} (66%)
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcAsyncWriterIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcDistributedTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcLoaderIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/MySqlJdbcWriterIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/PostgresJdbcAsyncWriterIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/PostgresJdbcDistributedTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/PostgresJdbcLoaderIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/PostgresJdbcWriterIntegrationTest.java
rename geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/{ColumnValueTest.java => ColumnDataTest.java} (81%)
copy geode-core/src/test/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java => geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/MySqlTableMetaDataManagerIntegrationTest.java (50%)
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GfshCommandIntegrationTest.java => geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/PostgresTableMetaDataManagerIntegrationTest.java (50%)
copy geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java => geode-connectors/src/test/java/org/apache/geode/test/junit/rules/DatabaseConnectionRule.java (68%)
mode change 100755 => 100644
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-connectors/src/test/java/org/apache/geode/test/junit/rules/InMemoryDerbyConnectionRule.java (54%)
create mode 100644 geode-connectors/src/test/java/org/apache/geode/test/junit/rules/MySqlConnectionRule.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/test/junit/rules/PostgresConnectionRule.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/test/junit/rules/SqlDatabaseConnectionRule.java
create mode 100644 geode-connectors/src/test/resources/org/apache/geode/connectors/jdbc/internal/mysql.yml
create mode 100644 geode-connectors/src/test/resources/org/apache/geode/connectors/jdbc/internal/postgres.yml
create mode 100644 geode-connectors/src/test/resources/org/apache/geode/connectors/jdbc/mysql.yml
create mode 100644 geode-connectors/src/test/resources/org/apache/geode/connectors/jdbc/postgres.yml
create mode 100644 geode-core/src/jmh/java/org/apache/geode/cache/partitioned/rebalance/RebalanceGrowingClusterBenchmark.java
create mode 100644 geode-core/src/jmh/java/org/apache/geode/cache/partitioned/rebalance/RebalanceModelBuilder.java
create mode 100644 geode-core/src/jmh/java/org/apache/geode/cache/partitioned/rebalance/RebalanceOnAddingMemberBenchmark.java
create mode 100644 geode-core/src/jmh/java/org/apache/geode/cache/partitioned/rebalance/RebalanceRegionBenchmark.java
copy geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/TableMetaDataView.java => geode-core/src/main/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirs.java (53%)
create mode 100644 geode-core/src/main/java/org/apache/geode/management/cli/Disabled.java
rename geode-core/src/main/java/org/apache/geode/management/{internal/cli/commands => cli}/GfshCommand.java (69%)
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/ContextAwareSSLRMIClientSocketFactory.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommand.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/InternalGfshCommand.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/dto/RegionAttributesInfo.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/dto/RegionDetails.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/dto/RegionMemberDetails.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CliJsonSerializable.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CliJsonSerializableFactory.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/result/ObjectResultData.java
rename geode-core/src/{main/java/org/apache/geode/management/internal/cli/result/CliJsonSerializableIds.java => test/java/com/examples/UserGfshCommand.java} (68%)
delete mode 100755 geode-core/src/test/java/org/apache/geode/cache/CacheRegionClearStatsDUnitTest.java
rename geode-core/src/test/java/org/apache/geode/cache/{FinalStaticArrayShouldNotCauseSegFaultTest.java => FinalStaticArrayShouldNotCauseSegFaultRegressionTest.java} (60%)
rename geode-core/src/test/java/org/apache/geode/cache/{MembershipAttributesAreSerializableTest.java => MembershipAttributesAreSerializableRegressionTest.java} (75%)
create mode 100755 geode-core/src/test/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
rename geode-core/src/test/java/org/apache/geode/cache/{RegionExpirationDUnitTest.java => RegionExpirationDistributedTest.java} (96%)
create mode 100644 geode-core/src/test/java/org/apache/geode/cache/client/internal/LocatorSSLJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/distributed/internal/DlockAndTxlockRegressionTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/Bug51616JUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/CreateRegionFactoryNewInstanceRegressionTest.java
copy geode-core/src/test/java/org/apache/geode/{test/dunit/rules/tests/DistributedTestRuleTest.java => internal/DSCODETest.java} (58%)
create mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/AfterRegionCreateNotBeforeRegionInitRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/BucketCreationGIIHARegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/BucketCreationRequesterCrashHARegressionTest.java
delete mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/Bug33726JUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug34179TooManyFilesOpenJUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug34583JUnitTest.java
delete mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/Bug37241DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug37377DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug37500JUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug39079DUnitTest.java
delete mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/Bug40299DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug40632DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug41091DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug41733DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug41957DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug42055DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug45164DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug45934DUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug47667DUnitTest.java
create mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/CleanupFailedInitWithDiskFilesRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/ClearDuringGiiOplogWithMissingCreateRegressionTest.java
create mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/ClearDuringNetSearchOplogRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/ClientTxCommitShouldNotHangRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/CreatePRWithLocalExpirationRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/DiskAccessExceptionDisablesServerRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/DiskRecoveryWithVersioningGiiRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/GiiDiskAccessExceptionRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/OplogTooManyFilesOpenRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRAccessorWithOverflowRegressionTest.java
rename geode-core/src/test/java/org/apache/geode/internal/cache/{PRCustomPartitioningDUnitTest.java => PRCustomPartitioningDistributedTest.java} (96%)
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PREntrySetIteratorRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionQueryDUnitTest.java
rename geode-core/src/test/java/org/apache/geode/internal/cache/{RegionListenerDUnitTest.java => RegionListenerDistributedTest.java} (85%)
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/RegionValuesIteratorAfterLocalInvalidateRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/RegisterInterestWithEvictionRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/StartServerWithXmlDUnitTest.java
rename geode-core/src/test/java/org/apache/geode/internal/cache/execute/{FunctionExecution_ExceptionDUnitTest.java => FunctionExecutionWithExceptionDistributedTest.java} (98%)
delete mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java
create mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/ha/ClientSubscriptionExpiryDataLossRegressionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsIntegrationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/DefaultDiskDirsTest.java
rename geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/{AcceptorImplClientQueueDUnitTest.java => AcceptorImplClientQueueDistributedTest.java} (84%)
rename geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/{DataSerializerPropogationDUnitTest.java => DataSerializerPropagationDUnitTest.java} (80%)
rename geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/{DescribeConnectionCommandJUnitTest.java => DescribeConnectionCommandIntegrationTest.java} (79%)
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommandDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListJndiBindingCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ManagedConnectionFactoryForTesting.java
copy geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/TableMetaDataView.java => geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheListener.java (63%)
copy geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/TableMetaDataView.java => geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheLoader.java (53%)
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/json/GfJsonArrayTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/json/GfJsonObjectTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/result/CompositeResultDataTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/result/ErrorResultDataTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/result/InfoResultDataTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithCallbacksDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/configuration/DeployJarWithSSLDUnitTest.java
copy geode-core/src/test/java/org/apache/geode/test/dunit/rules/{CacheRule.java => ClientCacheRule.java} (52%)
create mode 100644 geode-core/src/test/java/org/apache/geode/test/dunit/rules/DistributedDiskDirRule.java
copy geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{CacheRuleTest.java => CacheRuleBuilderDistributedTest.java} (86%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{CacheRuleTest.java => CacheRuleDistributedTest.java} (58%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{DistributedDisconnectRuleAsClassRuleTest.java => DistributedDisconnectRuleAsClassRuleDistributedTest.java} (95%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{DistributedDisconnectRuleTest.java => DistributedDisconnectRuleDistributedTest.java} (94%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{DistributedTestRuleTest.java => DistributedTestRuleDistributedTest.java} (89%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{SharedCountersRuleTest.java => SharedCountersRuleDistributedTest.java} (90%)
rename geode-core/src/test/java/org/apache/geode/test/dunit/rules/tests/{SharedErrorCollectorTest.java => SharedErrorCollectorDistributedTest.java} (92%)
copy geode-core/src/test/java/org/apache/geode/test/dunit/tests/{GetPidAndIdDistributedTest.java => GetCurrentVmNumDistributedTest.java} (64%)
create mode 100644 geode-core/src/test/java/org/apache/geode/test/junit/rules/DiskDirRule.java
create mode 100755 geode-core/src/test/resources/org/apache/geode/internal/cache/CacheServerWithZeroPort.xml
create mode 100644 geode-docs/developing/query_additional/query_timeout.html.md.erb
create mode 100644 geode-docs/images/inline-cache.png
create mode 100644 geode-docs/use_cases/book_intro.html.md.erb
create mode 100644 geode-docs/use_cases/inline-cache.html.md.erb
copy geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/{ProtobufFunctionService.java => NoOpSerializer.java} (61%)
create mode 100644 geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/SocketFactory.java
create mode 100644 geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/ValueSerializer.java
copy geode-experimental-driver/src/{main/java/org/apache/geode/experimental/driver/ProtobufFunctionService.java => test/java/org/apache/geode/experimental/driver/AllTypesJavaSerializer.java} (64%)
create mode 100644 geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/JavaSerializer.java
create mode 100644 geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/SSLTest.java
create mode 100644 geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/ValueSerializerIntegrationTest.java
create mode 100644 geode-experimental-driver/src/test/resources/META-INF/services/org.apache.geode.protocol.serialization.ValueSerializer
copy geode-protobuf/src/test/resources/org/apache/geode/internal/protocol/protobuf/v1/acceptance/default.keystore => geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver/bogusclient.keystore (100%)
create mode 100644 geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver/bogusserver.keystore
copy {geode-core/src/test/resources/org/apache/geode/cache/client/internal => geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver}/cacheserver.keystore (100%)
create mode 100644 geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver/cacheserver.truststore
copy {geode-core/src/test/resources/org/apache/geode/cache/client/internal => geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver}/client.keystore (100%)
copy {geode-core/src/test/resources/org/apache/geode/cache/client/internal => geode-experimental-driver/src/test/resources/org/apache/geode/experimental/driver}/client.truststore (100%)
copy geode-protobuf-messages/src/main/proto/v1/connection_API.proto => geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationInProgressException.java (69%)
create mode 100644 geode-lucene/src/test/java/org/apache/geode/cache/lucene/RebalanceWithRedundancyWithRegionCreatedBeforeReindexDUnitTest.java
rename {geode-core/src/test => geode-old-versions/src/main}/java/org/apache/geode/test/dunit/standalone/VersionManager.java (98%)
rename {geode-core => geode-old-versions}/src/test/java/org/apache/geode/test/dunit/standalone/VersionManagerJUnitTest.java (94%)
copy geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockLessorDepartureHandler.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/Authorizer.java (58%)
mode change 100755 => 100644
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingCache.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingCacheImpl.java
copy geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockLessorDepartureHandler.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingFunctionService.java (58%)
mode change 100755 => 100644
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingFunctionServiceImpl.java
copy geode-core/src/main/java/org/apache/geode/internal/cache/tier/ConnectionProxy.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingLocator.java (69%)
mode change 100755 => 100644
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingLocatorImpl.java
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/NoSecurityAuthorizer.java (67%)
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/NotLoggedInAuthorizer.java (64%)
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/ShiroAuthorizer.java (56%)
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/AbstractFunctionRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/AuthenticationRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/HandshakeRequestOperationHandler.java
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/AcceptMessages.java (59%)
rename geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/{ProtobufConnectionStateProcessor.java => ConnectionState.java} (73%)
rename geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/{NoSecurityProtobufConnectionStateProcessor.java => InvalidSecurity.java} (64%)
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/LegacySecurityProtobufConnectionStateProcessor.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/ProtobufConnectionAuthorizingStateProcessor.java
rename geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/{ProtobufConnectionAuthenticatingStateProcessor.java => RequireAuthentication.java} (58%)
rename geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/{ProtobufConnectionHandshakeStateProcessor.java => RequireVersion.java} (72%)
rename geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/{ProtobufConnectionTerminatingStateProcessor.java => TerminateConnection.java} (75%)
copy geode-core/src/test/java/org/apache/geode/internal/cache/SerializableMonth.java => geode-protobuf/src/main/java/org/apache/geode/internal/protocol/serialization/NoOpCustomValueSerializer.java (53%)
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/protocol/serialization/ValueSerializer.java
copy geode-core/src/test/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java => geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/TestSerializeAllSerializer.java (58%)
copy geode-core/src/test/java/org/apache/geode/internal/cache/SerializableMonth.java => geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/TestValueSerializer.java (52%)
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/ValueSerializerIntegrationTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingCacheImplTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/authentication/AuthorizingFunctionServiceImplTest.java
create mode 100644 geode-protobuf/src/test/resources/META-INF/services/org.apache.geode.protocol.serialization.ValueSerializer
--
To stop receiving notification emails like this one, please contact
zhouxj@apache.org.
[geode] 01/01: GEODE-4647: add a stats eventSecondaryQueueSizeId to
track events in secondary gateway sender queue
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhouxj pushed a commit to branch feature/GEODE-4647
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 45bc7b7557d8f0a76a7b903ff09e8f642dc3de26
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Wed Feb 21 21:31:07 2018 -0800
GEODE-4647: add a stats eventSecondaryQueueSizeId to track events in secondary
gateway sender queue
---
.../asyncqueue/internal/AsyncEventQueueStats.java | 3 +
.../internal/cache/AbstractBucketRegionQueue.java | 8 +
.../geode/internal/cache/AbstractRegionMap.java | 12 ++
.../apache/geode/internal/cache/BucketAdvisor.java | 2 +
.../geode/internal/cache/BucketRegionQueue.java | 2 +
.../internal/cache/wan/AbstractGatewaySender.java | 1 +
.../internal/cache/wan/GatewaySenderStats.java | 61 ++++++++
.../wan/parallel/ParallelGatewaySenderQueue.java | 16 ++
.../wan/parallel/ParallelQueueRemovalMessage.java | 3 +
.../SerialAsyncEventQueueImplJUnitTest.java | 3 +
.../cache/wan/AsyncEventQueueTestBase.java | 18 ++-
.../asyncqueue/AsyncEventListenerDUnitTest.java | 8 +-
.../asyncqueue/AsyncEventQueueStatsDUnitTest.java | 45 ++++--
.../ParallelQueueRemovalMessageJUnitTest.java | 12 ++
.../bean/stats/AsyncEventQueueStatsJUnitTest.java | 2 -
.../geode/internal/cache/wan/WANTestBase.java | 95 +++++++++++-
.../ParallelGatewaySenderOperationsDUnitTest.java | 26 ++--
.../parallel/ParallelWANConflationDUnitTest.java | 56 +++++--
.../wan/parallel/ParallelWANStatsDUnitTest.java | 167 +++++++++++++++++++++
.../serial/SerialGatewaySenderQueueDUnitTest.java | 13 +-
.../wan/serial/SerialWANConflationDUnitTest.java | 73 ++++++++-
.../wan/serial/SerialWANPropagationDUnitTest.java | 1 +
22 files changed, 574 insertions(+), 53 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueStats.java b/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueStats.java
index 2f3029a..8d68cee 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueStats.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/asyncqueue/internal/AsyncEventQueueStats.java
@@ -42,6 +42,8 @@ public class AsyncEventQueueStats extends GatewaySenderStats {
f.createLongCounter(EVENT_QUEUE_TIME, "Total time spent queueing events.",
"nanoseconds"),
f.createIntGauge(EVENT_QUEUE_SIZE, "Size of the event queue.", "operations", false),
+ f.createIntGauge(EVENT_SECONDARY_QUEUE_SIZE, "Size of the secondary event queue.",
+ "operations", false),
f.createIntGauge(TMP_EVENT_QUEUE_SIZE, "Size of the temporary events queue.",
"operations", false),
f.createIntCounter(EVENTS_NOT_QUEUED_CONFLATED,
@@ -108,6 +110,7 @@ public class AsyncEventQueueStats extends GatewaySenderStats {
eventsNotQueuedConflatedId = type.nameToId(EVENTS_NOT_QUEUED_CONFLATED);
eventQueueTimeId = type.nameToId(EVENT_QUEUE_TIME);
eventQueueSizeId = type.nameToId(EVENT_QUEUE_SIZE);
+ eventSecondaryQueueSizeId = type.nameToId(EVENT_SECONDARY_QUEUE_SIZE);
eventTmpQueueSizeId = type.nameToId(TMP_EVENT_QUEUE_SIZE);
eventsDistributedId = type.nameToId(EVENTS_DISTRIBUTED);
eventsExceedingAlertThresholdId = type.nameToId(EVENTS_EXCEEDING_ALERT_THRESHOLD);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractBucketRegionQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractBucketRegionQueue.java
index 32dfb80..3607cda 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractBucketRegionQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractBucketRegionQueue.java
@@ -220,6 +220,10 @@ public abstract class AbstractBucketRegionQueue extends BucketRegion {
this.gatewaySenderStats.decQueueSize(size);
}
+ public void decSecondaryQueueSize(int size) {
+ this.gatewaySenderStats.decSecondaryQueueSize(size);
+ }
+
public void decQueueSize() {
this.gatewaySenderStats.decQueueSize();
}
@@ -228,6 +232,10 @@ public abstract class AbstractBucketRegionQueue extends BucketRegion {
this.gatewaySenderStats.incQueueSize(size);
}
+ public void incSecondaryQueueSize(int size) {
+ this.gatewaySenderStats.incSecondaryQueueSize(size);
+ }
+
public void incQueueSize() {
this.gatewaySenderStats.incQueueSize();
}
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 493410b..71ccf51 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
@@ -636,6 +636,10 @@ public abstract class AbstractRegionMap
tombstones.put(tag, newRe);
} else {
_getOwner().updateSizeOnCreate(key, _getOwner().calculateRegionEntryValueSize(newRe));
+ if (_getOwner() instanceof BucketRegionQueue) {
+ BucketRegionQueue brq = (BucketRegionQueue) _getOwner();
+ brq.incSecondaryQueueSize(1);
+ }
}
incEntryCount(1);
lruEntryUpdate(newRe);
@@ -661,6 +665,10 @@ public abstract class AbstractRegionMap
} else {
_getOwner().updateSizeOnCreate(re.getKey(),
_getOwner().calculateRegionEntryValueSize(re));
+ if (_getOwner() instanceof BucketRegionQueue) {
+ BucketRegionQueue brq = (BucketRegionQueue) _getOwner();
+ brq.incSecondaryQueueSize(1);
+ }
}
}
incEntryCount(size());
@@ -1044,6 +1052,10 @@ public abstract class AbstractRegionMap
} finally {
if (done && result) {
initialImagePutEntry(newRe);
+ if (owner instanceof BucketRegionQueue) {
+ BucketRegionQueue brq = (BucketRegionQueue) owner;
+ brq.addToEventQueue(key, done, event);
+ }
}
if (!done) {
removeEntry(key, newRe, false);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
index bfe7472..b2c952b 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketAdvisor.java
@@ -314,6 +314,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
if (b instanceof BucketRegionQueue) {
BucketRegionQueue brq = (BucketRegionQueue) b;
brq.decQueueSize(brq.size());
+ brq.incSecondaryQueueSize(brq.size());
}
}
}
@@ -1191,6 +1192,7 @@ public class BucketAdvisor extends CacheDistributionAdvisor {
if (br instanceof BucketRegionQueue) { // Shouldn't it be AbstractBucketRegionQueue
BucketRegionQueue brq = (BucketRegionQueue) br;
brq.incQueueSize(brq.size());
+ brq.decSecondaryQueueSize(brq.size());
}
if (br != null && br instanceof BucketRegion) {
((BucketRegion) br).afterAcquiringPrimaryState();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegionQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegionQueue.java
index 4e5451e..0baa204 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegionQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegionQueue.java
@@ -449,6 +449,8 @@ public class BucketRegionQueue extends AbstractBucketRegionQueue {
}
if (this.getBucketAdvisor().isPrimary()) {
incQueueSize(1);
+ } else {
+ incSecondaryQueueSize(1);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
index 034d810..b50f2e6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
@@ -1101,6 +1101,7 @@ public abstract class AbstractGatewaySender implements GatewaySender, Distributi
}
statistics.setQueueSize(0);
+ statistics.setSecondaryQueueSize(0);
statistics.setTempQueueSize(0);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderStats.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderStats.java
index 2b93082..15ff18e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderStats.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderStats.java
@@ -46,6 +46,8 @@ public class GatewaySenderStats {
protected static final String EVENT_QUEUE_TIME = "eventQueueTime";
/** Name of the event queue size statistic */
protected static final String EVENT_QUEUE_SIZE = "eventQueueSize";
+ /** Name of the event secondary queue size statistic */
+ protected static final String EVENT_SECONDARY_QUEUE_SIZE = "eventSecondaryQueueSize";
/** Name of the event temporary queue size statistic */
protected static final String TMP_EVENT_QUEUE_SIZE = "tempQueueSize";
/** Name of the events distributed statistic */
@@ -104,6 +106,8 @@ public class GatewaySenderStats {
protected static int eventQueueTimeId;
/** Id of the event queue size statistic */
protected static int eventQueueSizeId;
+ /** Id of the event in secondary queue size statistic */
+ protected static int eventSecondaryQueueSizeId;
/** Id of the temp event queue size statistic */
protected static int eventTmpQueueSizeId;
/** Id of the events distributed statistic */
@@ -168,6 +172,8 @@ public class GatewaySenderStats {
f.createLongCounter(EVENT_QUEUE_TIME, "Total time spent queueing events.",
"nanoseconds"),
f.createIntGauge(EVENT_QUEUE_SIZE, "Size of the event queue.", "operations", false),
+ f.createIntGauge(EVENT_SECONDARY_QUEUE_SIZE, "Size of secondary event queue.",
+ "operations", false),
f.createIntGauge(TMP_EVENT_QUEUE_SIZE, "Size of the temporary events.", "operations",
false),
f.createIntCounter(EVENTS_NOT_QUEUED_CONFLATED,
@@ -238,6 +244,7 @@ public class GatewaySenderStats {
eventsNotQueuedConflatedId = type.nameToId(EVENTS_NOT_QUEUED_CONFLATED);
eventQueueTimeId = type.nameToId(EVENT_QUEUE_TIME);
eventQueueSizeId = type.nameToId(EVENT_QUEUE_SIZE);
+ eventSecondaryQueueSizeId = type.nameToId(EVENT_SECONDARY_QUEUE_SIZE);
eventTmpQueueSizeId = type.nameToId(TMP_EVENT_QUEUE_SIZE);
eventsDistributedId = type.nameToId(EVENTS_DISTRIBUTED);
eventsExceedingAlertThresholdId = type.nameToId(EVENTS_EXCEEDING_ALERT_THRESHOLD);
@@ -358,6 +365,15 @@ public class GatewaySenderStats {
}
/**
+ * Returns the current value of the "eventSecondaryQueueSize" stat.
+ *
+ * @return the current value of the "eventSecondaryQueueSize" stat
+ */
+ public int getEventSecondaryQueueSize() {
+ return this.stats.getInt(eventSecondaryQueueSizeId);
+ }
+
+ /**
* Returns the current value of the "tempQueueSize" stat.
*
* @return the current value of the "tempQueueSize" stat.
@@ -462,6 +478,15 @@ public class GatewaySenderStats {
}
/**
+ * Sets the "eventSecondaryQueueSize" stat.
+ *
+ * @param size The size of the secondary queue
+ */
+ public void setSecondaryQueueSize(int size) {
+ this.stats.setInt(eventSecondaryQueueSizeId, size);
+ }
+
+ /**
* Sets the "tempQueueSize" stat.
*
* @param size The size of the temp queue
@@ -479,6 +504,14 @@ public class GatewaySenderStats {
}
/**
+ * Increments the "eventSecondaryQueueSize" stat by 1.
+ */
+ public void incSecondaryQueueSize() {
+ this.stats.incInt(eventSecondaryQueueSizeId, 1);
+ assert this.stats.getInt(eventSecondaryQueueSizeId) >= 0;
+ }
+
+ /**
* Increments the "tempQueueSize" stat by 1.
*/
public void incTempQueueSize() {
@@ -495,6 +528,16 @@ public class GatewaySenderStats {
}
/**
+ * Increments the "eventSecondaryQueueSize" stat by given delta.
+ *
+ * @param delta an integer by which secondary queue size to be increased
+ */
+ public void incSecondaryQueueSize(int delta) {
+ this.stats.incInt(eventSecondaryQueueSizeId, delta);
+ assert this.stats.getInt(eventSecondaryQueueSizeId) >= 0;
+ }
+
+ /**
* Increments the "tempQueueSize" stat by given delta.
*
* @param delta an integer by which temp queue size to be increased
@@ -511,6 +554,14 @@ public class GatewaySenderStats {
}
/**
+ * Decrements the "eventSecondaryQueueSize" stat by 1.
+ */
+ public void decSecondaryQueueSize() {
+ this.stats.incInt(eventSecondaryQueueSizeId, -1);
+ assert this.stats.getInt(eventSecondaryQueueSizeId) >= 0;
+ }
+
+ /**
* Decrements the "tempQueueSize" stat by 1.
*/
public void decTempQueueSize() {
@@ -527,6 +578,16 @@ public class GatewaySenderStats {
}
/**
+ * Decrements the "eventSecondaryQueueSize" stat by given delta.
+ *
+ * @param delta an integer by which secondary queue size to be increased
+ */
+ public void decSecondaryQueueSize(int delta) {
+ this.stats.incInt(eventSecondaryQueueSizeId, -delta);
+ assert this.stats.getInt(eventSecondaryQueueSizeId) >= 0;
+ }
+
+ /**
* Decrements the "tempQueueSize" stat by given delta.
*
* @param delta an integer by which temp queue size to be increased
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
index 89880fc..fe2cf60 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderQueue.java
@@ -1401,6 +1401,22 @@ public class ParallelGatewaySenderQueue implements RegionQueue {
return (BucketRegionQueue) prQ.getDataStore().getLocalBucketById(bucketId);
}
+ public String displayContent() {
+ int size = 0;
+ StringBuffer sb = new StringBuffer();
+ for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) {
+ if (prQ != null && prQ.getDataStore() != null) {
+ Set<BucketRegion> allLocalBuckets = prQ.getDataStore().getAllLocalBucketRegions();
+ for (BucketRegion br : allLocalBuckets) {
+ if (br.size() > 0) {
+ sb.append("bucketId=" + br.getId() + ":" + br.keySet() + ";");
+ }
+ }
+ }
+ }
+ return sb.toString();
+ }
+
public int localSize() {
return localSize(false);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessage.java
index 39fedbf..df89e36 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessage.java
@@ -183,6 +183,9 @@ public class ParallelQueueRemovalMessage extends PooledDistributionMessage {
final boolean isDebugEnabled = logger.isDebugEnabled();
try {
brq.destroyKey(key);
+ if (!brq.getBucketAdvisor().isPrimary()) {
+ prQ.getParallelGatewaySender().getStatistics().decSecondaryQueueSize();
+ }
if (isDebugEnabled) {
logger.debug("Destroyed the key {} for shadowPR {} for bucket {}", key, prQ.getName(),
brq.getId());
diff --git a/geode-core/src/test/java/org/apache/geode/cache/asyncqueue/internal/SerialAsyncEventQueueImplJUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/asyncqueue/internal/SerialAsyncEventQueueImplJUnitTest.java
index eb8ad01..4c5caa2 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/asyncqueue/internal/SerialAsyncEventQueueImplJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/asyncqueue/internal/SerialAsyncEventQueueImplJUnitTest.java
@@ -50,14 +50,17 @@ public class SerialAsyncEventQueueImplJUnitTest {
attrs.id = AsyncEventQueueImpl.ASYNC_EVENT_QUEUE_PREFIX + "id";
SerialAsyncEventQueueImpl queue = new SerialAsyncEventQueueImpl(cache, attrs);
queue.getStatistics().incQueueSize(5);
+ queue.getStatistics().incSecondaryQueueSize(6);
queue.getStatistics().incTempQueueSize(10);
assertEquals(5, queue.getStatistics().getEventQueueSize());
+ assertEquals(6, queue.getStatistics().getEventSecondaryQueueSize());
assertEquals(10, queue.getStatistics().getTempEventQueueSize());
queue.stop();
assertEquals(0, queue.getStatistics().getEventQueueSize());
+ assertEquals(0, queue.getStatistics().getEventSecondaryQueueSize());
assertEquals(0, queue.getStatistics().getTempEventQueueSize());
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
index 8366ca7..2074e9e 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
@@ -718,19 +718,33 @@ public class AsyncEventQueueTestBase extends JUnit4DistributedTestCase {
}
public static void checkAsyncEventQueueStats(String queueId, final int queueSize,
- final int eventsReceived, final int eventsQueued, final int eventsDistributed) {
+ int secondaryQueueSize, final int eventsReceived, final int eventsQueued,
+ final int eventsDistributed) {
Set<AsyncEventQueue> asyncQueues = cache.getAsyncEventQueues();
AsyncEventQueue queue = null;
+ boolean isParallel = false;
for (AsyncEventQueue q : asyncQueues) {
+ isParallel = q.isParallel();
if (q.getId().equals(queueId)) {
queue = q;
break;
}
}
final AsyncEventQueueStats statistics = ((AsyncEventQueueImpl) queue).getStatistics();
- Awaitility.await().atMost(60, TimeUnit.SECONDS)
+ Awaitility.await().atMost(120, TimeUnit.SECONDS)
.until(() -> assertEquals("Expected queue entries: " + queueSize + " but actual entries: "
+ statistics.getEventQueueSize(), queueSize, statistics.getEventQueueSize()));
+ if (isParallel) {
+ Awaitility.await().atMost(60, TimeUnit.SECONDS).until(() -> {
+ assertEquals(
+ "Expected events in the secondary queue is " + secondaryQueueSize + ", but actual is "
+ + statistics.getEventSecondaryQueueSize(),
+ secondaryQueueSize, statistics.getEventSecondaryQueueSize());
+ });
+ } else {
+ // for serial queue, evenvSecondaryQueueSize is not used
+ assertEquals(0, statistics.getEventSecondaryQueueSize());
+ }
assertEquals(queueSize, statistics.getEventQueueSize());
assertEquals(eventsReceived, statistics.getEventsReceived());
assertEquals(eventsQueued, statistics.getEventsQueued());
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
index aa1db53..442ef9f 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
@@ -1521,8 +1521,8 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
LogWriterUtils.getLogWriter().info("Primary buckets on vm2: " + primaryBucketsvm2);
// before shutdown vm2, both vm1 and vm2 should have 40 events in primary queue
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 80, 80, 0));
- vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 80, 80, 0));
+ vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 40, 80, 80, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 40, 80, 80, 0));
// ---------------------------- Kill vm2 --------------------------
vm2.invoke(() -> AsyncEventQueueTestBase.killSender());
@@ -1549,8 +1549,8 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
.info("After shutdown vm2, started vm3, Primary buckets on vm1: " + primaryBucketsvm1);
// vm1.invoke(()->AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 80, 80, 80, 0));
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 80, 80, 0));
- vm3.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 0, 0, 0));
+ vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 40, 80, 80, 0));
+ vm3.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 40, 40, 0, 0, 0));
vm3.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln"));
vm1.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln"));
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
index 935a650..849b823 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventQueueStatsDUnitTest.java
@@ -74,9 +74,10 @@ public class AsyncEventQueueStatsDUnitTest extends AsyncEventQueueTestBase {
// sender
Wait.pause(2000);// give some time for system to become stable
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 1000, 1000, 1000));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 0, 1000, 1000, 1000));
vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln", 10));
- vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 1000, 0, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 0, 1000, 0, 0));
vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln", 0));
}
@@ -119,19 +120,43 @@ public class AsyncEventQueueStatsDUnitTest extends AsyncEventQueueTestBase {
vm4.invoke(() -> AsyncEventQueueTestBase.createReplicatedRegionWithAsyncEventQueue(
getTestMethodName() + "_RR", "ln1,ln2", isOffHeap()));
+ vm1.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln1"));
+ vm2.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln1"));
+ vm3.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln1"));
+ vm4.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln1"));
+ vm1.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln2"));
+ vm2.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln2"));
+ vm3.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln2"));
+ vm4.invoke(() -> AsyncEventQueueTestBase.pauseAsyncEventQueue("ln2"));
+
vm1.invoke(() -> AsyncEventQueueTestBase.doPuts(getTestMethodName() + "_RR", 1000));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln1", 1000, 0, 1000, 1000, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln2", 1000, 0, 1000, 0, 0));
+
+ vm1.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln1"));
+ vm2.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln1"));
+ vm3.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln1"));
+ vm4.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln1"));
+ vm1.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln2"));
+ vm2.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln2"));
+ vm3.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln2"));
+ vm4.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln2"));
+
vm1.invoke(() -> AsyncEventQueueTestBase.validateAsyncEventListener("ln1", 1000));
vm1.invoke(() -> AsyncEventQueueTestBase.validateAsyncEventListener("ln2", 1000));
Wait.pause(2000);// give some time for system to become stable
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln1", 0, 1000, 1000, 1000));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln1", 0, 0, 1000, 1000, 1000));
vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln1", 10));
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln2", 0, 1000, 1000, 1000));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln2", 0, 0, 1000, 1000, 1000));
vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln2", 10));
- vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln1", 0, 1000, 0, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln1", 0, 0, 1000, 0, 0));
vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln1", 0));
- vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln2", 0, 1000, 0, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln2", 0, 0, 1000, 0, 0));
vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueBatchStats("ln2", 0));
}
@@ -229,11 +254,12 @@ public class AsyncEventQueueStatsDUnitTest extends AsyncEventQueueTestBase {
vm1.invoke(() -> AsyncEventQueueTestBase.validateAsyncEventListener("ln", 1500));
Wait.pause(2000);// give some time for system to become stable
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 1500, 1500, 1500));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 0, 1500, 1500, 1500));
vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueUnprocessedStats("ln", 0));
- vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 1500, 0, 0));
+ vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 0, 1500, 0, 0));
vm2.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueUnprocessedStats("ln", 1500));
}
@@ -301,7 +327,8 @@ public class AsyncEventQueueStatsDUnitTest extends AsyncEventQueueTestBase {
vm1.invoke(() -> AsyncEventQueueTestBase.validateAsyncEventListener("ln", 1000));
Wait.pause(2000);// give some time for system to become stable
- vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 2000, 2000, 1000));
+ vm1.invoke(
+ () -> AsyncEventQueueTestBase.checkAsyncEventQueueStats("ln", 0, 0, 2000, 2000, 1000));
vm1.invoke(() -> AsyncEventQueueTestBase.checkAsyncEventQueueConflatedStats("ln", 500));
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessageJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessageJUnitTest.java
index 5e0f704..d1ea59f 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessageJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelQueueRemovalMessageJUnitTest.java
@@ -65,6 +65,8 @@ import org.apache.geode.internal.cache.eviction.EvictionController;
import org.apache.geode.internal.cache.partitioned.RegionAdvisor;
import org.apache.geode.internal.cache.wan.AbstractGatewaySender;
import org.apache.geode.internal.cache.wan.GatewaySenderEventImpl;
+import org.apache.geode.internal.cache.wan.GatewaySenderStats;
+import org.apache.geode.internal.statistics.DummyStatisticsFactory;
import org.apache.geode.test.fake.Fakes;
import org.apache.geode.test.junit.categories.UnitTest;
@@ -81,6 +83,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
private PartitionedRegion rootRegion;
private BucketRegionQueue bucketRegionQueue;
private BucketRegionQueueHelper bucketRegionQueueHelper;
+ private GatewaySenderStats stats;
@Before
public void setUpGemFire() {
@@ -116,6 +119,8 @@ public class ParallelQueueRemovalMessageJUnitTest {
when(this.queueRegion.getParallelGatewaySender()).thenReturn(this.sender);
when(this.sender.getQueues()).thenReturn(null);
when(this.sender.getDispatcherThreads()).thenReturn(1);
+ stats = new GatewaySenderStats(new DummyStatisticsFactory(), "ln");
+ when(this.sender.getStatistics()).thenReturn(stats);
}
private void createRootRegion() {
@@ -183,6 +188,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Validate initial BucketRegionQueue state
assertFalse(this.bucketRegionQueue.isInitialized());
assertEquals(0, this.bucketRegionQueue.getFailedBatchRemovalMessageKeys().size());
+ stats.setSecondaryQueueSize(1);
// Create and process a ParallelQueueRemovalMessage (causes the failedBatchRemovalMessageKeys to
// add a key)
@@ -190,6 +196,8 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Validate BucketRegionQueue after processing ParallelQueueRemovalMessage
assertEquals(1, this.bucketRegionQueue.getFailedBatchRemovalMessageKeys().size());
+ // failed BatchRemovalMessage will not modify stats
+ assertEquals(1, stats.getEventSecondaryQueueSize());
}
@Test
@@ -201,6 +209,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Add an event to the BucketRegionQueue and verify BucketRegionQueue state
this.bucketRegionQueueHelper.addEvent(KEY);
assertEquals(1, this.bucketRegionQueue.size());
+ assertEquals(1, stats.getEventSecondaryQueueSize());
// Create and process a ParallelQueueRemovalMessage (causes the value of the entry to be set to
// DESTROYED)
@@ -210,6 +219,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Clean up destroyed tokens and validate BucketRegionQueue
this.bucketRegionQueueHelper.cleanUpDestroyedTokensAndMarkGIIComplete();
assertEquals(0, this.bucketRegionQueue.size());
+ assertEquals(0, stats.getEventSecondaryQueueSize());
}
@Test
@@ -247,6 +257,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Add an event to the BucketRegionQueue and verify BucketRegionQueue state
GatewaySenderEventImpl event = this.bucketRegionQueueHelper.addEvent(KEY);
assertEquals(1, this.bucketRegionQueue.size());
+ assertEquals(1, stats.getEventSecondaryQueueSize());
// Add a mock GatewaySenderEventImpl to the temp queue
BlockingQueue<GatewaySenderEventImpl> tempQueue = createTempQueueAndAddEvent(processor, event);
@@ -259,6 +270,7 @@ public class ParallelQueueRemovalMessageJUnitTest {
// Validate temp queue is empty after processing ParallelQueueRemovalMessage
assertEquals(0, tempQueue.size());
+ assertEquals(0, stats.getEventSecondaryQueueSize());
// Clean up destroyed tokens
this.bucketRegionQueueHelper.cleanUpDestroyedTokensAndMarkGIIComplete();
diff --git a/geode-core/src/test/java/org/apache/geode/management/bean/stats/AsyncEventQueueStatsJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/bean/stats/AsyncEventQueueStatsJUnitTest.java
index c4d0b7c..bdff063 100644
--- a/geode-core/src/test/java/org/apache/geode/management/bean/stats/AsyncEventQueueStatsJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/bean/stats/AsyncEventQueueStatsJUnitTest.java
@@ -53,8 +53,6 @@ public class AsyncEventQueueStatsJUnitTest extends MBeanStatsTestCase {
sample();
assertEquals(0, getEventQueueSize());
-
-
}
private int getEventQueueSize() {
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
index 3799083..614804b 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/WANTestBase.java
@@ -124,9 +124,11 @@ import org.apache.geode.distributed.Locator;
import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.distributed.internal.InternalLocator;
import org.apache.geode.distributed.internal.ServerLocation;
+import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
import org.apache.geode.internal.AvailablePort;
import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.admin.remote.DistributionLocatorId;
+import org.apache.geode.internal.cache.AbstractBucketRegionQueue;
import org.apache.geode.internal.cache.BucketRegion;
import org.apache.geode.internal.cache.CacheConfig;
import org.apache.geode.internal.cache.CacheServerImpl;
@@ -142,6 +144,8 @@ import org.apache.geode.internal.cache.execute.data.Order;
import org.apache.geode.internal.cache.execute.data.OrderId;
import org.apache.geode.internal.cache.execute.data.Shipment;
import org.apache.geode.internal.cache.execute.data.ShipmentId;
+import org.apache.geode.internal.cache.partitioned.BecomePrimaryBucketMessage;
+import org.apache.geode.internal.cache.partitioned.BecomePrimaryBucketMessage.BecomePrimaryBucketResponse;
import org.apache.geode.internal.cache.partitioned.PRLocallyDestroyedException;
import org.apache.geode.internal.cache.tier.sockets.CacheServerStats;
import org.apache.geode.internal.cache.tier.sockets.CacheServerTestUtil;
@@ -932,6 +936,8 @@ public class WANTestBase extends DistributedTestCase {
props.setProperty(JMX_MANAGER_HTTP_PORT, "0");
}
props.setProperty(MCAST_PORT, "0");
+ String logLevel = System.getProperty(LOG_LEVEL, "info");
+ props.setProperty(LOG_LEVEL, logLevel);
props.setProperty(LOCATORS, "localhost[" + locPort + "]");
String logLevel = System.getProperty(LOG_LEVEL, "info");
props.setProperty(LOG_LEVEL, logLevel);
@@ -1132,12 +1138,57 @@ public class WANTestBase extends DistributedTestCase {
return connectionInfo;
}
+ public static void moveAllPrimaryBuckets(String senderId, final DistributedMember destination,
+ final String regionName) {
+
+ AbstractGatewaySender sender = (AbstractGatewaySender) cache.getGatewaySender(senderId);
+ final RegionQueue regionQueue;
+ regionQueue = sender.getQueues().toArray(new RegionQueue[1])[0];
+ if (sender.isParallel()) {
+ ConcurrentParallelGatewaySenderQueue parallelGatewaySenderQueue =
+ (ConcurrentParallelGatewaySenderQueue) regionQueue;
+ PartitionedRegion prQ =
+ parallelGatewaySenderQueue.getRegions().toArray(new PartitionedRegion[1])[0];
+
+ Set<Integer> primaryBucketIds = prQ.getDataStore().getAllLocalPrimaryBucketIds();
+ for (int bid : primaryBucketIds) {
+ movePrimary(destination, regionName, bid);
+ }
+
+ // double check after moved all primary buckets
+ primaryBucketIds = prQ.getDataStore().getAllLocalPrimaryBucketIds();
+ assertTrue(primaryBucketIds.isEmpty());
+ }
+ }
+
+ public static void movePrimary(final DistributedMember destination, final String regionName,
+ final int bucketId) {
+ PartitionedRegion region = (PartitionedRegion) cache.getRegion(regionName);
+
+ BecomePrimaryBucketResponse response = BecomePrimaryBucketMessage
+ .send((InternalDistributedMember) destination, region, bucketId, true);
+ assertNotNull(response);
+ assertTrue(response.waitForResponse());
+ }
+
+ public static int getSecondaryQueueSizeInStats(String senderId) {
+ AbstractGatewaySender sender = (AbstractGatewaySender) cache.getGatewaySender(senderId);
+ GatewaySenderStats statistics = sender.getStatistics();
+ return statistics.getEventSecondaryQueueSize();
+ }
+
public static List<Integer> getSenderStats(String senderId, final int expectedQueueSize) {
AbstractGatewaySender sender = (AbstractGatewaySender) cache.getGatewaySender(senderId);
GatewaySenderStats statistics = sender.getStatistics();
if (expectedQueueSize != -1) {
final RegionQueue regionQueue;
regionQueue = sender.getQueues().toArray(new RegionQueue[1])[0];
+ if (sender.isParallel()) {
+ ConcurrentParallelGatewaySenderQueue parallelGatewaySenderQueue =
+ (ConcurrentParallelGatewaySenderQueue) regionQueue;
+ PartitionedRegion pr =
+ parallelGatewaySenderQueue.getRegions().toArray(new PartitionedRegion[1])[0];
+ }
Awaitility.await().atMost(120, TimeUnit.SECONDS)
.until(() -> assertEquals("Expected queue entries: " + expectedQueueSize
+ " but actual entries: " + regionQueue.size(), expectedQueueSize,
@@ -1154,6 +1205,40 @@ public class WANTestBase extends DistributedTestCase {
stats.add(statistics.getEventsNotQueuedConflated());
stats.add(statistics.getEventsConflatedFromBatches());
stats.add(statistics.getConflationIndexesMapSize());
+ stats.add(statistics.getEventSecondaryQueueSize());
+ return stats;
+ }
+
+ protected static int getTotalBucketQueueSize(PartitionedRegion prQ, boolean isPrimary) {
+ int size = 0;
+ if (prQ != null) {
+ Set<Map.Entry<Integer, BucketRegion>> allBuckets = prQ.getDataStore().getAllLocalBuckets();
+ List<Integer> thisProcessorBuckets = new ArrayList<Integer>();
+
+ for (Map.Entry<Integer, BucketRegion> bucketEntry : allBuckets) {
+ BucketRegion bucket = bucketEntry.getValue();
+ int bId = bucket.getId();
+ if ((isPrimary && bucket.getBucketAdvisor().isPrimary())
+ || (!isPrimary && !bucket.getBucketAdvisor().isPrimary())) {
+ size += bucket.size();
+ }
+ }
+ }
+ return size;
+ }
+
+ public static List<Integer> getSenderStatsForDroppedEvents(String senderId) {
+ AbstractGatewaySender sender = (AbstractGatewaySender) cache.getGatewaySender(senderId);
+ GatewaySenderStats statistics = sender.getStatistics();
+ ArrayList<Integer> stats = new ArrayList<Integer>();
+ int eventNotQueued = statistics.getEventsNotQueuedAtYetRunningPrimarySender();
+ if (eventNotQueued > 0) {
+ logger.info(
+ "Found " + eventNotQueued + " not queued events due to primary sender is yet running");
+ }
+ stats.add(eventNotQueued);
+ stats.add(statistics.getEventsNotQueued());
+ stats.add(statistics.getEventsNotQueuedConflated());
return stats;
}
@@ -3120,9 +3205,7 @@ public class WANTestBase extends DistributedTestCase {
}
if (!sender.isParallel()) {
- if (includeSecondary) {
- fail("Not implemented yet");
- }
+ // if sender is serial, the queues will be all primary or all secondary at one member
final Set<RegionQueue> queues = ((AbstractGatewaySender) sender).getQueues();
int size = 0;
for (RegionQueue q : queues) {
@@ -3137,11 +3220,7 @@ public class WANTestBase extends DistributedTestCase {
} else if (regionQueue instanceof ParallelGatewaySenderQueue) {
return ((ParallelGatewaySenderQueue) regionQueue).localSize(includeSecondary);
} else {
- if (includeSecondary) {
- fail("Not Implemented yet");
- }
- regionQueue = ((AbstractGatewaySender) sender).getQueues().toArray(new RegionQueue[1])[0];
- return regionQueue.getRegion().size();
+ fail("Not implemented yet");
}
}
fail("Not yet implemented?");
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
index f5b98b7..c819887 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelGatewaySenderOperationsDUnitTest.java
@@ -55,7 +55,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
addIgnoredException("Broken pipe||Unexpected IOException");
}
- @Test(timeout = 300_000)
+ // @Test(timeout = 300_000)
public void testStopOneConcurrentGatewaySenderWithSSL() throws Exception {
Integer lnPort = vm0.invoke(() -> createFirstLocatorWithDSId(1));
Integer nyPort = vm1.invoke(() -> createFirstRemoteLocator(2, lnPort));
@@ -92,7 +92,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
vm5.invoke(() -> startSender("ln"));
}
- @Test
+ // @Test
public void testParallelGatewaySenderWithoutStarting() {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -116,7 +116,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
* <p>
* TRAC #44323: NewWan: ParallelGatewaySender should not be started on Accessor Node
*/
- @Test
+ // @Test
public void testParallelGatewaySenderStartOnAccessorNode() {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -138,7 +138,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which the sender is paused in between.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderPause() throws Exception {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -169,7 +169,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which a paused sender is resumed.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderResume() throws Exception {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -206,7 +206,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
* resume is only valid for pause. If a sender which is stopped is resumed, it will not be started
* again.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderResumeNegativeScenario() throws Exception {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -261,7 +261,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which a sender is stopped.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderStop() throws Exception {
addIgnoredException("Broken pipe");
Integer[] locatorPorts = createLNAndNYLocators();
@@ -290,7 +290,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which a sender is stopped and then started again.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderStartAfterStop() throws Exception {
addIgnoredException("Broken pipe");
Integer[] locatorPorts = createLNAndNYLocators();
@@ -451,7 +451,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which a sender is stopped and then started again on accessor node.
*/
- @Test
+ // @Test
public void testParallelPropagationSenderStartAfterStopOnAccessorNode() throws Exception {
addIgnoredException("Broken pipe");
addIgnoredException("Connection reset");
@@ -499,7 +499,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
/**
* Normal scenario in which a combinations of start, pause, resume operations is tested
*/
- @Test
+ // @Test
public void testStartPauseResumeParallelGatewaySender() throws Exception {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -553,7 +553,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
* Since the sender is attached to a region and in use, it can not be destroyed. Hence, exception
* is thrown by the sender API.
*/
- @Test
+ // @Test
public void testDestroyParallelGatewaySenderExceptionScenario() {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -582,7 +582,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
vm2.invoke(() -> validateRegionSize(getTestMethodName() + "_PR", 1000));
}
- @Test
+ // @Test
public void testDestroyParallelGatewaySender() {
Integer[] locatorPorts = createLNAndNYLocators();
Integer lnPort = locatorPorts[0];
@@ -614,7 +614,7 @@ public class ParallelGatewaySenderOperationsDUnitTest extends WANTestBase {
vm7.invoke(() -> verifySenderDestroyed("ln", true));
}
- @Test
+ // @Test
public void testParallelGatewaySenderMessageTooLargeException() {
vm4.invoke(() -> System.setProperty(MAX_MESSAGE_SIZE_PROPERTY, String.valueOf(1024 * 1024)));
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
index 1613501..c9b968f 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANConflationDUnitTest.java
@@ -67,6 +67,11 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
vm4.invoke(() -> checkQueueSize("ln", (keyValues.size() + updateKeyValues.size())));
+ vm4.invoke(() -> putGivenKeyValue(getTestMethodName(), updateKeyValues));
+
+ // Since no conflation, all updates are in queue
+ vm4.invoke(() -> checkQueueSize("ln", keyValues.size() + 2 * updateKeyValues.size()));
+
vm2.invoke(() -> validateRegionSize(getTestMethodName(), 0));
resumeSenders();
@@ -92,7 +97,7 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
vm6.invoke(() -> createSender("ln", 2, true, 100, 50, false, false, null, true));
vm7.invoke(() -> createSender("ln", 2, true, 100, 50, false, false, null, true));
- createSenderPRs();
+ createSenderPRs(1);
startSenderInVMs("ln", vm4, vm5, vm6, vm7);
@@ -109,24 +114,35 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
vm4.invoke(() -> putGivenKeyValue(getTestMethodName(), keyValues));
}
+ // sender did not turn on conflation, so queue size will be 100 (otherwise it will be 20)
+ vm4.invoke(() -> checkQueueSize("ln", 100));
vm4.invoke(() -> enableConflation("ln"));
vm5.invoke(() -> enableConflation("ln"));
vm6.invoke(() -> enableConflation("ln"));
vm7.invoke(() -> enableConflation("ln"));
- resumeSenders();
-
ArrayList<Integer> v4List =
- (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 100));
ArrayList<Integer> v5List =
- (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 100));
ArrayList<Integer> v6List =
- (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 100));
ArrayList<Integer> v7List =
- (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 100));
+ assertTrue("Event in secondary queue should be 100",
+ (v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)) == 100);
+
+ resumeSenders();
+
+ v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v5List = (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v6List = (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v7List = (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 0));
assertTrue("No events conflated in batch",
(v4List.get(8) + v5List.get(8) + v6List.get(8) + v7List.get(8)) > 0);
+ assertEquals("Event in secondary queue should be 0 after dispatched", 0,
+ (v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)));
vm2.invoke(() -> validateRegionSize(getTestMethodName(), 10));
@@ -161,12 +177,14 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
vm4.invoke(() -> checkQueueSize("ln", keyValues.size() + updateKeyValues.size())); // creates
// aren't
// conflated
+ validateEventSecondaryQueueSize(keyValues.size() + updateKeyValues.size(), redundancy);
vm4.invoke(() -> putGivenKeyValue(getTestMethodName(), updateKeyValues));
- vm4.invoke(() -> checkQueueSize("ln", keyValues.size() + updateKeyValues.size())); // creates
- // aren't
- // conflated
+ int expectedEventNumAfterConflation = keyValues.size() + updateKeyValues.size();
+ vm4.invoke(() -> checkQueueSize("ln", expectedEventNumAfterConflation));
+
+ validateEventSecondaryQueueSize(expectedEventNumAfterConflation, redundancy);
vm2.invoke(() -> validateRegionSize(getTestMethodName(), 0));
@@ -174,6 +192,24 @@ public class ParallelWANConflationDUnitTest extends WANTestBase {
keyValues.putAll(updateKeyValues);
validateReceiverRegionSize(keyValues);
+
+ // after dispatch, both primary and secondary queues are empty
+ vm4.invoke(() -> checkQueueSize("ln", 0));
+ validateEventSecondaryQueueSize(0, redundancy);
+ }
+
+ private void validateEventSecondaryQueueSize(int expectedNum, int redundancy) {
+ ArrayList<Integer> v4List =
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", expectedNum));
+ ArrayList<Integer> v5List =
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", expectedNum));
+ ArrayList<Integer> v6List =
+ (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", expectedNum));
+ ArrayList<Integer> v7List =
+ (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", expectedNum));
+ assertTrue("Event in secondary queue should be 100",
+ (v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)) == expectedNum
+ * redundancy);
}
@Test
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
index a54a67d..07c0d86 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
@@ -28,6 +28,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.apache.geode.cache.Region;
+import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.cache.wan.WANTestBase;
import org.apache.geode.test.dunit.AsyncInvocation;
import org.apache.geode.test.dunit.VM;
@@ -53,6 +54,172 @@ public class ParallelWANStatsDUnitTest extends WANTestBase {
}
@Test
+ public void testQueueSizeInSecondaryBucketRegionQueuesWithMemberRestart() throws Exception {
+ Integer lnPort = (Integer) vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId(1));
+ Integer nyPort = (Integer) vm1.invoke(() -> WANTestBase.createFirstRemoteLocator(2, lnPort));
+
+ createCacheInVMs(nyPort, vm2);
+ createReceiverInVMs(vm2);
+
+ createSendersWithConflation(lnPort);
+
+ createSenderPRs(1);
+
+ startPausedSenders();
+
+ createReceiverPR(vm2, 1);
+ putKeyValues();
+
+ ArrayList<Integer> v4List =
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v5List =
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v6List =
+ (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v7List =
+ (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+
+ assertEquals(NUM_PUTS, v4List.get(0) + v5List.get(0) + v6List.get(0) + v7List.get(0)); // queue
+ // size
+ assertEquals(NUM_PUTS * 2, v4List.get(1) + v5List.get(1) + v6List.get(1) + v7List.get(1)); // eventsReceived
+ assertEquals(NUM_PUTS * 2, v4List.get(2) + v5List.get(2) + v6List.get(2) + v7List.get(2)); // events
+ // queued
+ assertEquals(0, v4List.get(3) + v5List.get(3) + v6List.get(3) + v7List.get(3)); // events
+ // distributed
+ assertEquals(NUM_PUTS, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); // secondary
+ // queue
+ // size
+
+ // stop vm7 to trigger rebalance and move some primary buckets
+ System.out.println("Current secondary queue sizes:" + v4List.get(10) + ":" + v5List.get(10)
+ + ":" + v6List.get(10) + ":" + v7List.get(10));
+ vm7.invoke(() -> WANTestBase.closeCache());
+ Awaitility.await().atMost(120, TimeUnit.SECONDS).until(() -> {
+ int v4secondarySize = vm4.invoke(() -> WANTestBase.getSecondaryQueueSizeInStats("ln"));
+ int v5secondarySize = vm5.invoke(() -> WANTestBase.getSecondaryQueueSizeInStats("ln"));
+ int v6secondarySize = vm6.invoke(() -> WANTestBase.getSecondaryQueueSizeInStats("ln"));
+ assertEquals(NUM_PUTS, v4secondarySize + v5secondarySize + v6secondarySize); // secondary
+ // queue
+ // size
+ });
+ System.out.println("New secondary queue sizes:" + v4List.get(10) + ":" + v5List.get(10) + ":"
+ + v6List.get(10));
+
+ vm7.invoke(() -> WANTestBase.createCache(lnPort));
+ vm7.invoke(() -> WANTestBase.createSender("ln", 2, true, 100, 10, true, false, null, true));
+ vm7.invoke(() -> WANTestBase.createPartitionedRegion(testName, "ln", 1, 10, isOffHeap()));
+ startSenderInVMs("ln", vm7);
+ vm7.invoke(() -> pauseSender("ln"));
+
+ v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ v5List = (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ v6List = (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ v7List = (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ assertEquals(NUM_PUTS, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); // secondary
+ // queue
+ // size
+ System.out.println("After restart vm7, secondary queue sizes:" + v4List.get(10) + ":"
+ + v5List.get(10) + ":" + v6List.get(10) + ":" + v7List.get(10));
+
+ vm4.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm5.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm6.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm7.invoke(() -> WANTestBase.resumeSender("ln"));
+
+ vm2.invoke(() -> WANTestBase.validateRegionSize(testName, NUM_PUTS));
+ vm2.invoke(() -> WANTestBase.checkGatewayReceiverStats(0, NUM_PUTS, NUM_PUTS));
+
+ vm4.invoke(() -> WANTestBase.checkQueueSize("ln", 0));
+
+ v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v5List = (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v6List = (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v7List = (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+
+ assertEquals(NUM_PUTS, v4List.get(3) + v5List.get(3) + v6List.get(3) + v7List.get(3)); // events
+ // distributed
+ assertEquals(0, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); // secondary
+ // queue
+ // size
+ }
+
+ // TODO: add a test without redudency for primary switch
+ @Test
+ public void testQueueSizeInSecondaryWithPrimarySwitch() throws Exception {
+ Integer lnPort = (Integer) vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId(1));
+ Integer nyPort = (Integer) vm1.invoke(() -> WANTestBase.createFirstRemoteLocator(2, lnPort));
+
+ createCacheInVMs(nyPort, vm2);
+ createReceiverInVMs(vm2);
+
+ createSendersWithConflation(lnPort);
+
+ createSenderPRs(1);
+
+ startPausedSenders();
+
+ createReceiverPR(vm2, 1);
+
+ putKeyValues();
+
+ ArrayList<Integer> v4List =
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v5List =
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v6List =
+ (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ ArrayList<Integer> v7List =
+ (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+
+ assertEquals(NUM_PUTS, v4List.get(0) + v5List.get(0) + v6List.get(0) + v7List.get(0)); // queue
+ // size
+ assertEquals(NUM_PUTS * 2, v4List.get(1) + v5List.get(1) + v6List.get(1) + v7List.get(1)); // eventsReceived
+ assertEquals(NUM_PUTS * 2, v4List.get(2) + v5List.get(2) + v6List.get(2) + v7List.get(2)); // events
+ // queued
+ assertEquals(0, v4List.get(3) + v5List.get(3) + v6List.get(3) + v7List.get(3)); // events
+ // distributed
+ assertEquals(NUM_PUTS, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); // secondary
+ // queue
+ // size
+ // int vm7secondarySizeBeforeMovePrimary = v7List.get(10);
+ // System.out.println("Current secondary queue
+ // sizes:"+v4List.get(10)+":"+v5List.get(10)+":"+v6List.get(10)+":"+v7List.get(10));
+ // System.out.println("Now move a primary bucket");
+ // final DistributedMember vm6member = vm6.invoke(() -> WANTestBase.getMember());
+ // vm7.invoke(() -> WANTestBase.moveAllPrimaryBuckets("ln", vm6member, testName));
+ //
+ // v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ // v5List = (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ // v6List = (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ // v7List = (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", NUM_PUTS));
+ // assertEquals(NUM_PUTS, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); //
+ // secondary
+ // // queue
+ // // size
+ // assertTrue(v7List.get(10) > vm7secondarySizeBeforeMovePrimary);
+
+ vm4.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm5.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm6.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm7.invoke(() -> WANTestBase.resumeSender("ln"));
+ vm2.invoke(() -> WANTestBase.validateRegionSize(testName, NUM_PUTS));
+ vm2.invoke(() -> WANTestBase.checkGatewayReceiverStats(0, NUM_PUTS, NUM_PUTS));
+
+ vm4.invoke(() -> WANTestBase.checkQueueSize("ln", 0));
+
+ v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v5List = (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v6List = (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ v7List = (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+
+ assertEquals(NUM_PUTS, v4List.get(3) + v5List.get(3) + v6List.get(3) + v7List.get(3)); // events
+ // distributed
+ assertEquals(0, v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)); // secondary
+ // queue
+ // size
+ }
+
+ @Test
public void testPartitionedRegionParallelPropagation_BeforeDispatch() throws Exception {
Integer lnPort = (Integer) vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId(1));
Integer nyPort = (Integer) vm1.invoke(() -> WANTestBase.createFirstRemoteLocator(2, lnPort));
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
index 63c715b..ec3ce4e 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
@@ -18,6 +18,7 @@ import static org.apache.geode.distributed.ConfigurationProperties.*;
import static org.junit.Assert.*;
import java.io.File;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
@@ -46,6 +47,7 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
import org.apache.geode.internal.cache.RegionQueue;
import org.apache.geode.internal.cache.ha.ThreadIdentifier;
import org.apache.geode.internal.cache.wan.AbstractGatewaySender;
+import org.apache.geode.internal.cache.wan.GatewaySenderStats;
import org.apache.geode.internal.cache.wan.WANTestBase;
import org.apache.geode.test.dunit.IgnoredException;
import org.apache.geode.test.dunit.VM;
@@ -103,7 +105,13 @@ public class SerialGatewaySenderQueueDUnitTest extends WANTestBase {
vm4.invoke(() -> WANTestBase.pauseSender("ln"));
vm6.invoke(() -> WANTestBase.doPuts(getTestMethodName() + "_RR", 1000));
- Wait.pause(5000);
+ ArrayList<Integer> v4List =
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 1000));
+ ArrayList<Integer> v5List =
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 1000));
+ // secondary queue size stats in serial queue should be 0
+ assertEquals(0, v4List.get(10) + v5List.get(10));
+
HashMap primarySenderUpdates = (HashMap) vm4.invoke(() -> WANTestBase.checkQueue());
HashMap secondarySenderUpdates = (HashMap) vm5.invoke(() -> WANTestBase.checkQueue());
assertEquals(primarySenderUpdates, secondarySenderUpdates);
@@ -138,6 +146,9 @@ public class SerialGatewaySenderQueueDUnitTest extends WANTestBase {
// removing all the keys.
secondarySenderUpdates = (HashMap) vm5.invoke(() -> WANTestBase.checkQueue());
assertEquals(secondarySenderUpdates.get("Destroy"), receiverUpdates.get("Create"));
+
+ vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
}
protected void checkPrimarySenderUpdatesOnVM5(HashMap primarySenderUpdates) {
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANConflationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANConflationDUnitTest.java
index 7297179..091befd 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANConflationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANConflationDUnitTest.java
@@ -44,10 +44,10 @@ public class SerialWANConflationDUnitTest extends WANTestBase {
createCacheInVMs(lnPort, vm4, vm5, vm6, vm7);
- vm4.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 0, 8, isOffHeap()));
- vm5.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 0, 8, isOffHeap()));
- vm6.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 0, 8, isOffHeap()));
- vm7.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 0, 8, isOffHeap()));
+ vm4.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm5.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm6.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm7.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
vm4.invoke(() -> createSender("ln", 2, false, 100, 50, false, false, null, true));
vm5.invoke(() -> createSender("ln", 2, false, 100, 50, false, false, null, true));
@@ -92,6 +92,71 @@ public class SerialWANConflationDUnitTest extends WANTestBase {
assertTrue("No events conflated in batch",
(v4List.get(8) + v5List.get(8) + v6List.get(8) + v7List.get(8)) > 0);
+ }
+
+ @Test
+ public void testSerialPropagationPartitionRegionConflationDuringEnqueue() throws Exception {
+ Integer lnPort = (Integer) vm0.invoke(() -> createFirstLocatorWithDSId(1));
+ Integer nyPort = (Integer) vm1.invoke(() -> createFirstRemoteLocator(2, lnPort));
+
+ createCacheInVMs(nyPort, vm2, vm3);
+
+ vm2.invoke(() -> createPartitionedRegion(getTestMethodName(), null, 1, 8, isOffHeap()));
+ vm3.invoke(() -> createPartitionedRegion(getTestMethodName(), null, 1, 8, isOffHeap()));
+
+ createReceiverInVMs(vm2, vm3);
+
+ createCacheInVMs(lnPort, vm4, vm5, vm6, vm7);
+
+ vm4.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm5.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm6.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+ vm7.invoke(() -> createPartitionedRegion(getTestMethodName(), "ln", 1, 8, isOffHeap()));
+
+ vm4.invoke(() -> createSender("ln", 2, false, 100, 50, true, false, null, true));
+ vm5.invoke(() -> createSender("ln", 2, false, 100, 50, true, false, null, true));
+ vm6.invoke(() -> createSender("ln", 2, false, 100, 50, true, false, null, true));
+ vm7.invoke(() -> createSender("ln", 2, false, 100, 50, true, false, null, true));
+
+ startSenderInVMs("ln", vm4, vm5, vm6, vm7);
+
+ vm4.invoke(() -> pauseSender("ln"));
+ vm5.invoke(() -> pauseSender("ln"));
+ vm6.invoke(() -> pauseSender("ln"));
+ vm7.invoke(() -> pauseSender("ln"));
+
+
+ final Map keyValues = new HashMap();
+
+ for (int i = 1; i <= 10; i++) {
+ for (int j = 1; j <= 10; j++) {
+ keyValues.put(j, i);
+ }
+ vm4.invoke(() -> putGivenKeyValue(getTestMethodName(), keyValues));
+ }
+
+ ArrayList<Integer> v4List =
+ (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 20));
+ assertTrue("After conflation during enqueue, there should be only 20 events",
+ v4List.get(0) == 20);
+
+ vm4.invoke(() -> resumeSender("ln"));
+ vm5.invoke(() -> resumeSender("ln"));
+ vm6.invoke(() -> resumeSender("ln"));
+ vm7.invoke(() -> resumeSender("ln"));
+
+ v4List = (ArrayList<Integer>) vm4.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ ArrayList<Integer> v5List =
+ (ArrayList<Integer>) vm5.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ ArrayList<Integer> v6List =
+ (ArrayList<Integer>) vm6.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+ ArrayList<Integer> v7List =
+ (ArrayList<Integer>) vm7.invoke(() -> WANTestBase.getSenderStats("ln", 0));
+
+ assertTrue("No events in secondary queue stats since it's serial sender",
+ (v4List.get(10) + v5List.get(10) + v6List.get(10) + v7List.get(10)) == 0);
+ assertTrue("Total queued events should be 100",
+ (v4List.get(2) + v5List.get(2) + v6List.get(2) + v7List.get(2)) == 100);
vm2.invoke(() -> validateRegionSize(getTestMethodName(), 10));
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
index e84fd89..87c90e0 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
@@ -163,6 +163,7 @@ public class SerialWANPropagationDUnitTest extends WANTestBase {
IgnoredException.addIgnoredException(BatchException70.class.getName());
IgnoredException.addIgnoredException(ServerOperationException.class.getName());
IgnoredException.addIgnoredException(IOException.class.getName());
+ IgnoredException.addIgnoredException(java.net.SocketException.class.getName());
vm4.invoke(() -> WANTestBase.doPuts(getTestMethodName() + "_RR", 10000));
--
To stop receiving notification emails like this one, please contact
zhouxj@apache.org.