You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/11/17 20:53:05 UTC
[geode] branch feature/GEODE-3781 updated (f40cef0 -> 69337aa)
This is an automated email from the ASF dual-hosted git repository.
klund pushed a change to branch feature/GEODE-3781
in repository https://gitbox.apache.org/repos/asf/geode.git.
discard f40cef0 Fix spotless format
discard b85f756 Move geode-connectors further up
discard 7fd92d5 Refactor long methods and add types
discard ab71e44 Add missing test
discard 24096e7 Fix formatting on copyright messages
discard 88ab7b2 Rename classes and cleanup packages
discard 76abaff Wired jdbc loaders and writers to the connector service and cleaned up tests
discard b4d203c Added xml parsing and generation for jdbc connector service
discard 1680078 Renaming and code cleanup
discard defb7e1 Refactor JDBCManager and its tests
discard c5325c1 Rearchitect JDBC connector for easier testing Add new system for handling configuration Expand test coverage for connector
discard 002f656 simplify jdbc configuration
discard 32b11ec implemented 'fieldToColumn' option. Renamed jdbcRegionSeparator to jdbcSeparator.
discard a97c762 implemented regionToTable configuration property.
discard 5d4e14c use Function.
discard faa974e added isKeyPartOfValue configuration property. make the jdbc region separator configurable.
discard 5ef3139 added valueClassName config property
discard 66339f4 removed Driver property
discard b52be2d added close
discard 44be3fa added JDBCSynchronousWriter and integration test Also added code to force a PdxInstance and tests to validate what happens if the value can not be converted to pdx.
discard f20c3a6 added comment
discard 2b22fd8 removed some whitespace
discard 0b07793 Added JDBCLoader and integration test
discard 5983660 moved stuff to internal package
discard 42a9928 added read method for loader
discard 722c54f removed some unneeded test code
discard 0a37762 renamed test
discard 37158a5 added user and password properties
discard 62c9803 test no longer configures cache to not deserialize pdx
discard 9094ced code coverage tests
discard 0d77029 added upsert tests
discard 9f292f0 cleaned up imports
discard 6f7e1fb tests that invalidate is unsupported
discard 2bb4416 added test for bad driver
discard 7dc90f9 more mocking
discard 83566d4 minor cleanup
discard c7d6986 renamed k to tableName
discard 72fa66f spotless
discard 796e81d added sync on event counts
discard ad0873f more geode-connectors project stuff for gradle
discard 6c6ea56 started unit test for JDBCManager
discard e23aa67 Made prepared statment cache thread safe. Now each thread has its own prepared statement cache.
discard fdbfb14 Added prepared statement cache Debug logging added that should be cleaned up later
discard 77f119d Extracted ColumnValue class.
discard c80d024 Added support for upsert operation.
discard 9e8fbf6 Added test validation to compare with table contents
discard c9b89a2 Support for getting key column info from database.
discard ba2ad22 implemented get primary key
discard 8871ff9 id column is now primary
discard 0b6e410 test now validates insert, update, and destroy
discard 51dcaf0 unit test now does actual inserts
discard 007baf9 Added getConnection().
discard d941196 spotless
discard eae6c07 implemented getConnection
discard 7c70ae3 Added implementation for building the pdx field table column mapping.
discard ad900a1 spotless
discard efcbd7d added prepareStatementCache
discard 0ff46e6 more getColumnToValueList work
discard 30d8f82 rat and spotless
discard 52d5053 made ColumnValue a class
discard 624ddd9 Add JDBCManager class with implementation to build an insert query string. Also did spotless formatting.
discard 5348bed Added JDBCConfiguration class and test
discard 238ed94 Added successfulEvent counter. Made changes in the test to validate successfulEvents.
discard 6fe8b52 whitespace cleanup
discard f312f30 Initial project setup for jdbc-connector. Added basic source and test implementation for JDBCAsyncWriter.
add 472b96c GEODE-3719: Improve invocations of disk store backups (#853)
add 7e1d029 GEODE-3859: Simplify API for reading output from a GfshScript
add ff6bfd9 GEODE-3830: Add more logging for GfshRule
add dc9acd2 GEODE-3345: Refactor ClusterConfigurationDUnitTest to use test rules
add 2cb5fed GEODE-3810: Incremented test timestamp by 1 in case it is the same as the previous event
add 378a1de GEODE-3521: Correct a javadoc issue.
add 65f6c6c GEODE-1772: Removal of flaky tag.
add b92f295 GEODE-3870: regenerate Region Entry classes from Linux
add 70d428f GEODE-3871 allow exclusion of serializable classes in AnalyzeSerializablesJUnitTest
add caf71d8 GEODE-3882: ClusterConfiguration to support GatewayReceiver hostnameForSenders
add c61d002 GEODE-3245: Flattening LuceneSerializer should support PDX values (#965)
add 0e21c08 GEODE-1897: refactor GfshParseResult for easy access of converted opt… (#961)
add c092bc6 GEODE-3885: Fix backup from AdminDistributedSystem (#964)
add d0fcdfc GEODE-1319: Awaitility clause added.
add e358943 GEODE-1036: Refactored InitializeIndexEntryDestroyQueryDUnitTest
add bbb097a GEODE-3520: Additional tests for corrupt index
add da45b65 User Guide: Data Storage corrections
add 7c344c0 Merge branch 'feature/disk-store-doc' into develop
add 0259f77 GEODE-3764: prevent early idle expiration (#940)
add ab09388 GEODE-3861: Marking test as Flaky
add 7a7c2ef GEODE-1897: Initial refactor of CreateRegionCommand (#956)
add 6a4e50e GEODE-3801: Use hardlinks for backup oplog files (#963)
add 547f0cb GEODE-3815: Changed to remove the conflation index only if its for the same event
add 44e8432 GEODE-3705: Refactor code to process authentication message as per normal message framework
add 648d172 Feature/geode 3897 (#968)
add f775a8f GEODE-3880: Fix typo in Javadoc (#960)
add dae5406 GEODE-3705: Reverting changes made to AcceptorImpl.java
add 8ff23e0 GEODE-3870: move region entry classes to new entries package (#972)
add 0ccf9fa GEODE-3299: throw CacheClosedException in FunctionContext.getCache() (#975)
add 21d2e40 GEODE-3903: Splitting of client protocol code from protobuf implementation
add 5bd8fcf GEODE-3903: Moved serialization package to under protocol.serialization moved META-INF services from protobuf to client-protocol
add aad405a GEODE-3903: added geode-client-protocol to geode-assembly
add 4e8ee72 GEODE-3843 gfsh shutdown error message suggests non-existent option
add c36bbb0 GEODE-3843 gfsh shutdown error message suggests non-existent option
add 4fd5bdb GEODE-3903: Added geode-client-protocol module to geode-dependencies.jar
add fd059e0 GEODE-3908: Fixed the javadoc issue with LuceneSerializer.java
add 5ca7659 GEODE-3910: Simplify MemberVM - remove generic type (#981)
add 4193787 GEODE-3539: add tests for GetCommand and PutCommand (#966)
add e004309 GEODE-3896: Remove Experimental tag from LuceneSerializer (#970)
add 9a30e8a GEODE-3914: Allow gfsh test rules to use more than 4 VMs (#982)
add 01877ec GEODE-3909: Use varargs for Query.execute
add a3e5c67 User Guide: Typo correction in Cluster Configuration example
add 348ab5b GEODE-3913 Allow the SerializableCallables of the same transaction can be run by different threads.
add 36655bc GEODE-3902: Wait for all async invoked commands to complete (#986)
add f04227f GEODE-3901: Shut gfsh down cleanly so as not to produce suspect messages in the log (#988)
add 529f6c5 GEODE-3872: Consolidate GfshShellConnectionRule Assertions
add 255f056 GEODE-3899: add expected exception for possible race condition (#990)
add e630cd3 GEODE-3190: Fix a race by checking if region is destroyed (#984)
add 95bc7b6 Removed SNAPSHOT from releaseType
add 9e07673 Fixing gradle script to: - have the correct name for signing the distribution - disable uploading iof the geode-modules.
add 59f2a73 GEODE-3859: Simplify API for reading output from a GfshScript
add cef1d79 Merge branch 'release/1.3.0' into develop
add e8196df GEODE-3902: Correct region used by test (#993)
add 147552e Add instructions for pushing "latest" docker image
add 3b70ee6 Updating Dockerfile - for release 1.3.0 - removing references to incubating
add 6a31190 GEODE-3861: Mark ClientHealthMonistorSelectorJUnitTest as flaky.
add 4e5833b GEODE-1897: Add eviction option to create region (#969)
add fd907a0 GEODE-3919: Changed test to wait for the appropriate queue size since conflation is async
add 19e5f8c GEODE-3539: Consolidate CliUtil and DataCommandUtils, DataCommandsUtil (#992)
add be27e6d Restored SNAPSHOT releaseType
add 5055d01 GEODE-3872: Remove executeAndVerify method
add d0a2c3d GEODE-3338 Refactor WAN command tests to use new Rules
add 0e7b373 GEODE-3894: Create HandshakeRequest
add ba40a7f GEODE-3933: remove tests from the test suite and run them individually with parameters to avoid test contamination. (#996)
add 93a6d81 User Guide: fixed typo in a gfsh command option (start locator —load-cluster configuration-from-dir)
add 721a7e9 User Guide: fixed typo in the cluster config section
add cd6fa12 User Guide: fixed language and command examples in the cluster config deployment section
add 8f3d052 User Guide: Corrections to the cluster config deployment section
add ec6820a GEODE-3778: mark tests flaky (#1004)
add a9a444f GEODE-3936: remove ThreadUtil (#998)
add 891274c Add files necessary for Concourse CI infrastructure. (#1006)
add b5603c1 Fix up branches. GEODE-3942 (#1008)
add 2c30b7e GEODE-3637: Moved client queue initialization into the ServerConnection.java Added test to confirm asynchronous client queue creation
add 8876dd5 GEODE-3637: Amended AcceptorImpl.java to use a Connection pool that provides stats
add a733b39 GEODE-3895: Add Handshake/Message version byte (#1001)
add 0b636c2 Fix version number in email subject.
add 235790c GEODE-3895: fixup: Add exceptions to excludedClasses.txt
add a8e1fab GEODE-3941: Pulse issues when SecurityManager is enabled (#1007)
add 3487b3a GEODE-3947: add the necessary dependency in geode-dependency.jar (#1010)
add 9829873 GEODE-3870: clean up region entry classes (#989)
add 7a429e8 User Guide: fixed typo in the ‘configuring’ section
add 302b7e2 GEODE-3940: Revert "GEODE-3801: Use hardlinks for backup oplog files (#963)"
add 9cb7e42 User Guide: Fixed a typo in Basic Config/Data Regions/Region Management
add 50eb158 Geode 3539: Add missing test coverage for 'version' command. (#1009)
add 76cda80 Feature/geode 3795 (#1012)
add a1b9725 GEODE-3539: Add missing test coverage for 'describe connection' command.
add 96684f3 GEODE-3952: Improve and apply spotless.
add 70b4327 Revert "GEODE-3539: Add missing test coverage for 'describe connection' command."
add 01dc11f GEODE-3953: Incorrect use of .equals() for comparison of fieldname arrays GEODE-3954: Misleading Exception message with mismatched fieldAnalyzers
add f53bdf0 GEODE-3637: Revert changes to client queue initialization
add 26e393d GEODE_3959: Use temporary folder rule for TomcatSessionBackwardsCompatibilityTest (#1023)
add d1fc134 GEODE-3539: LocatorServerStartupRule enhancement (#1021)
add 2a7fcd2 GEODE-3930: Create lucene index on an existing region
add c98335d User Guide: Clarify gfsh create region options ‘recovery-delay’ and ‘startup-recovery-delay’
add 00e1cb1 GEODE-2566: Add --if-exists option to destroy index (#1014)
add a5ea077 GEODE-2566 Missed merge issues (#1031)
add 080730b GEODE-3801: Use hardlinks for backup oplog files (#963)
add 11a385e GEODE-3940: fix deadlock in backup messages
add 2c46f7d GEODE-3957: User Guide - Strengthen anti-SYNCOOKIES host machine requ… (#1018)
add e2caeb5 GEODE-3335: Fix expected member count (#1034)
add 44f449c GEODE-3591: remove getAnyInstance call (#1027)
add cb4f06c GEODE-3601: remove getExisting call (#1036)
add c1c6e74 GEODE-3539: add more tests for get, put, locate entry commands (#1025)
add 650ed4e GEODE-3963: make DM.getCache thread safe
add 2d5d643 GEODE-3599: remove getInstance calls (#1037)
add d9393de GEODE-3598: remove getInstance calls (#1035)
add 8987dc0 GEODE-3597: remove getInstance calls (#1033)
add 66c3ba1 GEODE-3596: remove getInstanceCalls (#1032)
add cd81d55 GEODE-3595: remove getInstance calls (#1030)
add 369af90 GEODE-3594: remove calls of getInstance (#1029)
add 8ca7000 GEODE-3593: remove call to getInstance (#1028)
add 3bc8c1a GEODE-3592: remove getAnyInstance call (#1026)
add 36408b7 GEODE-3872: simplify the Command result Assert (#1043)
add e67456d GEODE-3539: cleanup GfshCommand and refactor tests
add 36a1165 Revert "GEODE-3592: remove getAnyInstance call (#1026)"
add 576bf71 GEODE-3539: rename GfshShellConnectionRule to GfshCommandRule (#1051)
add abb39cf GEODE-3970: Adjust default Travis _JAVA_OPTIONS (#1049)
add bd523c3 GEODE-3951: PULSE Logout exception when using the defaults. (#1041)
add 141c793 GEODE-2565: add if-exists option to DestoryGatewaySenderCommand (#1048)
add ae03b84 GEODE-3973: have the cluster configuration start synchronously when starting a locator (#1050)
add 9ebc4f7 Fix for GEODE-3898: Defined Indexes are not Persisted in Cluster Configuration. (#1022)
add 1b985b0 GEODE-3898: fix merge conflict
add 69143c1 GEODE-3961: Refactor ShowMetricsCommand to handle --categories uniformly
add 7fae1a1 GEODE-3961: Correct test after bad rebase.
add 23846b3 GEODE-3920: Added test to validate lucene 6 to 7 upgrade
add 740ce79 GEODE-3539: Correct typo in javadoc annotation (#1057)
add 944436a GEODE-3738: Add Flaky category to ClientAuthorizationDUnitTest (#1054)
add 5f08a9e GEODE-3935: Closing down the cache after each test.
add 4dafde1 GEODE-1019: Removing the flaky tag
add dfaa0f1 GEODE-3978: add wait with respect to region size (#1060)
add 7718945 GEODE-3979: fix flaky test (#1061)
add e2bf74c GEODE-3938: Allow query parameters within the to_date preset query function (#1003)
add 0e5dd6b GEODE-3007: Simplify support for custom GFSH commands (#1042)
add 7f0d5f5 GEODE-1920 Addition of more logs to the test
add 478665f Revert "GEODE-1920 Addition of more logs to the test"
add ad786a5 Merge remote-tracking branch 'origin/develop' into feature/GEODE-3940
add d59c730 Merge pull request #1053 from apache/feature/GEODE-3940
add c1db889 GEODE-1897: Ensure that eviction-object-sizer also implements Declarable (#1068)
add 9d72237 GEODE-3761 Document the deprecation of manual start of gateway senders - updated wording per reviewer feedback.
add d5e0462 GEODE-3985: rolling upgrade tests is prone to accidentally roll the vms back to current version (#1067)
add 245a4ff GEODE-3982: MemoryIndexStoreIterator should not call GemFireCacheImpl (#1064)
new 69337aa GEODE-3781: add geode-connectors module
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 (f40cef0)
\
N -- N -- N refs/heads/feature/GEODE-3781 (69337aa)
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:
.travis.yml | 4 +
build.gradle | 46 +-
ci/docker/Dockerfile | 37 +
ci/docker/cache_dependencies.sh | 39 +
ci/pipelines/develop.yml | 110 +
ci/pipelines/docker-images.yml | 49 +
ci/pipelines/meta.yml | 74 +
ci/scripts/build.sh | 189 ++
dev-tools/generateRegionEntryClasses.sh | 2 +-
docker/Dockerfile | 14 +-
docker/README.md | 3 +-
extensions/geode-modules-assembly/build.gradle | 1 +
.../internal/common/AbstractSessionCache.java | 7 +-
.../internal/common/ClientServerSessionCache.java | 15 +-
.../internal/common/PeerToPeerSessionCache.java | 13 +-
.../session/internal/common/SessionCache.java | 4 +-
.../common/SessionExpirationCacheListener.java | 11 +-
.../internal/filter/DummySessionManager.java | 4 +-
.../internal/filter/GemfireHttpSession.java | 22 +-
.../internal/filter/GemfireSessionManager.java | 28 +-
.../attributes/AbstractDeltaSessionAttributes.java | 8 +-
.../attributes/AbstractSessionAttributes.java | 12 +-
.../internal/filter/attributes/DeltaEvent.java | 13 +-
.../attributes/DeltaQueuedSessionAttributes.java | 5 +-
.../filter/attributes/DeltaSessionAttributes.java | 5 +-
.../filter/attributes/SessionAttributes.java | 4 +-
.../session/internal/filter/util/TypeAwareMap.java | 4 +-
.../modules/session/filter/SessionListener.java | 7 +-
.../session/installer/InstallerJUnitTest.java | 11 +-
.../session/internal/filter/BasicServlet.java | 1 +
.../modules/session/internal/filter/Callback.java | 3 +-
.../session/internal/filter/CallbackServlet.java | 1 +
.../filter/HttpSessionBindingListenerImpl.java | 1 +
.../SessionReplicationIntegrationJUnitTest.java | 46 +-
.../filter/SessionReplicationJUnitTest.java | 7 +-
.../SessionReplicationLocalCacheJUnitTest.java | 7 +-
.../session/junit/PerTestClassLoaderRunner.java | 18 +-
.../catalina/Tomcat7DeltaSessionManager.java | 4 +-
.../modules/session/Tomcat7SessionsJUnitTest.java | 6 +-
.../modules/session/TestSessionsTomcat8Base.java | 1 +
.../modules/session/Tomcat8SessionsDUnitTest.java | 10 +-
.../gatewaydelta/AbstractGatewayDeltaEvent.java | 8 +-
.../gatewaydelta/GatewayDeltaCreateEvent.java | 9 +-
.../gatewaydelta/GatewayDeltaDestroyEvent.java | 9 +-
.../GatewayDeltaEventApplicationCacheListener.java | 4 +-
.../GatewayDeltaForwarderCacheListener.java | 4 +-
.../modules/session/bootstrap/AbstractCache.java | 23 +-
.../catalina/AbstractCacheLifecycleListener.java | 5 +-
.../session/catalina/AbstractSessionCache.java | 7 +-
.../session/catalina/ClientServerSessionCache.java | 11 +-
.../session/catalina/CommitSessionValve.java | 7 +-
.../modules/session/catalina/DeltaSession.java | 2 +-
.../session/catalina/DeltaSessionFacade.java | 4 +-
.../session/catalina/DeltaSessionInterface.java | 3 +-
.../session/catalina/DeltaSessionManager.java | 49 +-
.../session/catalina/JvmRouteBinderValve.java | 7 +-
.../session/catalina/PeerToPeerSessionCache.java | 7 +-
.../modules/session/catalina/SessionCache.java | 10 +-
.../catalina/callback/LocalSessionCacheLoader.java | 7 +-
.../catalina/callback/LocalSessionCacheWriter.java | 7 +-
.../callback/SessionExpirationCacheListener.java | 11 +-
.../internal/DeltaSessionAttributeEventBatch.java | 13 +-
.../DeltaSessionDestroyAttributeEvent.java | 9 +-
.../internal/DeltaSessionUpdateAttributeEvent.java | 9 +-
.../java/org/apache/geode/modules/util/Banner.java | 4 +-
.../geode/modules/util/BootstrappingFunction.java | 6 +-
.../apache/geode/modules/util/ContextMapper.java | 4 +-
.../geode/modules/util/CreateRegionFunction.java | 1 -
.../geode/modules/util/DebugCacheListener.java | 4 +-
.../geode/modules/util/RegionConfiguration.java | 11 +-
.../util/RegionConfigurationCacheListener.java | 4 +-
.../apache/geode/modules/util/RegionHelper.java | 12 +-
.../geode/modules/util/RegionSizeFunction.java | 4 +-
.../modules/util/ResourceManagerValidator.java | 6 +-
.../geode/modules/util/SessionCustomExpiry.java | 9 +-
.../TouchPartitionedRegionEntriesFunction.java | 7 +-
.../util/TouchReplicatedRegionEntriesFunction.java | 7 +-
.../org/apache/geode/modules/session/Callback.java | 3 +-
.../geode/modules/session/CommandServlet.java | 5 +-
.../geode/modules/session/EmbeddedTomcat.java | 12 +-
.../geode/modules/session/TestSessionsBase.java | 1 +
.../modules/session/Tomcat6SessionsJUnitTest.java | 5 +-
.../util/ClassLoaderObjectInputStreamTest.java | 25 +-
.../geode/modules/session/CommandServlet.java | 1 +
.../modules/session/SessionCountingListener.java | 1 +
.../modules/session/functions/GetSessionCount.java | 5 +-
.../session/functions/GetSessionCreatedCount.java | 5 +-
.../functions/GetSessionDestroyedCount.java | 5 +-
geode-assembly/build.gradle | 12 +-
.../management/internal/AgentUtilJUnitTest.java | 7 +-
.../cli/commands/GfshStartLocatorLogTest.java | 2 +-
.../LauncherLifecycleCommandsDUnitTest.java | 6 +-
.../cli/commands/PutCommandWithJsonTest.java | 63 +
.../StartLocatorCommandIntegrationTest.java | 8 +-
.../StartServerCommandIntegrationTest.java | 8 +-
.../cli/commands/StatusLocatorRealGfshTest.java | 3 +-
.../StopServerWithSecurityAcceptanceTest.java | 8 +-
.../cli/shell/GfshExitCodeStatusCommandsTest.java | 2 +-
.../geode/rest/internal/web/GeodeRestClient.java | 27 +-
.../internal/web/RestInterfaceIntegrationTest.java | 2 +-
.../internal/web/RestSecurityIntegrationTest.java | 2 +-
.../web/RestSecurityPostProcessorTest.java | 2 +-
.../rest/internal/web/RestSecurityWithSSLTest.java | 2 +-
.../internal/web/RestServersIntegrationTest.java | 2 +-
.../web/SwaggerVerificationIntegrationTest.java | 16 +-
.../rest/internal/web/controllers/Customer.java | 7 +-
.../rest/internal/web/controllers/Gender.java | 2 +-
.../internal/web/controllers/GetAllEntries.java | 3 +-
.../web/controllers/GetDeliveredOrders.java | 2 +-
.../rest/internal/web/controllers/GetRegions.java | 2 +-
.../internal/web/controllers/GetValueForKey.java | 1 -
.../geode/rest/internal/web/controllers/Item.java | 2 +-
.../web/controllers/NoArgumentFunction.java | 14 +-
.../geode/rest/internal/web/controllers/Order.java | 2 +-
.../rest/internal/web/controllers/Person.java | 6 +-
.../internal/web/controllers/PutKeyFunction.java | 1 -
.../web/controllers/RedactingPostProcessor.java | 4 +-
.../RestAPIOnRegionFunctionExecutionDUnitTest.java | 2 +-
.../internal/web/controllers/RestAPITestBase.java | 39 +-
.../controllers/RestAPIsAndInterOpsDUnitTest.java | 53 +-
...RestAPIsOnGroupsFunctionExecutionDUnitTest.java | 1 -
...estAPIsOnMembersFunctionExecutionDUnitTest.java | 19 +-
.../web/controllers/RestAPIsWithSSLDUnitTest.java | 1 +
.../internal/web/controllers/RestTestUtils.java | 7 +-
.../apache/geode/session/tests/CargoTestBase.java | 4 +-
.../org/apache/geode/session/tests/Client.java | 15 +-
.../geode/session/tests/ContainerInstall.java | 16 +-
.../tests/GenericAppServerClientServerTest.java | 21 +-
.../session/tests/TomcatClientServerTest.java | 8 +-
.../TomcatSessionBackwardsCompatibilityTest.java | 31 +-
.../geode/tools/pulse/PulseConnectivityTest.java | 2 +-
.../geode/tools/pulse/PulseDataExportTest.java | 11 +-
.../tools/pulse/PulseSecurityIntegrationTest.java | 57 +
.../geode/tools/pulse/PulseSecurityTest.java | 13 +-
.../tools/pulse/PulseSecurityWithSSLTest.java | 2 +-
.../benchmark/RangeQueryWithIndexBenchmark.java | 15 +-
.../cache/benchmark/RegionOperationBenchmark.java | 15 +-
.../source/subnavs/geode-subnav.erb | 3 +
geode-client-protocol/build.gradle | 30 +
.../protocol/ClientProtocolMessageHandler.java | 40 +
.../apache/geode/internal/protocol/Failure.java | 48 +
.../internal/protocol/MessageExecutionContext.java | 93 +
.../geode/internal/protocol/OperationContext.java | 64 +
.../geode/internal/protocol/ProtocolErrorCode.java | 44 +
.../org/apache/geode/internal/protocol/Result.java | 28 +
.../apache/geode/internal/protocol/Success.java | 48 +
.../exception/InvalidProtocolMessageException.java | 0
.../protocol/operations/OperationHandler.java | 36 +
.../protobuf/v1/serializer/ProtocolSerializer.java | 34 +
...ompatibleAuthenticationMechanismsException.java | 23 +
.../serialization/SerializationService.java | 34 +
.../protocol/serialization/SerializationType.java | 32 +
.../internal/protocol/serialization/TypeCodec.java | 36 +
.../protocol/serialization/codec/JSONCodec.java | 39 +
.../UnsupportedEncodingTypeException.java | 31 +
.../registry/SerializationCodecRegistry.java | 67 +
.../CodecAlreadyRegisteredForTypeException.java | 28 +
.../CodecNotRegisteredForTypeException.java | 27 +
.../ConnectionAuthenticatingStateProcessor.java | 31 +
.../state/ConnectionHandshakingStateProcessor.java | 28 +
.../ConnectionShiroAuthorizingStateProcessor.java | 58 +
.../protocol/state/ConnectionStateProcessor.java | 61 +
.../LegacySecurityConnectionStateProcessor.java | 36 +
.../state/NoSecurityConnectionStateProcessor.java | 32 +
.../state/exception/ConnectionStateException.java | 30 +
.../protocol/statistics/NoOpStatistics.java | 47 +
.../statistics/ProtocolClientStatistics.java | 33 +
...geode.internal.protocol.serialization.TypeCodec | 1 +
.../org/apache/geode/annotations/Experimental.java | 4 +-
.../ClassInExperimentalPackage.java | 2 +-
.../experimentalpackage/package-info.java | 2 +-
.../ClassInNonExperimentalPackage.java | 2 +-
.../nonexperimentalpackage/package-info.java | 2 +-
.../src/main/java/java/net/InetAddress.java | 1 -
.../connectors/jdbc/JdbcSynchronousWriter.java | 102 -
.../apache/geode/connectors/jdbc/JdbcWriter.java | 102 +
.../geode/connectors/jdbc/JdbcAsyncWriterTest.java | 3 +
.../geode/connectors/jdbc/JdbcLoaderTest.java | 3 +
.../jdbc/JdbcSynchronousWriterIntegrationTest.java | 234 --
.../connectors/jdbc/JdbcSynchronousWriterTest.java | 116 -
.../connectors/jdbc/JdbcWriterIntegrationTest.java | 234 ++
.../geode/connectors/jdbc/JdbcWriterTest.java | 119 ++
.../jdbc/internal/AbstractJdbcCallbackTest.java | 3 -
.../geode/internal/ra/GFConnectionFactoryImpl.java | 6 +-
.../apache/geode/internal/ra/GFConnectionImpl.java | 2 +-
.../geode/internal/ra/spi/JCALocalTransaction.java | 2 +-
.../ra/spi/JCAManagedConnectionFactory.java | 2 +-
.../ra/spi/JCAManagedConnectionMetaData.java | 2 +-
.../apache/geode/cache/query/internal/parse/oql.g | 2 +-
.../java/org/apache/geode/CancelCriterion.java | 20 +-
.../java/org/apache/geode/CancelException.java | 10 +-
.../org/apache/geode/CanonicalInstantiator.java | 4 +-
.../main/java/org/apache/geode/CopyException.java | 1 -
.../src/main/java/org/apache/geode/CopyHelper.java | 20 +-
.../main/java/org/apache/geode/DataSerializer.java | 35 +-
.../src/main/java/org/apache/geode/Delta.java | 10 +-
.../apache/geode/DeltaSerializationException.java | 4 +-
.../apache/geode/ForcedDisconnectException.java | 2 +-
.../org/apache/geode/GemFireCheckedException.java | 2 +-
.../java/org/apache/geode/GemFireRethrowable.java | 4 +-
.../org/apache/geode/InternalGemFireError.java | 8 +-
.../org/apache/geode/InvalidDeltaException.java | 8 +-
.../src/main/java/org/apache/geode/LogWriter.java | 12 +-
.../apache/geode/OutOfOffHeapMemoryException.java | 2 +-
.../org/apache/geode/SerializationException.java | 8 +-
.../java/org/apache/geode/StatisticDescriptor.java | 2 -
.../src/main/java/org/apache/geode/Statistics.java | 25 +-
.../java/org/apache/geode/StatisticsFactory.java | 20 +-
.../main/java/org/apache/geode/StatisticsType.java | 3 -
.../org/apache/geode/StatisticsTypeFactory.java | 18 +-
.../main/java/org/apache/geode/SystemFailure.java | 110 +-
.../java/org/apache/geode/ToDataException.java | 2 +-
.../java/org/apache/geode/admin/AdminConfig.java | 6 +-
.../apache/geode/admin/AdminDistributedSystem.java | 50 +-
.../geode/admin/AdminDistributedSystemFactory.java | 9 +-
.../java/org/apache/geode/admin/AlertListener.java | 2 +-
.../java/org/apache/geode/admin/BackupStatus.java | 23 +-
.../geode/admin/CacheDoesNotExistException.java | 1 -
.../org/apache/geode/admin/CacheHealthConfig.java | 12 +-
.../java/org/apache/geode/admin/CacheServer.java | 6 +-
.../apache/geode/admin/ConfigurationParameter.java | 1 -
.../geode/admin/DistributedSystemConfig.java | 39 +-
.../apache/geode/admin/DistributionLocator.java | 1 -
.../geode/admin/DistributionLocatorConfig.java | 4 +-
.../apache/geode/admin/GemFireMemberStatus.java | 25 +-
.../org/apache/geode/admin/MemberHealthConfig.java | 4 +-
.../geode/admin/OperationCancelledException.java | 1 -
.../geode/admin/RegionNotFoundException.java | 1 -
.../geode/admin/RegionSubRegionSnapshot.java | 8 +-
.../java/org/apache/geode/admin/Statistic.java | 1 -
.../org/apache/geode/admin/StatisticResource.java | 1 -
.../java/org/apache/geode/admin/SystemMember.java | 5 +-
.../geode/admin/SystemMemberBridgeServer.java | 46 +-
.../org/apache/geode/admin/SystemMemberCache.java | 3 +-
.../geode/admin/SystemMemberCacheListener.java | 10 +-
.../geode/admin/SystemMemberCacheServer.java | 46 +-
.../org/apache/geode/admin/SystemMemberRegion.java | 24 +-
.../org/apache/geode/admin/SystemMemberType.java | 6 +-
.../apache/geode/admin/SystemMembershipEvent.java | 2 +-
.../admin/UnmodifiableConfigurationException.java | 1 -
.../admin/internal/AdminDistributedSystemImpl.java | 92 +-
.../admin/internal/BackupDataStoreHelper.java | 74 -
.../admin/internal/BackupDataStoreResult.java | 48 -
.../geode/admin/internal/BackupStatusImpl.java | 36 +-
.../admin/internal/CacheServerConfigImpl.java | 4 +-
.../geode/admin/internal/CacheServerImpl.java | 8 +-
.../admin/internal/ConfigurationParameterImpl.java | 10 +-
.../internal/ConfigurationParameterListener.java | 1 -
.../internal/DistributedSystemConfigImpl.java | 32 +-
.../internal/DistributedSystemHealthEvaluator.java | 6 +-
.../internal/DistributedSystemHealthMonitor.java | 2 +-
.../internal/DistributionLocatorConfigImpl.java | 10 +-
.../admin/internal/DistributionLocatorImpl.java | 12 +-
.../internal/EnabledManagedEntityController.java | 15 +-
.../geode/admin/internal/FinishBackupRequest.java | 174 --
.../geode/admin/internal/FinishBackupResponse.java | 76 -
.../geode/admin/internal/FlushToDiskRequest.java | 92 -
.../geode/admin/internal/FlushToDiskResponse.java | 43 -
.../geode/admin/internal/GemFireHealthImpl.java | 16 +-
.../geode/admin/internal/InetAddressUtil.java | 5 +-
.../apache/geode/admin/internal/LogCollator.java | 11 +-
.../admin/internal/ManagedEntityConfigImpl.java | 10 +-
.../admin/internal/ManagedEntityConfigXml.java | 7 +-
.../internal/ManagedEntityConfigXmlGenerator.java | 14 +-
.../internal/ManagedEntityConfigXmlParser.java | 12 +-
.../admin/internal/ManagedEntityController.java | 2 +-
.../internal/ManagedEntityControllerFactory.java | 2 +-
.../admin/internal/ManagedSystemMemberImpl.java | 4 +-
.../geode/admin/internal/PrepareBackupRequest.java | 134 --
.../admin/internal/PrepareBackupResponse.java | 80 -
.../apache/geode/admin/internal/StatisticImpl.java | 3 +-
.../admin/internal/StatisticResourceImpl.java | 13 +-
.../admin/internal/SystemMemberCacheEventImpl.java | 2 +-
.../internal/SystemMemberCacheEventProcessor.java | 2 +-
.../admin/internal/SystemMemberCacheImpl.java | 7 +-
.../geode/admin/internal/SystemMemberImpl.java | 18 +-
.../internal/SystemMemberRegionEventImpl.java | 2 +-
.../admin/internal/SystemMemberRegionImpl.java | 15 +-
.../java/org/apache/geode/admin/jmx/Agent.java | 11 +-
.../org/apache/geode/admin/jmx/AgentConfig.java | 31 +-
.../org/apache/geode/admin/jmx/AgentFactory.java | 1 -
.../internal/AdminDistributedSystemJmxImpl.java | 89 +-
.../geode/admin/jmx/internal/AgentConfigImpl.java | 41 +-
.../apache/geode/admin/jmx/internal/AgentImpl.java | 5 +-
.../geode/admin/jmx/internal/AgentLauncher.java | 18 +-
.../admin/jmx/internal/CacheServerJmxImpl.java | 24 +-
.../admin/jmx/internal/ConfigAttributeInfo.java | 6 +-
.../internal/ConfigurationParameterJmxImpl.java | 1 -
.../DistributedSystemHealthConfigJmxImpl.java | 7 +-
.../jmx/internal/DistributionLocatorJmxImpl.java | 26 +-
.../admin/jmx/internal/DynamicManagedBean.java | 7 +-
.../admin/jmx/internal/GemFireHealthJmxImpl.java | 1 -
.../admin/jmx/internal/GenerateMBeanHTML.java | 1 -
.../apache/geode/admin/jmx/internal/MBeanUtil.java | 13 +-
.../jmx/internal/MX4JServerSocketFactory.java | 19 +-
.../geode/admin/jmx/internal/MailManager.java | 26 +-
.../geode/admin/jmx/internal/ManagedResource.java | 1 -
.../admin/jmx/internal/ManagedResourceType.java | 1 -
.../jmx/internal/MemberInfoWithStatsMBean.java | 100 +-
.../admin/jmx/internal/RMIRegistryService.java | 33 +-
.../jmx/internal/RMIRegistryServiceMBean.java | 14 +-
.../jmx/internal/RefreshNotificationType.java | 1 -
.../admin/jmx/internal/StatAlertNotification.java | 14 +-
.../admin/jmx/internal/StatAlertsAggregator.java | 20 +-
.../admin/jmx/internal/StatisticAttributeInfo.java | 7 +-
.../jmx/internal/StatisticResourceJmxImpl.java | 9 +-
.../internal/SystemMemberBridgeServerJmxImpl.java | 10 +-
.../jmx/internal/SystemMemberCacheJmxImpl.java | 13 +-
.../geode/admin/jmx/internal/SystemMemberJmx.java | 34 +-
.../admin/jmx/internal/SystemMemberJmxImpl.java | 29 +-
.../jmx/internal/SystemMemberRegionJmxImpl.java | 11 +-
.../org/apache/geode/cache/AttributesFactory.java | 77 +-
.../org/apache/geode/cache/AttributesMutator.java | 30 +-
.../main/java/org/apache/geode/cache/Cache.java | 54 +-
.../java/org/apache/geode/cache/CacheEvent.java | 12 +-
.../apache/geode/cache/CacheExistsException.java | 4 +-
.../java/org/apache/geode/cache/CacheFactory.java | 50 +-
.../java/org/apache/geode/cache/CacheListener.java | 30 +-
.../apache/geode/cache/CacheLoaderException.java | 6 +-
.../apache/geode/cache/CacheRuntimeException.java | 6 +-
.../org/apache/geode/cache/CacheStatistics.java | 6 +-
.../geode/cache/CacheTransactionManager.java | 72 +-
.../java/org/apache/geode/cache/CacheWriter.java | 6 +-
.../apache/geode/cache/CacheWriterException.java | 6 +-
.../java/org/apache/geode/cache/ClientSession.java | 18 +-
.../geode/cache/CommitConflictException.java | 6 +-
.../geode/cache/CommitDistributionException.java | 1 -
.../geode/cache/CommitIncompleteException.java | 2 +-
.../java/org/apache/geode/cache/CustomExpiry.java | 4 +-
.../java/org/apache/geode/cache/DataPolicy.java | 32 +-
.../apache/geode/cache/DiskAccessException.java | 1 -
.../java/org/apache/geode/cache/DiskStore.java | 20 +-
.../org/apache/geode/cache/DiskStoreFactory.java | 30 +-
.../apache/geode/cache/DiskWriteAttributes.java | 12 +-
.../geode/cache/DiskWriteAttributesFactory.java | 28 +-
.../cache/DuplicatePrimaryPartitionException.java | 2 +-
.../apache/geode/cache/DynamicRegionFactory.java | 34 +-
.../apache/geode/cache/DynamicRegionListener.java | 2 +-
.../geode/cache/EntryDestroyedException.java | 8 +-
.../java/org/apache/geode/cache/EntryEvent.java | 13 +-
.../apache/geode/cache/EntryExistsException.java | 2 +-
.../apache/geode/cache/EntryNotFoundException.java | 4 +-
.../org/apache/geode/cache/EntryOperation.java | 16 +-
.../org/apache/geode/cache/EvictionAction.java | 6 +-
.../org/apache/geode/cache/EvictionAlgorithm.java | 8 +-
.../org/apache/geode/cache/EvictionAttributes.java | 6 +-
.../geode/cache/EvictionAttributesMutator.java | 4 +-
.../org/apache/geode/cache/ExpirationAction.java | 24 +-
.../apache/geode/cache/ExpirationAttributes.java | 24 +-
.../cache/FailedSynchronizationException.java | 4 +-
.../geode/cache/FixedPartitionAttributes.java | 20 +-
.../apache/geode/cache/FixedPartitionResolver.java | 8 +-
.../geode/cache/GatewayConfigurationException.java | 2 +-
.../org/apache/geode/cache/GatewayException.java | 6 +-
.../java/org/apache/geode/cache/GemFireCache.java | 32 +-
.../org/apache/geode/cache/InterestPolicy.java | 8 +-
.../geode/cache/InterestRegistrationEvent.java | 6 +-
.../geode/cache/InterestRegistrationListener.java | 4 +-
.../apache/geode/cache/InterestResultPolicy.java | 15 +-
.../java/org/apache/geode/cache/LoaderHelper.java | 2 +-
.../java/org/apache/geode/cache/LossAction.java | 9 +-
.../org/apache/geode/cache/LowMemoryException.java | 8 +-
.../apache/geode/cache/MembershipAttributes.java | 23 +-
.../java/org/apache/geode/cache/MirrorType.java | 12 +-
.../cache/NoQueueServersAvailableException.java | 10 +-
.../NoSubscriptionServersAvailableException.java | 10 +-
.../java/org/apache/geode/cache/Operation.java | 113 +-
.../geode/cache/OperationAbortedException.java | 6 +-
.../apache/geode/cache/PartitionAttributes.java | 38 +-
.../geode/cache/PartitionAttributesFactory.java | 46 +-
.../org/apache/geode/cache/PartitionResolver.java | 10 +-
.../cache/PartitionedRegionStorageException.java | 26 +-
.../main/java/org/apache/geode/cache/Region.java | 94 +-
.../apache/geode/cache/RegionAccessException.java | 8 +-
.../org/apache/geode/cache/RegionAttributes.java | 58 +-
.../geode/cache/RegionDestroyedException.java | 4 +-
.../geode/cache/RegionDistributionException.java | 8 +-
.../apache/geode/cache/RegionExistsException.java | 8 +-
.../java/org/apache/geode/cache/RegionFactory.java | 52 +-
.../geode/cache/RegionMembershipListener.java | 16 +-
.../geode/cache/RegionReinitializedException.java | 4 +-
.../apache/geode/cache/RegionRoleException.java | 7 +-
.../org/apache/geode/cache/RegionRoleListener.java | 5 +-
.../java/org/apache/geode/cache/RegionService.java | 10 +-
.../org/apache/geode/cache/RegionShortcut.java | 2 +-
.../java/org/apache/geode/cache/RequiredRoles.java | 5 +-
.../org/apache/geode/cache/ResourceException.java | 8 +-
.../org/apache/geode/cache/ResumptionAction.java | 9 +-
.../java/org/apache/geode/cache/RoleException.java | 7 +-
.../main/java/org/apache/geode/cache/Scope.java | 28 +-
.../apache/geode/cache/SerializedCacheValue.java | 4 +-
.../geode/cache/StatisticsDisabledException.java | 6 +-
.../apache/geode/cache/SubscriptionAttributes.java | 11 +-
.../SynchronizationCommitConflictException.java | 4 +-
.../org/apache/geode/cache/TimeoutException.java | 6 +-
.../cache/TransactionDataRebalancedException.java | 2 +-
.../org/apache/geode/cache/TransactionEvent.java | 8 +-
.../apache/geode/cache/TransactionException.java | 2 +-
.../java/org/apache/geode/cache/TransactionId.java | 4 +-
.../geode/cache/TransactionInDoubtException.java | 2 +-
.../apache/geode/cache/TransactionListener.java | 6 +-
.../org/apache/geode/cache/TransactionWriter.java | 4 +-
.../geode/cache/TransactionWriterException.java | 4 +-
.../geode/cache/UnsupportedVersionException.java | 4 +-
.../apache/geode/cache/asyncqueue/AsyncEvent.java | 2 +-
.../geode/cache/asyncqueue/AsyncEventListener.java | 12 +-
.../geode/cache/asyncqueue/AsyncEventQueue.java | 32 +-
.../cache/asyncqueue/AsyncEventQueueFactory.java | 40 +-
.../asyncqueue/internal/AsyncEventQueueStats.java | 2 +-
.../internal/SerialAsyncEventQueueImpl.java | 2 +-
.../cache/client/AllConnectionsInUseException.java | 8 +-
.../org/apache/geode/cache/client/ClientCache.java | 18 +-
.../geode/cache/client/ClientCacheFactory.java | 26 +-
.../cache/client/ClientNotReadyException.java | 8 +-
.../geode/cache/client/ClientRegionFactory.java | 26 +-
.../geode/cache/client/ClientRegionShortcut.java | 2 +-
.../cache/client/NoAvailableLocatorsException.java | 8 +-
.../cache/client/NoAvailableServersException.java | 8 +-
.../java/org/apache/geode/cache/client/Pool.java | 58 +-
.../org/apache/geode/cache/client/PoolFactory.java | 58 +-
.../org/apache/geode/cache/client/PoolManager.java | 12 +-
.../cache/client/ServerConnectivityException.java | 10 +-
.../cache/client/ServerOperationException.java | 10 +-
.../client/ServerRefusedConnectionException.java | 2 +-
.../client/SubscriptionNotEnabledException.java | 8 +-
.../geode/cache/client/internal/AbstractOp.java | 22 +-
.../geode/cache/client/internal/AddPDXEnumOp.java | 4 +-
.../geode/cache/client/internal/AddPDXTypeOp.java | 4 +-
.../cache/client/internal/AuthenticateUserOp.java | 24 +-
.../client/internal/AutoConnectionSourceImpl.java | 6 +-
.../client/internal/CacheServerLoadMessage.java | 2 +-
.../geode/cache/client/internal/ClearOp.java | 8 +-
.../client/internal/ClientMetadataService.java | 31 +-
.../client/internal/ClientPartitionAdvisor.java | 10 +-
.../client/internal/ClientRegionFactoryImpl.java | 2 +-
.../cache/client/internal/CloseConnectionOp.java | 4 +-
.../geode/cache/client/internal/CommitOp.java | 4 +-
.../geode/cache/client/internal/Connection.java | 4 +-
.../cache/client/internal/ConnectionFactory.java | 8 +-
.../client/internal/ConnectionFactoryImpl.java | 11 +-
.../cache/client/internal/ConnectionImpl.java | 26 +-
.../cache/client/internal/ConnectionSource.java | 10 +-
.../cache/client/internal/ConnectionStats.java | 956 ++++-----
.../geode/cache/client/internal/ContainsKeyOp.java | 4 +-
.../geode/cache/client/internal/DestroyOp.java | 6 +-
.../cache/client/internal/DestroyRegionOp.java | 8 +-
.../geode/cache/client/internal/Endpoint.java | 2 +-
.../cache/client/internal/EndpointManager.java | 6 +-
.../cache/client/internal/EndpointManagerImpl.java | 14 +-
.../cache/client/internal/ExecutablePool.java | 28 +-
.../client/internal/ExecuteFunctionHelper.java | 4 +-
.../client/internal/ExecuteFunctionNoAckOp.java | 4 +-
.../cache/client/internal/ExecuteFunctionOp.java | 4 +-
.../internal/ExecuteRegionFunctionNoAckOp.java | 4 +-
.../client/internal/ExecuteRegionFunctionOp.java | 4 +-
.../internal/ExplicitConnectionSourceImpl.java | 13 +-
.../geode/cache/client/internal/GetAllOp.java | 4 +-
.../client/internal/GetClientPRMetaDataOp.java | 4 +-
.../internal/GetClientPartitionAttributesOp.java | 8 +-
.../geode/cache/client/internal/GetEntryOp.java | 2 +-
.../cache/client/internal/GetEventValueOp.java | 4 +-
.../apache/geode/cache/client/internal/GetOp.java | 4 +-
.../cache/client/internal/GetPDXEnumByIdOp.java | 4 +-
.../geode/cache/client/internal/GetPDXEnumsOp.java | 2 +-
.../cache/client/internal/GetPDXIdForEnumOp.java | 4 +-
.../cache/client/internal/GetPDXIdForTypeOp.java | 4 +-
.../cache/client/internal/GetPDXTypeByIdOp.java | 4 +-
.../geode/cache/client/internal/GetPDXTypesOp.java | 2 +-
.../internal/InstantiatorRecoveryListener.java | 6 +-
.../geode/cache/client/internal/InternalPool.java | 4 +-
.../geode/cache/client/internal/InvalidateOp.java | 4 +-
.../geode/cache/client/internal/KeySetOp.java | 16 +-
.../client/internal/LocatorDiscoveryCallback.java | 6 +-
.../internal/LocatorDiscoveryCallbackAdapter.java | 2 +-
.../geode/cache/client/internal/MakePrimaryOp.java | 4 +-
.../org/apache/geode/cache/client/internal/Op.java | 4 +-
.../cache/client/internal/OpExecutorImpl.java | 36 +-
.../internal/PdxRegistryRecoveryListener.java | 8 +-
.../apache/geode/cache/client/internal/PingOp.java | 4 +-
.../geode/cache/client/internal/PoolImpl.java | 50 +-
.../geode/cache/client/internal/PrimaryAckOp.java | 10 +-
.../geode/cache/client/internal/ProxyCache.java | 4 +-
.../geode/cache/client/internal/ProxyRegion.java | 12 +-
.../geode/cache/client/internal/PutAllOp.java | 6 +-
.../apache/geode/cache/client/internal/PutOp.java | 28 +-
.../geode/cache/client/internal/QueryOp.java | 27 +-
.../cache/client/internal/QueueConnectionImpl.java | 4 +-
.../geode/cache/client/internal/QueueManager.java | 4 +-
.../cache/client/internal/QueueManagerImpl.java | 22 +-
.../geode/cache/client/internal/QueueState.java | 1 +
.../cache/client/internal/QueueStateImpl.java | 20 +-
.../cache/client/internal/ReadyForEventsOp.java | 4 +-
.../client/internal/RegisterInstantiatorsOp.java | 6 +-
.../client/internal/RegisterInterestListOp.java | 8 +-
.../cache/client/internal/RegisterInterestOp.java | 10 +-
.../client/internal/RegisterInterestTracker.java | 18 +-
.../geode/cache/client/internal/RemoveAllOp.java | 6 +-
.../geode/cache/client/internal/RollbackOp.java | 4 +-
.../cache/client/internal/ServerBlackList.java | 17 +-
.../geode/cache/client/internal/ServerProxy.java | 8 +-
.../client/internal/ServerRegionDataAccess.java | 18 +-
.../cache/client/internal/ServerRegionProxy.java | 52 +-
.../client/internal/SingleHopClientExecutor.java | 4 +-
.../internal/SingleHopOperationCallable.java | 11 +-
.../apache/geode/cache/client/internal/SizeOp.java | 4 +-
.../geode/cache/client/internal/TXFailoverOp.java | 2 +-
.../cache/client/internal/TXSynchronizationOp.java | 6 +-
.../client/internal/UnregisterInterestListOp.java | 10 +-
.../client/internal/UnregisterInterestOp.java | 6 +-
.../internal/locator/GetAllServersRequest.java | 2 +-
.../internal/locator/GetAllServersResponse.java | 2 +-
.../internal/locator/LocatorListResponse.java | 4 +-
.../internal/locator/LocatorStatusRequest.java | 2 +-
.../internal/locator/LocatorStatusResponse.java | 16 +-
.../locator/wan/LocatorMembershipListener.java | 12 +-
.../client/internal/pooling/ConnectionManager.java | 16 +-
.../internal/pooling/ConnectionManagerImpl.java | 35 +-
.../client/internal/pooling/PooledConnection.java | 8 +-
.../geode/cache/control/RebalanceFactory.java | 6 +-
.../geode/cache/control/RebalanceOperation.java | 2 +-
.../geode/cache/control/RebalanceResults.java | 22 +-
.../geode/cache/control/ResourceManager.java | 22 +-
.../execute/EmptyRegionFunctionException.java | 10 +-
.../org/apache/geode/cache/execute/Execution.java | 16 +-
.../org/apache/geode/cache/execute/Function.java | 12 +-
.../geode/cache/execute/FunctionAdapter.java | 6 +-
.../geode/cache/execute/FunctionContext.java | 10 +-
.../geode/cache/execute/FunctionException.java | 14 +-
.../execute/FunctionInvocationTargetException.java | 16 +-
.../geode/cache/execute/FunctionService.java | 38 +-
.../geode/cache/execute/RegionFunctionContext.java | 18 +-
.../geode/cache/execute/ResultCollector.java | 28 +-
.../apache/geode/cache/execute/ResultSender.java | 26 +-
.../execute/internal/FunctionServiceManager.java | 36 +-
.../cache/operations/CloseCQOperationContext.java | 6 +-
.../cache/operations/DestroyOperationContext.java | 8 +-
.../operations/ExecuteCQOperationContext.java | 6 +-
.../ExecuteFunctionOperationContext.java | 2 +-
.../operations/GetDurableCQsOperationContext.java | 8 +-
.../cache/operations/GetOperationContext.java | 10 +-
.../cache/operations/InterestOperationContext.java | 6 +-
.../geode/cache/operations/InterestType.java | 6 +-
.../operations/InvalidateOperationContext.java | 8 +-
.../cache/operations/KeyOperationContext.java | 14 +-
.../cache/operations/KeySetOperationContext.java | 14 +-
.../cache/operations/KeyValueOperationContext.java | 20 +-
.../cache/operations/PutAllOperationContext.java | 16 +-
.../cache/operations/PutOperationContext.java | 14 +-
.../cache/operations/QueryOperationContext.java | 20 +-
.../operations/RegionClearOperationContext.java | 6 +-
.../operations/RegionCreateOperationContext.java | 6 +-
.../operations/RegionDestroyOperationContext.java | 6 +-
.../cache/operations/RegionOperationContext.java | 10 +-
.../RegisterInterestOperationContext.java | 8 +-
.../operations/RemoveAllOperationContext.java | 10 +-
.../cache/operations/StopCQOperationContext.java | 6 +-
.../UnregisterInterestOperationContext.java | 6 +-
.../cache/operations/internal/UpdateOnlyMap.java | 5 +-
.../geode/cache/partition/PartitionListener.java | 26 +-
.../cache/partition/PartitionListenerAdapter.java | 6 +-
.../geode/cache/partition/PartitionMemberInfo.java | 12 +-
.../partition/PartitionNotAvailableException.java | 2 +-
.../cache/partition/PartitionRebalanceInfo.java | 32 +-
.../cache/partition/PartitionRegionHelper.java | 40 +-
.../geode/cache/partition/PartitionRegionInfo.java | 18 +-
.../ConflictingPersistentDataException.java | 4 +-
.../persistence/PartitionOfflineException.java | 8 +-
.../geode/cache/persistence/PersistentID.java | 6 +-
.../PersistentReplicatesOfflineException.java | 4 +-
.../cache/persistence/RevokeFailedException.java | 2 +-
.../RevokedPersistentDataException.java | 4 +-
.../org/apache/geode/cache/query/Aggregator.java | 6 +-
.../geode/cache/query/AmbiguousNameException.java | 4 +-
.../org/apache/geode/cache/query/CqAttributes.java | 6 +-
.../geode/cache/query/CqAttributesFactory.java | 6 +-
.../geode/cache/query/CqAttributesMutator.java | 8 +-
.../geode/cache/query/CqClosedException.java | 8 +-
.../java/org/apache/geode/cache/query/CqEvent.java | 17 +-
.../org/apache/geode/cache/query/CqException.java | 8 +-
.../geode/cache/query/CqExistsException.java | 8 +-
.../org/apache/geode/cache/query/CqListener.java | 2 +-
.../java/org/apache/geode/cache/query/CqQuery.java | 30 +-
.../org/apache/geode/cache/query/CqResults.java | 16 +-
.../geode/cache/query/CqServiceStatistics.java | 12 +-
.../java/org/apache/geode/cache/query/CqState.java | 2 +-
.../org/apache/geode/cache/query/CqStatistics.java | 10 +-
.../apache/geode/cache/query/CqStatusListener.java | 2 +-
.../geode/cache/query/FunctionDomainException.java | 2 +-
.../java/org/apache/geode/cache/query/Index.java | 13 +-
.../geode/cache/query/IndexCreationException.java | 6 +-
.../geode/cache/query/IndexExistsException.java | 4 +-
.../geode/cache/query/IndexInvalidException.java | 6 +-
.../cache/query/IndexMaintenanceException.java | 6 +-
.../cache/query/IndexNameConflictException.java | 4 +-
.../apache/geode/cache/query/IndexStatistics.java | 1 -
.../org/apache/geode/cache/query/IndexType.java | 2 +-
.../cache/query/MultiIndexCreationException.java | 10 +-
.../geode/cache/query/NameNotFoundException.java | 4 +-
.../geode/cache/query/NameResolutionException.java | 4 +-
.../query/ParameterCountInvalidException.java | 2 +-
.../java/org/apache/geode/cache/query/Query.java | 30 +-
.../apache/geode/cache/query/QueryException.java | 8 +-
.../query/QueryExecutionLowMemoryException.java | 10 +-
.../query/QueryExecutionTimeoutException.java | 6 +-
.../geode/cache/query/QueryInvalidException.java | 4 +-
.../query/QueryInvocationTargetException.java | 6 +-
.../org/apache/geode/cache/query/QueryService.java | 131 +-
.../geode/cache/query/RegionNotFoundException.java | 4 +-
.../apache/geode/cache/query/SelectResults.java | 13 +-
.../java/org/apache/geode/cache/query/Struct.java | 3 +-
.../geode/cache/query/TypeMismatchException.java | 4 +-
.../query/internal/AbstractCompiledValue.java | 8 +-
.../internal/AbstractGroupOrRangeJunction.java | 14 +-
.../cache/query/internal/AllGroupJunction.java | 7 +-
.../cache/query/internal/AttributeDescriptor.java | 3 +-
.../org/apache/geode/cache/query/internal/Bag.java | 10 +-
.../query/internal/CompiledAggregateFunction.java | 6 +-
.../cache/query/internal/CompiledBindArgument.java | 6 +-
.../cache/query/internal/CompiledComparison.java | 20 +-
.../cache/query/internal/CompiledConstruction.java | 1 +
.../cache/query/internal/CompiledFunction.java | 2 +-
.../query/internal/CompiledGroupBySelect.java | 2 +-
.../geode/cache/query/internal/CompiledID.java | 3 +-
.../geode/cache/query/internal/CompiledIn.java | 8 +-
.../query/internal/CompiledIndexOperation.java | 7 +-
.../cache/query/internal/CompiledIteratorDef.java | 2 +-
.../cache/query/internal/CompiledJunction.java | 36 +-
.../geode/cache/query/internal/CompiledLike.java | 6 +-
.../cache/query/internal/CompiledLiteral.java | 2 -
.../cache/query/internal/CompiledOperation.java | 2 +-
.../geode/cache/query/internal/CompiledPath.java | 2 +-
.../geode/cache/query/internal/CompiledRegion.java | 3 +-
.../geode/cache/query/internal/CompiledSelect.java | 24 +-
.../cache/query/internal/CompiledUnaryMinus.java | 11 +-
.../cache/query/internal/CompiledUndefined.java | 6 +-
.../geode/cache/query/internal/CompiledValue.java | 6 +-
.../query/internal/CompositeGroupJunction.java | 25 +-
.../apache/geode/cache/query/internal/CqEntry.java | 8 +-
.../cache/query/internal/CqQueryVsdStats.java | 24 +-
.../geode/cache/query/internal/CqStateImpl.java | 2 +-
.../internal/CumulativeNonDistinctResults.java | 4 +-
.../geode/cache/query/internal/DefaultQuery.java | 4 +-
.../cache/query/internal/DefaultQueryService.java | 45 +-
.../geode/cache/query/internal/DerivedInfo.java | 4 +-
.../cache/query/internal/ExecutionContext.java | 14 +-
.../apache/geode/cache/query/internal/Filter.java | 21 +-
.../geode/cache/query/internal/Functions.java | 3 +-
.../geode/cache/query/internal/GroupJunction.java | 7 +-
.../cache/query/internal/HashingStrategy.java | 6 +-
.../geode/cache/query/internal/IndexInfo.java | 2 +-
.../query/internal/IndexTrackingQueryObserver.java | 6 +-
.../geode/cache/query/internal/Indexable.java | 8 +-
.../cache/query/internal/LinkedStructSet.java | 11 +-
.../cache/query/internal/NWayMergeResults.java | 28 +-
.../geode/cache/query/internal/Negatable.java | 1 -
.../geode/cache/query/internal/NullToken.java | 2 +-
.../cache/query/internal/ObjectIntHashMap.java | 28 +-
.../cache/query/internal/OrderByComparator.java | 4 +-
.../apache/geode/cache/query/internal/Ordered.java | 2 +-
.../cache/query/internal/OrganizedOperands.java | 8 +-
.../geode/cache/query/internal/PathUtils.java | 2 +-
.../geode/cache/query/internal/PlanInfo.java | 4 +-
.../cache/query/internal/ProxyQueryService.java | 2 +-
.../geode/cache/query/internal/QCompiler.java | 16 +-
.../apache/geode/cache/query/internal/QRegion.java | 7 +-
.../apache/geode/cache/query/internal/QScope.java | 8 +-
.../internal/QueryExecutionCanceledException.java | 8 +-
.../geode/cache/query/internal/QueryExecutor.java | 2 +-
.../geode/cache/query/internal/QueryMonitor.java | 14 +-
.../geode/cache/query/internal/QueryObserver.java | 61 +-
.../cache/query/internal/QueryObserverAdapter.java | 56 +-
.../cache/query/internal/QueryObserverHolder.java | 12 +-
.../geode/cache/query/internal/QueryUtils.java | 32 +-
.../geode/cache/query/internal/RangeJunction.java | 52 +-
.../ResultsCollectionCopyOnReadWrapper.java | 4 +-
.../query/internal/ResultsCollectionWrapper.java | 19 +-
.../geode/cache/query/internal/ResultsSet.java | 8 +-
.../cache/query/internal/RuntimeIterator.java | 6 +-
.../query/internal/SelectResultsComparator.java | 2 +-
.../cache/query/internal/SortedResultSet.java | 9 +-
.../cache/query/internal/SortedResultsBag.java | 16 +-
.../cache/query/internal/SortedStructBag.java | 12 +-
.../cache/query/internal/SortedStructSet.java | 19 +-
.../geode/cache/query/internal/StructBag.java | 14 +-
.../geode/cache/query/internal/StructFields.java | 4 +-
.../geode/cache/query/internal/StructImpl.java | 2 +-
.../geode/cache/query/internal/StructSet.java | 24 +-
.../apache/geode/cache/query/internal/Support.java | 2 +-
.../geode/cache/query/internal/Undefined.java | 5 +-
.../internal/aggregate/AbstractAggregator.java | 2 +-
.../geode/cache/query/internal/aggregate/Avg.java | 2 +-
.../query/internal/aggregate/AvgBucketNode.java | 2 +-
.../query/internal/aggregate/AvgDistinct.java | 2 +-
.../internal/aggregate/AvgDistinctPRQueryNode.java | 2 +-
.../query/internal/aggregate/AvgPRQueryNode.java | 2 +-
.../cache/query/internal/aggregate/Count.java | 2 +-
.../query/internal/aggregate/CountDistinct.java | 4 +-
.../aggregate/CountDistinctPRQueryNode.java | 2 +-
.../query/internal/aggregate/CountPRQueryNode.java | 2 +-
.../internal/aggregate/DistinctAggregator.java | 2 +-
.../cache/query/internal/aggregate/MaxMin.java | 2 +-
.../geode/cache/query/internal/aggregate/Sum.java | 2 +-
.../internal/aggregate/SumDistinctPRQueryNode.java | 2 +-
.../geode/cache/query/internal/cq/ClientCQ.java | 2 +-
.../cache/query/internal/cq/CqAttributesImpl.java | 14 +-
.../geode/cache/query/internal/cq/CqService.java | 26 +-
.../cache/query/internal/cq/CqServiceProvider.java | 8 +-
.../cache/query/internal/cq/InternalCqQuery.java | 4 +-
.../geode/cache/query/internal/cq/ServerCQ.java | 8 +-
.../cache/query/internal/index/AbstractIndex.java | 22 +-
.../query/internal/index/CompactRangeIndex.java | 34 +-
.../cache/query/internal/index/HashIndex.java | 2 +-
.../cache/query/internal/index/HashIndexSet.java | 52 +-
.../cache/query/internal/index/IMQException.java | 6 +-
.../internal/index/IndexConcurrentHashSet.java | 8 +-
.../query/internal/index/IndexCreationData.java | 4 +-
.../cache/query/internal/index/IndexData.java | 6 +-
.../cache/query/internal/index/IndexElemArray.java | 24 +-
.../cache/query/internal/index/IndexManager.java | 34 +-
.../cache/query/internal/index/IndexProtocol.java | 24 +-
.../cache/query/internal/index/IndexStats.java | 2 +-
.../cache/query/internal/index/IndexStore.java | 10 +-
.../internal/index/IndexedExpressionEvaluator.java | 2 +-
.../cache/query/internal/index/MapRangeIndex.java | 1 +
.../query/internal/index/MemoryIndexStore.java | 9 +-
.../query/internal/index/PartitionedIndex.java | 26 +-
.../cache/query/internal/index/RangeIndex.java | 16 +-
.../query/internal/parse/ASTAggregateFunc.java | 2 +-
.../geode/cache/query/internal/parse/ASTAnd.java | 1 +
.../cache/query/internal/parse/ASTCombination.java | 1 +
.../cache/query/internal/parse/ASTCompareOp.java | 1 +
.../query/internal/parse/ASTConstruction.java | 1 +
.../query/internal/parse/ASTConversionExpr.java | 1 +
.../cache/query/internal/parse/ASTGroupBy.java | 4 +-
.../geode/cache/query/internal/parse/ASTHint.java | 4 +-
.../query/internal/parse/ASTHintIdentifier.java | 4 +-
.../cache/query/internal/parse/ASTIdentifier.java | 1 +
.../cache/query/internal/parse/ASTImport.java | 1 +
.../geode/cache/query/internal/parse/ASTIn.java | 1 +
.../cache/query/internal/parse/ASTIteratorDef.java | 4 +-
.../geode/cache/query/internal/parse/ASTLike.java | 2 +-
.../geode/cache/query/internal/parse/ASTLimit.java | 1 +
.../cache/query/internal/parse/ASTLiteral.java | 6 +-
.../query/internal/parse/ASTMethodInvocation.java | 3 +-
.../geode/cache/query/internal/parse/ASTOr.java | 1 +
.../cache/query/internal/parse/ASTOrderBy.java | 4 +-
.../cache/query/internal/parse/ASTParameter.java | 1 +
.../cache/query/internal/parse/ASTPostfix.java | 1 +
.../cache/query/internal/parse/ASTProjection.java | 1 +
.../cache/query/internal/parse/ASTRegionPath.java | 1 +
.../cache/query/internal/parse/ASTSelect.java | 2 +-
.../query/internal/parse/ASTSortCriterion.java | 1 +
.../geode/cache/query/internal/parse/ASTTrace.java | 4 +-
.../geode/cache/query/internal/parse/ASTType.java | 1 +
.../cache/query/internal/parse/ASTTypeCast.java | 1 +
.../geode/cache/query/internal/parse/ASTUnary.java | 6 +-
.../query/internal/parse/ASTUndefinedExpr.java | 1 +
.../cache/query/internal/parse/ASTUnsupported.java | 1 +
.../cache/query/internal/parse/GemFireAST.java | 3 +-
.../cache/query/internal/parse/UtilParser.java | 3 +-
.../query/internal/types/CollectionTypeImpl.java | 2 +-
.../internal/types/ExtendedNumericComparator.java | 2 +-
.../cache/query/internal/types/MapTypeImpl.java | 5 +-
.../query/internal/types/NumericComparator.java | 2 -
.../cache/query/internal/types/ObjectTypeImpl.java | 4 +-
.../cache/query/internal/types/StructTypeImpl.java | 5 +-
.../query/internal/types/TemporalComparator.java | 2 -
.../cache/query/internal/types/TypeUtils.java | 23 +-
.../geode/cache/query/types/CollectionType.java | 4 +-
.../apache/geode/cache/query/types/MapType.java | 2 +-
.../apache/geode/cache/query/types/StructType.java | 4 +-
.../org/apache/geode/cache/server/CacheServer.java | 74 +-
.../cache/server/ClientSubscriptionConfig.java | 28 +-
.../org/apache/geode/cache/server/ServerLoad.java | 18 +-
.../apache/geode/cache/server/ServerLoadProbe.java | 8 +-
.../geode/cache/server/ServerLoadProbeAdapter.java | 4 +-
.../apache/geode/cache/server/ServerMetrics.java | 2 +-
.../server/internal/ConnectionCountProbe.java | 8 +-
.../geode/cache/server/internal/LoadMonitor.java | 4 +-
.../cache/server/internal/ServerMetricsImpl.java | 2 +-
.../geode/cache/snapshot/CacheSnapshotService.java | 32 +-
.../cache/snapshot/RegionSnapshotService.java | 40 +-
.../geode/cache/snapshot/SnapshotFilter.java | 9 +-
.../geode/cache/snapshot/SnapshotIterator.java | 18 +-
.../geode/cache/snapshot/SnapshotOptions.java | 10 +-
.../geode/cache/snapshot/SnapshotReader.java | 9 +-
.../geode/cache/util/CacheListenerAdapter.java | 6 +-
.../apache/geode/cache/util/CqListenerAdapter.java | 2 +-
.../java/org/apache/geode/cache/util/Gateway.java | 6 +-
.../geode/cache/util/GatewayConflictHelper.java | 4 +-
.../geode/cache/util/GatewayConflictResolver.java | 4 +-
.../org/apache/geode/cache/util/GatewayEvent.java | 24 +-
.../org/apache/geode/cache/util/ObjectSizer.java | 20 +-
.../util/RegionMembershipListenerAdapter.java | 4 +-
.../cache/util/RegionRoleListenerAdapter.java | 3 +-
.../cache/util/StringPrefixPartitionResolver.java | 4 +-
.../geode/cache/util/TimestampedEntryEvent.java | 2 +-
.../cache/util/TransactionListenerAdapter.java | 6 +-
.../apache/geode/cache/wan/GatewayEventFilter.java | 10 +-
.../cache/wan/GatewayEventSubstitutionFilter.java | 2 +-
.../apache/geode/cache/wan/GatewayQueueEvent.java | 20 +-
.../apache/geode/cache/wan/GatewayReceiver.java | 28 +-
.../geode/cache/wan/GatewayReceiverFactory.java | 24 +-
.../org/apache/geode/cache/wan/GatewaySender.java | 74 +-
.../geode/cache/wan/GatewaySenderFactory.java | 46 +-
.../geode/compression/CompressionException.java | 2 +-
.../org/apache/geode/compression/Compressor.java | 14 +-
.../apache/geode/compression/SnappyCompressor.java | 4 +-
.../apache/geode/distributed/AbstractLauncher.java | 2 +-
.../geode/distributed/ClientSocketFactory.java | 10 +-
.../geode/distributed/ConfigurationProperties.java | 103 +-
.../geode/distributed/DistributedLockService.java | 40 +-
.../geode/distributed/DistributedMember.java | 10 +-
.../geode/distributed/DistributedSystem.java | 92 +-
.../DistributedSystemDisconnectedException.java | 2 +-
.../geode/distributed/DurableClientAttributes.java | 6 +-
.../distributed/FutureCancelledException.java | 3 +-
.../distributed/GatewayCancelledException.java | 2 +-
.../java/org/apache/geode/distributed/Locator.java | 46 +-
.../apache/geode/distributed/LocatorLauncher.java | 8 +-
.../geode/distributed/LockNotHeldException.java | 1 -
.../distributed/LockServiceDestroyedException.java | 1 -
.../geode/distributed/OplogCancelledException.java | 2 +-
.../geode/distributed/PoolCancelledException.java | 2 +-
.../java/org/apache/geode/distributed/Role.java | 1 -
.../distributed/ServerLauncherCacheProvider.java | 4 +-
.../distributed/TXManagerCancelledException.java | 2 +-
.../internal/AbstractDistributionConfig.java | 11 +-
.../internal/AtomicLongWithTerminalState.java | 4 +-
.../geode/distributed/internal/CacheTime.java | 2 +-
.../internal/ClusterConfigurationService.java | 78 +-
.../internal/CollectingReplyProcessor.java | 8 +-
.../geode/distributed/internal/ConflationKey.java | 3 +-
.../org/apache/geode/distributed/internal/DM.java | 210 +-
.../apache/geode/distributed/internal/DMStats.java | 16 +-
.../apache/geode/distributed/internal/DSClock.java | 19 +-
.../distributed/internal/DirectReplyProcessor.java | 12 +-
.../distributed/internal/DistributionAdvisee.java | 20 +-
.../distributed/internal/DistributionAdvisor.java | 125 +-
.../distributed/internal/DistributionChannel.java | 2 +-
.../distributed/internal/DistributionConfig.java | 488 ++---
.../internal/DistributionConfigImpl.java | 43 +-
.../internal/DistributionConfigSnapshot.java | 2 +-
.../distributed/internal/DistributionManager.java | 189 +-
.../distributed/internal/DistributionMessage.java | 16 +-
.../internal/DistributionMessageObserver.java | 24 +-
.../distributed/internal/DistributionStats.java | 331 ++-
.../distributed/internal/FlowControlParams.java | 4 +-
.../internal/FunctionExecutionPooledExecutor.java | 10 +-
.../geode/distributed/internal/HealthMonitor.java | 2 +-
.../distributed/internal/HealthMonitorImpl.java | 2 +-
.../internal/HighPriorityAckedMessage.java | 6 +-
.../internal/InternalDistributedSystem.java | 113 +-
.../distributed/internal/InternalLocator.java | 109 +-
.../distributed/internal/LocatorLoadSnapshot.java | 14 +-
.../geode/distributed/internal/LocatorStats.java | 16 +-
.../internal/LonerDistributionManager.java | 73 +-
.../distributed/internal/MembershipListener.java | 4 +-
.../internal/OverflowQueueWithDMStats.java | 2 +-
.../internal/PooledDistributionMessage.java | 1 -
.../internal/PooledExecutorWithDMStats.java | 6 +-
.../distributed/internal/ProcessorKeeper21.java | 13 +-
.../geode/distributed/internal/ProductUseLog.java | 2 +-
.../distributed/internal/ProfileListener.java | 8 +-
.../internal/ReliableReplyException.java | 2 +-
.../internal/ReliableReplyProcessor21.java | 4 +-
.../geode/distributed/internal/ReplyException.java | 16 +-
.../geode/distributed/internal/ReplyMessage.java | 2 +-
.../distributed/internal/ReplyProcessor21.java | 57 +-
.../geode/distributed/internal/ReplySender.java | 2 +-
.../geode/distributed/internal/ResourceEvent.java | 1 -
.../internal/ResourceEventsListener.java | 6 +-
.../internal/RuntimeDistributionConfigImpl.java | 12 +-
.../distributed/internal/SerialAckedMessage.java | 6 +-
.../internal/SerialDistributionMessage.java | 1 -
.../geode/distributed/internal/ServerLocation.java | 2 +-
.../geode/distributed/internal/ServerLocator.java | 8 +-
.../distributed/internal/ShutdownMessage.java | 8 +-
.../geode/distributed/internal/Sizeable.java | 2 +-
.../distributed/internal/SizeableRunnable.java | 4 +-
.../geode/distributed/internal/StartupMessage.java | 30 +-
.../distributed/internal/StartupMessageData.java | 4 +-
.../internal/StartupMessageReplyProcessor.java | 1 +
.../distributed/internal/StartupOperation.java | 2 +-
.../internal/StartupResponseMessage.java | 1 -
.../internal/ThrottledMemQueueStatHelper.java | 6 +-
.../internal/ThrottledQueueStatHelper.java | 2 +-
.../ThrottlingMemLinkedQueueWithDMStats.java | 3 +-
.../internal/WaitForViewInstallation.java | 6 +-
.../internal/deadlock/DLockDependencyMonitor.java | 2 +-
.../internal/deadlock/DeadlockDetector.java | 20 +-
.../distributed/internal/deadlock/Dependency.java | 7 +-
.../internal/deadlock/DependencyGraph.java | 16 +-
.../internal/deadlock/DependencyMonitor.java | 2 +-
.../deadlock/DependencyMonitorManager.java | 8 +-
.../internal/deadlock/GemFireDeadlockDetector.java | 6 +-
.../internal/deadlock/LocalLockInfo.java | 2 +-
.../distributed/internal/deadlock/LocalThread.java | 2 +-
.../deadlock/MessageDependencyMonitor.java | 4 +-
.../internal/deadlock/UnsafeThreadLocal.java | 8 +-
.../distributed/internal/direct/DirectChannel.java | 45 +-
.../internal/direct/DirectChannelListener.java | 4 +-
.../internal/direct/ShunnedMemberException.java | 2 +-
.../distributed/internal/locks/DLockBatch.java | 4 +-
.../distributed/internal/locks/DLockBatchId.java | 1 -
.../distributed/internal/locks/DLockGrantor.java | 244 +--
.../locks/DLockLessorDepartureHandler.java | 1 -
.../internal/locks/DLockQueryProcessor.java | 18 +-
.../locks/DLockRecoverGrantorProcessor.java | 5 +-
.../internal/locks/DLockReleaseProcessor.java | 1 -
.../internal/locks/DLockRemoteToken.java | 30 +-
.../distributed/internal/locks/DLockService.java | 104 +-
.../distributed/internal/locks/DLockStats.java | 143 +-
.../distributed/internal/locks/DLockToken.java | 46 +-
.../internal/locks/DeposeGrantorProcessor.java | 3 +-
.../internal/locks/DistributedLockStats.java | 1 -
.../internal/locks/DistributedMemberLock.java | 21 +-
.../internal/locks/DummyDLockStats.java | 1 -
.../internal/locks/ElderInitProcessor.java | 1 -
.../distributed/internal/locks/ElderState.java | 8 +-
.../internal/locks/GrantorRequestProcessor.java | 23 +-
.../locks/LockGrantorDestroyedException.java | 1 -
.../distributed/internal/locks/LockGrantorId.java | 26 +-
.../locks/NonGrantorDestroyedProcessor.java | 6 +-
.../distributed/internal/locks/RemoteThread.java | 3 +-
.../membership/DistributedMembershipListener.java | 14 +-
.../membership/InternalDistributedMember.java | 40 +-
.../internal/membership/InternalRole.java | 16 +-
.../internal/membership/MemberAttributes.java | 1 -
.../internal/membership/MemberFactory.java | 16 +-
.../internal/membership/MemberServices.java | 20 +-
.../internal/membership/MembershipManager.java | 44 +-
.../internal/membership/MembershipTestHook.java | 4 +-
.../distributed/internal/membership/NetMember.java | 8 +-
.../distributed/internal/membership/NetView.java | 25 +-
.../internal/membership/QuorumChecker.java | 4 +-
.../internal/membership/gms/GMSMember.java | 39 +-
.../internal/membership/gms/GMSMemberFactory.java | 8 +-
.../internal/membership/gms/GMSUtil.java | 4 +-
.../internal/membership/gms/NetLocator.java | 2 +-
.../internal/membership/gms/ServiceConfig.java | 6 +-
.../internal/membership/gms/Services.java | 7 +-
.../membership/gms/fd/GMSHealthMonitor.java | 67 +-
.../membership/gms/interfaces/HealthMonitor.java | 6 +-
.../membership/gms/interfaces/Manager.java | 12 +-
.../membership/gms/interfaces/Messenger.java | 16 +-
.../membership/gms/locator/GMSLocator.java | 13 +-
.../membership/gms/membership/GMSJoinLeave.java | 49 +-
.../membership/gms/membership/HostAddress.java | 2 +-
.../membership/gms/messenger/AddressManager.java | 4 +-
.../membership/gms/messenger/GMSEncrypt.java | 7 +-
.../membership/gms/messenger/JGAddress.java | 19 +-
.../membership/gms/messenger/JGroupsMessenger.java | 87 +-
.../membership/gms/messenger/StatRecorder.java | 8 +-
.../membership/gms/messenger/Transport.java | 6 +-
.../membership/gms/mgr/GMSMembershipManager.java | 16 +-
.../membership/gms/mgr/LocalViewMessage.java | 2 +-
.../internal/streaming/StreamingOperation.java | 8 +-
.../internal/tcpserver/InfoRequest.java | 2 +-
.../internal/tcpserver/InfoResponse.java | 2 +-
.../internal/tcpserver/ShutdownRequest.java | 2 +-
.../internal/tcpserver/ShutdownResponse.java | 2 +-
.../distributed/internal/tcpserver/TcpClient.java | 10 +-
.../distributed/internal/tcpserver/TcpHandler.java | 6 +-
.../distributed/internal/tcpserver/TcpServer.java | 29 +-
.../internal/tcpserver/VersionRequest.java | 4 +-
.../internal/tcpserver/VersionResponse.java | 8 +-
.../unsafe/RegisterSignalHandlerSupport.java | 2 +-
.../examples/security/ExamplePostProcessor.java | 4 +-
.../examples/security/ExampleSecurityManager.java | 2 +-
.../java/org/apache/geode/i18n/LogWriterI18n.java | 72 +-
.../main/java/org/apache/geode/i18n/StringId.java | 16 +-
.../org/apache/geode/internal/AbstractConfig.java | 6 +-
.../java/org/apache/geode/internal/Assert.java | 6 +-
.../org/apache/geode/internal/AvailablePort.java | 4 +-
.../java/org/apache/geode/internal/Banner.java | 12 +-
.../apache/geode/internal/ByteArrayDataInput.java | 4 +-
.../geode/internal/ByteBufferOutputStream.java | 4 +-
.../org/apache/geode/internal/ClassPathLoader.java | 21 +-
.../java/org/apache/geode/internal/Config.java | 22 +-
.../org/apache/geode/internal/ConfigSource.java | 2 +-
.../apache/geode/internal/ConnectionWatcher.java | 2 +-
.../apache/geode/internal/CopyOnWriteHashSet.java | 6 +-
.../java/org/apache/geode/internal/DSCODE.java | 56 +-
.../org/apache/geode/internal/DSFIDFactory.java | 23 +-
.../geode/internal/DSFIDNotFoundException.java | 2 +-
.../geode/internal/DataSerializableFixedID.java | 20 +-
.../org/apache/geode/internal/GemFireVersion.java | 219 +-
.../geode/internal/GfeConsoleReaderFactory.java | 10 +-
.../geode/internal/HeapDataOutputStream.java | 47 +-
.../org/apache/geode/internal/HistogramStats.java | 4 +-
.../geode/internal/InternalDataSerializer.java | 157 +-
.../org/apache/geode/internal/InternalEntity.java | 4 +-
.../geode/internal/InternalInstantiator.java | 10 +-
.../InternalStatisticsDisabledException.java | 6 +-
.../org/apache/geode/internal/JarDeployer.java | 20 +-
.../org/apache/geode/internal/ManagerInfo.java | 13 +-
.../org/apache/geode/internal/MigrationClient.java | 10 +-
.../org/apache/geode/internal/MigrationServer.java | 28 +-
.../java/org/apache/geode/internal/NanoTimer.java | 21 +-
.../geode/internal/NullDataOutputStream.java | 17 +-
.../java/org/apache/geode/internal/OSProcess.java | 51 +-
.../apache/geode/internal/ObjIdConcurrentMap.java | 32 +-
.../java/org/apache/geode/internal/ObjIdMap.java | 4 +-
.../geode/internal/ObjToByteArraySerializer.java | 4 +-
.../apache/geode/internal/OneTaskOnlyExecutor.java | 14 +-
.../apache/geode/internal/PdxSerializerObject.java | 6 +-
.../apache/geode/internal/ProcessOutputReader.java | 2 +-
.../org/apache/geode/internal/PureJavaMode.java | 6 +-
.../ScheduledThreadPoolExecutorWithKeepAlive.java | 8 +-
.../java/org/apache/geode/internal/Sendable.java | 4 +-
.../geode/internal/SerializationVersions.java | 2 +-
.../java/org/apache/geode/internal/SetUtils.java | 4 +-
.../org/apache/geode/internal/SharedLibrary.java | 14 +-
.../java/org/apache/geode/internal/SmHelper.java | 8 +-
.../org/apache/geode/internal/SystemAdmin.java | 27 +-
.../geode/internal/SystemFailureTestHook.java | 2 +-
.../org/apache/geode/internal/SystemTimer.java | 34 +-
.../apache/geode/internal/UniqueIdGenerator.java | 14 +-
.../java/org/apache/geode/internal/Version.java | 25 +-
.../apache/geode/internal/VersionDescription.java | 212 ++
.../geode/internal/VersionedDataInputStream.java | 4 +-
.../geode/internal/VersionedDataOutputStream.java | 4 +-
.../geode/internal/VersionedDataSerializable.java | 2 +-
.../apache/geode/internal/VersionedDataStream.java | 4 +-
.../geode/internal/VersionedObjectInput.java | 4 +-
.../geode/internal/VersionedObjectOutput.java | 4 +-
.../org/apache/geode/internal/admin/Alert.java | 22 +-
.../apache/geode/internal/admin/ApplicationVM.java | 2 -
.../geode/internal/admin/CacheCollector.java | 7 +-
.../org/apache/geode/internal/admin/CacheInfo.java | 2 +-
.../admin/ClientHealthMonitoringRegion.java | 4 +-
.../internal/admin/ClientMembershipMessage.java | 10 +-
.../geode/internal/admin/ClientStatsManager.java | 6 +-
.../internal/admin/CompoundEntrySnapshot.java | 5 +-
.../internal/admin/CompoundRegionSnapshot.java | 1 +
.../org/apache/geode/internal/admin/DLockInfo.java | 1 +
.../org/apache/geode/internal/admin/GemFireVM.java | 30 +-
.../geode/internal/admin/GfManagerAgent.java | 3 +-
.../apache/geode/internal/admin/ListenerIdMap.java | 4 +-
.../org/apache/geode/internal/admin/SSLConfig.java | 3 +-
.../java/org/apache/geode/internal/admin/Stat.java | 1 -
.../org/apache/geode/internal/admin/StatAlert.java | 16 +-
.../geode/internal/admin/StatAlertDefinition.java | 10 +-
.../geode/internal/admin/StatAlertsManager.java | 30 +-
.../apache/geode/internal/admin/StatResource.java | 1 -
.../geode/internal/admin/TransportConfig.java | 1 -
.../admin/remote/AddHealthListenerRequest.java | 10 +-
.../admin/remote/AddHealthListenerResponse.java | 13 +-
.../admin/remote/AddStatListenerRequest.java | 11 +-
.../admin/remote/AddStatListenerResponse.java | 10 +-
.../remote/AdminConsoleDisconnectMessage.java | 4 +-
.../admin/remote/AdminFailureResponse.java | 39 +-
.../admin/remote/AdminMultipleReplyProcessor.java | 51 +-
.../geode/internal/admin/remote/AdminRegion.java | 22 +-
.../geode/internal/admin/remote/AdminRequest.java | 8 +-
.../geode/internal/admin/remote/AdminResponse.java | 6 +-
.../geode/internal/admin/remote/AdminWaiters.java | 2 +-
.../admin/remote/AlertLevelChangeMessage.java | 2 +-
.../admin/remote/AlertListenerMessage.java | 9 +-
.../admin/remote/AlertsNotificationMessage.java | 4 +-
.../admin/remote/AppCacheSnapshotMessage.java | 8 +-
.../internal/admin/remote/BridgeServerRequest.java | 8 +-
.../admin/remote/BridgeServerResponse.java | 4 +-
.../internal/admin/remote/CacheConfigRequest.java | 11 +-
.../internal/admin/remote/CacheConfigResponse.java | 8 +-
.../internal/admin/remote/CacheInfoRequest.java | 12 +-
.../internal/admin/remote/CacheInfoResponse.java | 7 +-
.../admin/remote/CancelStatListenerRequest.java | 8 +-
.../admin/remote/CancelStatListenerResponse.java | 12 +-
.../internal/admin/remote/CancellationMessage.java | 7 +-
.../admin/remote/CancellationRegistry.java | 5 +-
.../admin/remote/ChangeRefreshIntervalMessage.java | 4 +-
.../internal/admin/remote/CliLegacyMessage.java | 3 +-
.../internal/admin/remote/ClientHealthStats.java | 29 +-
.../internal/admin/remote/CompactRequest.java | 13 +-
.../internal/admin/remote/DestroyEntryMessage.java | 3 -
.../admin/remote/DestroyRegionMessage.java | 3 -
.../admin/remote/DistributionLocatorId.java | 24 +-
.../admin/remote/DurableClientInfoRequest.java | 15 +-
.../admin/remote/DurableClientInfoResponse.java | 8 +-
.../internal/admin/remote/EntryValueNodeImpl.java | 10 +-
.../admin/remote/FetchDistLockInfoRequest.java | 10 +-
.../admin/remote/FetchDistLockInfoResponse.java | 13 +-
.../admin/remote/FetchHealthDiagnosisRequest.java | 11 +-
.../admin/remote/FetchHealthDiagnosisResponse.java | 12 +-
.../internal/admin/remote/FetchHostRequest.java | 6 +-
.../internal/admin/remote/FetchHostResponse.java | 28 +-
.../remote/FetchResourceAttributesRequest.java | 8 +-
.../remote/FetchResourceAttributesResponse.java | 30 +-
.../internal/admin/remote/FetchStatsRequest.java | 8 +-
.../internal/admin/remote/FetchStatsResponse.java | 31 +-
.../internal/admin/remote/FetchSysCfgRequest.java | 6 +-
.../internal/admin/remote/FetchSysCfgResponse.java | 11 +-
.../admin/remote/FlushAppCacheSnapshotMessage.java | 5 +-
.../admin/remote/HealthListenerMessage.java | 12 +-
.../internal/admin/remote/LicenseInfoRequest.java | 10 +-
.../internal/admin/remote/LicenseInfoResponse.java | 21 +-
.../admin/remote/MissingPersistentIDsRequest.java | 13 +-
.../admin/remote/ObjectDetailsRequest.java | 11 +-
.../admin/remote/ObjectDetailsResponse.java | 12 +-
.../internal/admin/remote/ObjectNamesRequest.java | 10 +-
.../internal/admin/remote/ObjectNamesResponse.java | 10 +-
.../remote/PrepareRevokePersistentIDRequest.java | 3 +-
.../admin/remote/RefreshMemberSnapshotRequest.java | 7 +-
.../remote/RefreshMemberSnapshotResponse.java | 5 +-
.../internal/admin/remote/RegionAdminMessage.java | 8 +-
.../internal/admin/remote/RegionAdminRequest.java | 9 +-
.../admin/remote/RegionAttributesRequest.java | 10 +-
.../admin/remote/RegionAttributesResponse.java | 10 +-
.../geode/internal/admin/remote/RegionRequest.java | 11 +-
.../internal/admin/remote/RegionResponse.java | 13 +-
.../internal/admin/remote/RegionSizeRequest.java | 10 +-
.../internal/admin/remote/RegionSizeResponse.java | 11 +-
.../admin/remote/RegionStatisticsRequest.java | 8 +-
.../admin/remote/RegionStatisticsResponse.java | 10 +-
.../admin/remote/RegionSubRegionSizeRequest.java | 6 +-
.../admin/remote/RegionSubRegionsSizeResponse.java | 9 +-
.../geode/internal/admin/remote/RemoteAlert.java | 14 +-
.../internal/admin/remote/RemoteApplicationVM.java | 4 +-
.../internal/admin/remote/RemoteBridgeServer.java | 12 +-
.../admin/remote/RemoteCacheStatistics.java | 3 +-
.../internal/admin/remote/RemoteDLockInfo.java | 9 +-
.../internal/admin/remote/RemoteEntrySnapshot.java | 4 +-
.../internal/admin/remote/RemoteGemFireVM.java | 16 +-
.../admin/remote/RemoteGfManagerAgent.java | 32 +-
.../internal/admin/remote/RemoteObjectName.java | 8 +-
.../admin/remote/RemoteRegionAttributes.java | 4 +-
.../admin/remote/RemoteRegionSnapshot.java | 6 +-
.../geode/internal/admin/remote/RemoteStat.java | 4 +-
.../internal/admin/remote/RemoteStatResource.java | 3 +-
.../admin/remote/RemoteTransportConfig.java | 19 +-
.../admin/remote/RemoveHealthListenerRequest.java | 11 +-
.../admin/remote/RemoveHealthListenerResponse.java | 13 +-
.../admin/remote/ResetHealthStatusRequest.java | 13 +-
.../admin/remote/ResetHealthStatusResponse.java | 13 +-
.../admin/remote/RevokePersistentIDRequest.java | 3 +-
.../internal/admin/remote/RootRegionRequest.java | 8 +-
.../internal/admin/remote/RootRegionResponse.java | 5 +-
.../remote/ShutdownAllGatewayHubsRequest.java | 6 +-
.../internal/admin/remote/ShutdownAllRequest.java | 4 +-
.../internal/admin/remote/ShutdownAllResponse.java | 4 +-
.../admin/remote/SnapshotResultMessage.java | 9 +-
.../remote/StatAlertsManagerAssignMessage.java | 16 +-
.../internal/admin/remote/StatListenerMessage.java | 9 +-
.../internal/admin/remote/StoreSysCfgRequest.java | 9 +-
.../internal/admin/remote/StoreSysCfgResponse.java | 9 +-
.../internal/admin/remote/SubRegionRequest.java | 10 +-
.../internal/admin/remote/SubRegionResponse.java | 11 +-
.../internal/admin/remote/TailLogRequest.java | 8 +-
.../internal/admin/remote/TailLogResponse.java | 14 +-
.../admin/remote/UpdateAlertDefinitionMessage.java | 13 +-
.../internal/admin/remote/VersionInfoRequest.java | 12 +-
.../internal/admin/remote/VersionInfoResponse.java | 14 +-
.../admin/remote/VersionMismatchAlert.java | 7 +-
.../admin/statalerts/BaseDecoratorImpl.java | 10 +-
.../admin/statalerts/DummyStatisticInfoImpl.java | 8 +-
.../admin/statalerts/FunctionDecoratorImpl.java | 4 +-
.../internal/admin/statalerts/FunctionHelper.java | 26 +-
.../statalerts/GaugeThresholdDecoratorImpl.java | 4 +-
.../admin/statalerts/MultiAttrDefinitionImpl.java | 9 +-
.../statalerts/NumberThresholdDecoratorImpl.java | 4 +-
.../admin/statalerts/SingleAttrDefinitionImpl.java | 14 +-
.../internal/admin/statalerts/StatisticInfo.java | 15 +-
.../admin/statalerts/StatisticInfoImpl.java | 8 +-
.../internal/cache/AbstractBucketRegionQueue.java | 19 +-
.../geode/internal/cache/AbstractCacheServer.java | 8 +-
.../internal/cache/AbstractDiskLRURegionEntry.java | 1 +
.../geode/internal/cache/AbstractDiskRegion.java | 34 +-
.../internal/cache/AbstractDiskRegionEntry.java | 59 -
.../internal/cache/AbstractLRURegionEntry.java | 39 -
.../geode/internal/cache/AbstractLRURegionMap.java | 25 +-
.../cache/AbstractOplogDiskRegionEntry.java | 166 --
.../geode/internal/cache/AbstractRegion.java | 45 +-
.../geode/internal/cache/AbstractRegionEntry.java | 2210 -------------------
.../geode/internal/cache/AbstractRegionMap.java | 88 +-
.../internal/cache/AbstractUpdateOperation.java | 4 +-
.../apache/geode/internal/cache/AcceptHelper.java | 6 +-
.../cache/AddCacheServerProfileMessage.java | 1 -
.../apache/geode/internal/cache/BackupLock.java | 99 -
.../apache/geode/internal/cache/BackupManager.java | 603 ------
.../apache/geode/internal/cache/BucketAdvisor.java | 104 +-
.../apache/geode/internal/cache/BucketDump.java | 4 +-
.../internal/cache/BucketNotFoundException.java | 4 +-
.../internal/cache/BucketPersistenceAdvisor.java | 6 +-
.../internal/cache/BucketRedundancyTracker.java | 2 +-
.../apache/geode/internal/cache/BucketRegion.java | 101 +-
.../geode/internal/cache/BucketRegionEvictior.java | 7 +-
.../geode/internal/cache/BucketRegionQueue.java | 26 +-
.../geode/internal/cache/BucketServerLocation.java | 4 +-
.../internal/cache/BucketServerLocation66.java | 4 +-
.../internal/cache/BytesAndBitsForCompactor.java | 4 +-
.../geode/internal/cache/CacheClientStatus.java | 3 +-
.../apache/geode/internal/cache/CacheConfig.java | 6 +-
.../internal/cache/CacheDistributionAdvisee.java | 14 +-
.../internal/cache/CacheDistributionAdvisor.java | 30 +-
.../internal/cache/CacheLifecycleListener.java | 2 +-
.../apache/geode/internal/cache/CacheObserver.java | 32 +-
.../geode/internal/cache/CacheObserverAdapter.java | 12 +-
.../geode/internal/cache/CacheObserverHolder.java | 16 +-
.../geode/internal/cache/CachePerfStats.java | 18 +-
.../geode/internal/cache/CacheServerAdvisor.java | 2 +-
.../geode/internal/cache/CacheServerImpl.java | 32 +-
.../geode/internal/cache/CacheServerLauncher.java | 6 +-
.../apache/geode/internal/cache/CacheService.java | 6 +-
.../geode/internal/cache/CacheServiceProfile.java | 4 +-
.../geode/internal/cache/CacheStatisticsImpl.java | 3 -
.../geode/internal/cache/CachedDeserializable.java | 14 +-
.../cache/CachedDeserializableFactory.java | 8 +-
.../internal/cache/ClientRegionEventImpl.java | 12 +-
.../geode/internal/cache/ClientServerObserver.java | 10 +-
.../cache/ClientServerObserverAdapter.java | 6 +-
.../internal/cache/ClientServerObserverHolder.java | 2 +-
.../cache/ClientSubscriptionConfigImpl.java | 20 +-
.../geode/internal/cache/CloseCacheMessage.java | 1 -
.../internal/cache/ClusterConfigurationLoader.java | 6 +-
.../geode/internal/cache/ColocationHelper.java | 8 +-
.../geode/internal/cache/ColocationLogger.java | 8 +-
.../geode/internal/cache/CommitReplyException.java | 4 +-
.../geode/internal/cache/CompactableOplog.java | 4 +-
.../apache/geode/internal/cache/Conflatable.java | 16 +-
.../geode/internal/cache/ControllerAdvisor.java | 2 +-
.../internal/cache/CountingDataInputStream.java | 4 +-
.../internal/cache/CreateRegionProcessor.java | 4 +-
.../internal/cache/CustomEntryExpiryTask.java | 2 +-
.../internal/cache/DataLocationException.java | 2 +-
.../cache/DestroyPartitionedRegionMessage.java | 14 +-
.../internal/cache/DestroyRegionOperation.java | 18 +-
.../geode/internal/cache/DestroyedEntry.java | 2 +-
.../geode/internal/cache/DirectReplyMessage.java | 8 +-
.../geode/internal/cache/DirectoryHolder.java | 6 +-
.../geode/internal/cache/DiskDirectoryStats.java | 2 -
.../org/apache/geode/internal/cache/DiskEntry.java | 1773 ----------------
.../org/apache/geode/internal/cache/DiskId.java | 173 +-
.../apache/geode/internal/cache/DiskInitFile.java | 54 +-
.../apache/geode/internal/cache/DiskRegion.java | 28 +-
.../geode/internal/cache/DiskStoreAttributes.java | 22 +-
.../geode/internal/cache/DiskStoreBackup.java | 6 +-
.../geode/internal/cache/DiskStoreFactoryImpl.java | 5 +-
.../apache/geode/internal/cache/DiskStoreImpl.java | 123 +-
.../geode/internal/cache/DiskStoreMonitor.java | 4 +-
.../geode/internal/cache/DiskStoreStats.java | 1 -
.../internal/cache/DiskWriteAttributesImpl.java | 48 +-
.../geode/internal/cache/DistPeerTXStateStub.java | 12 +-
.../internal/cache/DistTXAdjunctCommitMessage.java | 2 +
.../geode/internal/cache/DistTXCommitMessage.java | 14 +-
.../internal/cache/DistTXCoordinatorInterface.java | 4 +-
.../internal/cache/DistTXRollbackMessage.java | 12 +-
.../apache/geode/internal/cache/DistTXState.java | 34 +-
.../internal/cache/DistTXStateOnCoordinator.java | 18 +-
.../geode/internal/cache/DistTXStateProxyImpl.java | 2 +-
.../cache/DistTXStateProxyImplOnCoordinator.java | 2 +-
.../internal/cache/DistributedCacheOperation.java | 47 +-
.../internal/cache/DistributedClearOperation.java | 8 +-
.../internal/cache/DistributedPutAllOperation.java | 17 +-
.../geode/internal/cache/DistributedRegion.java | 55 +-
.../DistributedRegionFunctionStreamingMessage.java | 6 +-
.../cache/DistributedRemoveAllOperation.java | 15 +-
.../cache/DistributedTombstoneOperation.java | 20 +-
.../internal/cache/DynamicRegionFactoryImpl.java | 2 +-
.../apache/geode/internal/cache/EntriesMap.java | 10 +-
.../apache/geode/internal/cache/EntriesSet.java | 2 +-
.../geode/internal/cache/EntryEventImpl.java | 94 +-
.../geode/internal/cache/EntryExpiryTask.java | 41 +-
.../geode/internal/cache/EntryOperationImpl.java | 12 +-
.../apache/geode/internal/cache/EntrySnapshot.java | 12 +-
.../geode/internal/cache/EnumListenerEvent.java | 8 +-
.../org/apache/geode/internal/cache/EventID.java | 76 +-
.../apache/geode/internal/cache/EventIDHolder.java | 2 +-
.../geode/internal/cache/EventStateHelper.java | 22 +-
.../internal/cache/EvictionAttributesImpl.java | 20 +-
.../geode/internal/cache/ExpirationScheduler.java | 7 +-
.../apache/geode/internal/cache/ExpiryTask.java | 47 +-
.../geode/internal/cache/ExportDiskRegion.java | 5 +-
.../apache/geode/internal/cache/FilterProfile.java | 46 +-
.../geode/internal/cache/FilterRoutingInfo.java | 22 +-
.../geode/internal/cache/FindRemoteTXMessage.java | 2 +-
.../cache/FixedPartitionAttributesImpl.java | 12 +-
.../internal/cache/ForceReattemptException.java | 12 +-
.../cache/ForceableLinkedBlockingQueue.java | 8 +-
.../FunctionStreamingOrderedReplyMessage.java | 2 +-
.../geode/internal/cache/GatewayEventFilter.java | 2 +-
.../geode/internal/cache/GemFireCacheImpl.java | 58 +-
.../apache/geode/internal/cache/GridAdvisor.java | 4 +-
.../org/apache/geode/internal/cache/HARegion.java | 34 +-
.../geode/internal/cache/HasCachePerfStats.java | 3 +-
.../apache/geode/internal/cache/HasDiskRegion.java | 20 +
.../geode/internal/cache/IdentityArrayList.java | 12 +-
.../apache/geode/internal/cache/ImageState.java | 2 +-
.../cache/InMemoryPersistentMemberView.java | 2 +-
.../internal/cache/InitialImageFlowControl.java | 6 +-
.../internal/cache/InitialImageOperation.java | 79 +-
.../apache/geode/internal/cache/InterestEvent.java | 6 +-
.../apache/geode/internal/cache/InternalCache.java | 1 +
.../geode/internal/cache/InternalCacheEvent.java | 12 +-
.../geode/internal/cache/InternalDataView.java | 22 +-
.../internal/cache/InternalDistributedRegion.java | 19 +
.../geode/internal/cache/InternalRegion.java | 86 +-
.../internal/cache/InternalRegionArguments.java | 2 +-
.../geode/internal/cache/InvalidateOperation.java | 6 +-
.../cache/InvalidatePartitionedRegionMessage.java | 22 +-
.../internal/cache/InvalidateRegionOperation.java | 3 +-
.../org/apache/geode/internal/cache/KeyInfo.java | 2 +-
.../cache/LatestLastAccessTimeMessage.java | 93 +
.../cache/LatestLastAccessTimeOperation.java | 60 +
.../cache/LatestLastAccessTimeReplyProcessor.java | 69 +
.../geode/internal/cache/LeafRegionEntry.cpp | 851 --------
.../geode/internal/cache/LoaderHelperFactory.java | 4 +-
.../geode/internal/cache/LoaderHelperImpl.java | 8 +-
.../apache/geode/internal/cache/LocalDataSet.java | 16 +-
.../apache/geode/internal/cache/LocalRegion.java | 220 +-
.../geode/internal/cache/LocalRegionDataView.java | 41 +-
.../cache/MemberFunctionStreamingMessage.java | 2 +-
.../java/org/apache/geode/internal/cache/Node.java | 6 +-
.../geode/internal/cache/NonLocalRegionEntry.java | 226 +-
.../cache/NonLocalRegionEntryWithStats.java | 2 +-
.../geode/internal/cache/OffHeapRegionEntry.java | 41 -
.../cache/OfflineCompactionDiskRegion.java | 1 +
.../org/apache/geode/internal/cache/OpType.java | 8 +-
.../org/apache/geode/internal/cache/Oplog.java | 349 +--
.../org/apache/geode/internal/cache/OplogSet.java | 9 +-
.../geode/internal/cache/OrderedTombstoneMap.java | 10 +-
.../apache/geode/internal/cache/OverflowOplog.java | 40 +-
.../geode/internal/cache/OverflowOplogSet.java | 63 +-
.../internal/cache/PRHARedundancyProvider.java | 111 +-
.../geode/internal/cache/PRQueryProcessor.java | 17 +-
.../internal/cache/PartitionAttributesImpl.java | 24 +-
.../internal/cache/PartitionRegionConfig.java | 16 +-
.../cache/PartitionRegionConfigValidator.java | 8 +-
.../geode/internal/cache/PartitionedRegion.java | 257 +--
.../cache/PartitionedRegionBucketMgmtHelper.java | 6 +-
.../internal/cache/PartitionedRegionDataStore.java | 143 +-
.../internal/cache/PartitionedRegionException.java | 2 +-
.../internal/cache/PartitionedRegionHelper.java | 32 +-
.../cache/PartitionedRegionQueryEvaluator.java | 29 +-
.../cache/PartitionedRegionRedundancyTracker.java | 5 +-
.../internal/cache/PartitionedRegionStats.java | 204 +-
.../geode/internal/cache/PeerTXStateStub.java | 2 +-
.../geode/internal/cache/PersistentOplogSet.java | 51 +-
.../internal/cache/PlaceHolderDiskRegion.java | 1 +
.../geode/internal/cache/PoolFactoryImpl.java | 4 +-
.../geode/internal/cache/PoolManagerImpl.java | 10 +-
.../org/apache/geode/internal/cache/PoolStats.java | 32 +-
.../internal/cache/ProfileExchangeProcessor.java | 4 +-
.../geode/internal/cache/ProxyBucketRegion.java | 15 +-
.../geode/internal/cache/ProxyRegionMap.java | 222 +-
.../cache/PutAllPartialResultException.java | 5 +-
.../geode/internal/cache/QueuedOperation.java | 13 +-
.../internal/cache/RegionClearedException.java | 2 +-
.../apache/geode/internal/cache/RegionEntry.java | 246 +--
.../geode/internal/cache/RegionEntryContext.java | 4 +-
.../geode/internal/cache/RegionEntryFactory.java | 2 +-
.../geode/internal/cache/RegionEventImpl.java | 29 +-
.../geode/internal/cache/RegionEvictorTask.java | 2 +-
.../geode/internal/cache/RegionFactoryImpl.java | 2 +-
.../geode/internal/cache/RegionListener.java | 4 +-
.../org/apache/geode/internal/cache/RegionMap.java | 145 +-
.../geode/internal/cache/RegionMapFactory.java | 4 +-
.../apache/geode/internal/cache/RegionQueue.java | 40 +-
.../geode/internal/cache/RegionQueueException.java | 2 +-
.../apache/geode/internal/cache/RegionStatus.java | 5 +-
.../cache/RemoteContainsKeyValueMessage.java | 8 +-
.../geode/internal/cache/RemoteDestroyMessage.java | 19 +-
.../internal/cache/RemoteFetchEntryMessage.java | 10 +-
.../internal/cache/RemoteFetchVersionMessage.java | 10 +-
.../geode/internal/cache/RemoteGetMessage.java | 18 +-
.../internal/cache/RemoteInvalidateMessage.java | 14 +-
.../internal/cache/RemoteOperationException.java | 12 +-
.../internal/cache/RemoteOperationMessage.java | 26 +-
.../RemoteOperationMessageWithDirectReply.java | 4 +-
.../geode/internal/cache/RemotePutAllMessage.java | 14 +-
.../geode/internal/cache/RemotePutMessage.java | 18 +-
.../internal/cache/RemoteRegionOperation.java | 6 +-
.../internal/cache/RemoteRemoveAllMessage.java | 14 +-
.../apache/geode/internal/cache/RoleEventImpl.java | 2 +-
.../cache/SearchLoadAndWriteProcessor.java | 18 +-
.../geode/internal/cache/ServerPingMessage.java | 6 +-
.../geode/internal/cache/StateFlushOperation.java | 9 +-
.../geode/internal/cache/TXCommitMessage.java | 38 +-
.../org/apache/geode/internal/cache/TXEntry.java | 2 +-
.../apache/geode/internal/cache/TXEntryState.java | 79 +-
.../geode/internal/cache/TXEntryStateFactory.java | 4 +-
.../geode/internal/cache/TXEntryUserAttrState.java | 4 +-
.../org/apache/geode/internal/cache/TXEvent.java | 5 +-
.../geode/internal/cache/TXFarSideCMTracker.java | 2 +-
.../java/org/apache/geode/internal/cache/TXId.java | 9 +-
.../apache/geode/internal/cache/TXLockRequest.java | 10 +-
.../apache/geode/internal/cache/TXManagerImpl.java | 65 +-
.../org/apache/geode/internal/cache/TXMessage.java | 2 +-
.../apache/geode/internal/cache/TXRegionState.java | 18 +-
.../internal/cache/TXRemoteCommitMessage.java | 8 +-
.../geode/internal/cache/TXReservationMgr.java | 9 +-
.../apache/geode/internal/cache/TXRmtEvent.java | 6 +-
.../org/apache/geode/internal/cache/TXState.java | 93 +-
.../geode/internal/cache/TXStateInterface.java | 20 +-
.../apache/geode/internal/cache/TXStateProxy.java | 6 +-
.../geode/internal/cache/TXStateProxyImpl.java | 4 +-
.../apache/geode/internal/cache/TXStateStub.java | 84 +-
.../internal/cache/TXSynchronizationRunnable.java | 3 +-
.../internal/cache/TestHeapThresholdObserver.java | 4 +-
.../internal/cache/TimestampedEntryEventImpl.java | 10 +-
.../org/apache/geode/internal/cache/Token.java | 8 +-
.../geode/internal/cache/TombstoneService.java | 18 +-
.../geode/internal/cache/TransactionMessage.java | 12 +-
.../geode/internal/cache/TxEntryFactory.java | 4 +-
.../internal/cache/UpdateAttributesProcessor.java | 18 +-
.../cache/UpdateEntryVersionOperation.java | 6 +-
.../geode/internal/cache/UpdateOperation.java | 3 +-
.../cache/UserSpecifiedDiskStoreAttributes.java | 3 +-
.../cache/UserSpecifiedRegionAttributes.java | 10 +-
.../internal/cache/VMCachedDeserializable.java | 3 +-
.../geode/internal/cache/VMLRURegionMap.java | 1 -
.../internal/cache/VMStatsDiskLRURegionEntry.java | 32 -
.../cache/VMStatsDiskLRURegionEntryHeap.java | 73 -
.../cache/VMStatsDiskLRURegionEntryHeapIntKey.java | 437 ----
.../VMStatsDiskLRURegionEntryHeapLongKey.java | 435 ----
.../VMStatsDiskLRURegionEntryHeapObjectKey.java | 429 ----
.../VMStatsDiskLRURegionEntryHeapStringKey1.java | 501 -----
.../VMStatsDiskLRURegionEntryHeapStringKey2.java | 541 -----
.../VMStatsDiskLRURegionEntryHeapUUIDKey.java | 441 ----
.../cache/VMStatsDiskLRURegionEntryOffHeap.java | 76 -
.../VMStatsDiskLRURegionEntryOffHeapIntKey.java | 506 -----
.../VMStatsDiskLRURegionEntryOffHeapLongKey.java | 504 -----
.../VMStatsDiskLRURegionEntryOffHeapObjectKey.java | 496 -----
...VMStatsDiskLRURegionEntryOffHeapStringKey1.java | 568 -----
...VMStatsDiskLRURegionEntryOffHeapStringKey2.java | 608 ------
.../VMStatsDiskLRURegionEntryOffHeapUUIDKey.java | 510 -----
.../internal/cache/VMStatsDiskRegionEntry.java | 29 -
.../internal/cache/VMStatsDiskRegionEntryHeap.java | 73 -
.../cache/VMStatsDiskRegionEntryHeapIntKey.java | 320 ---
.../cache/VMStatsDiskRegionEntryHeapLongKey.java | 318 ---
.../cache/VMStatsDiskRegionEntryHeapObjectKey.java | 309 ---
.../VMStatsDiskRegionEntryHeapStringKey1.java | 381 ----
.../VMStatsDiskRegionEntryHeapStringKey2.java | 421 ----
.../cache/VMStatsDiskRegionEntryHeapUUIDKey.java | 324 ---
.../cache/VMStatsDiskRegionEntryOffHeap.java | 74 -
.../cache/VMStatsDiskRegionEntryOffHeapIntKey.java | 386 ----
.../VMStatsDiskRegionEntryOffHeapLongKey.java | 384 ----
.../VMStatsDiskRegionEntryOffHeapObjectKey.java | 378 ----
.../VMStatsDiskRegionEntryOffHeapStringKey1.java | 450 ----
.../VMStatsDiskRegionEntryOffHeapStringKey2.java | 490 -----
.../VMStatsDiskRegionEntryOffHeapUUIDKey.java | 390 ----
.../internal/cache/VMStatsLRURegionEntry.java | 37 -
.../internal/cache/VMStatsLRURegionEntryHeap.java | 73 -
.../cache/VMStatsLRURegionEntryHeapIntKey.java | 335 ---
.../cache/VMStatsLRURegionEntryHeapLongKey.java | 333 ---
.../cache/VMStatsLRURegionEntryHeapObjectKey.java | 325 ---
.../cache/VMStatsLRURegionEntryHeapStringKey1.java | 396 ----
.../cache/VMStatsLRURegionEntryHeapStringKey2.java | 436 ----
.../cache/VMStatsLRURegionEntryHeapUUIDKey.java | 337 ---
.../cache/VMStatsLRURegionEntryOffHeap.java | 74 -
.../cache/VMStatsLRURegionEntryOffHeapIntKey.java | 401 ----
.../cache/VMStatsLRURegionEntryOffHeapLongKey.java | 399 ----
.../VMStatsLRURegionEntryOffHeapObjectKey.java | 393 ----
.../VMStatsLRURegionEntryOffHeapStringKey1.java | 465 ----
.../VMStatsLRURegionEntryOffHeapStringKey2.java | 505 -----
.../cache/VMStatsLRURegionEntryOffHeapUUIDKey.java | 403 ----
.../geode/internal/cache/VMStatsRegionEntry.java | 35 -
.../internal/cache/VMStatsRegionEntryHeap.java | 72 -
.../cache/VMStatsRegionEntryHeapIntKey.java | 233 --
.../cache/VMStatsRegionEntryHeapLongKey.java | 231 --
.../cache/VMStatsRegionEntryHeapObjectKey.java | 223 --
.../cache/VMStatsRegionEntryHeapStringKey1.java | 294 ---
.../cache/VMStatsRegionEntryHeapStringKey2.java | 334 ---
.../cache/VMStatsRegionEntryHeapUUIDKey.java | 235 --
.../internal/cache/VMStatsRegionEntryOffHeap.java | 74 -
.../cache/VMStatsRegionEntryOffHeapIntKey.java | 299 ---
.../cache/VMStatsRegionEntryOffHeapLongKey.java | 297 ---
.../cache/VMStatsRegionEntryOffHeapObjectKey.java | 289 ---
.../cache/VMStatsRegionEntryOffHeapStringKey1.java | 360 ----
.../cache/VMStatsRegionEntryOffHeapStringKey2.java | 400 ----
.../cache/VMStatsRegionEntryOffHeapUUIDKey.java | 301 ---
.../internal/cache/VMThinDiskLRURegionEntry.java | 31 -
.../cache/VMThinDiskLRURegionEntryHeap.java | 73 -
.../cache/VMThinDiskLRURegionEntryHeapIntKey.java | 355 ----
.../cache/VMThinDiskLRURegionEntryHeapLongKey.java | 353 ---
.../VMThinDiskLRURegionEntryHeapObjectKey.java | 345 ---
.../VMThinDiskLRURegionEntryHeapStringKey1.java | 417 ----
.../VMThinDiskLRURegionEntryHeapStringKey2.java | 457 ----
.../cache/VMThinDiskLRURegionEntryHeapUUIDKey.java | 359 ----
.../cache/VMThinDiskLRURegionEntryOffHeap.java | 76 -
.../VMThinDiskLRURegionEntryOffHeapIntKey.java | 422 ----
.../VMThinDiskLRURegionEntryOffHeapLongKey.java | 420 ----
.../VMThinDiskLRURegionEntryOffHeapObjectKey.java | 412 ----
.../VMThinDiskLRURegionEntryOffHeapStringKey1.java | 484 -----
.../VMThinDiskLRURegionEntryOffHeapStringKey2.java | 524 -----
.../VMThinDiskLRURegionEntryOffHeapUUIDKey.java | 426 ----
.../internal/cache/VMThinDiskRegionEntry.java | 34 -
.../internal/cache/VMThinDiskRegionEntryHeap.java | 73 -
.../cache/VMThinDiskRegionEntryHeapIntKey.java | 236 ---
.../cache/VMThinDiskRegionEntryHeapLongKey.java | 234 --
.../cache/VMThinDiskRegionEntryHeapObjectKey.java | 225 --
.../cache/VMThinDiskRegionEntryHeapStringKey1.java | 297 ---
.../cache/VMThinDiskRegionEntryHeapStringKey2.java | 337 ---
.../cache/VMThinDiskRegionEntryHeapUUIDKey.java | 240 ---
.../cache/VMThinDiskRegionEntryOffHeap.java | 74 -
.../cache/VMThinDiskRegionEntryOffHeapIntKey.java | 302 ---
.../cache/VMThinDiskRegionEntryOffHeapLongKey.java | 300 ---
.../VMThinDiskRegionEntryOffHeapObjectKey.java | 292 ---
.../VMThinDiskRegionEntryOffHeapStringKey1.java | 364 ----
.../VMThinDiskRegionEntryOffHeapStringKey2.java | 404 ----
.../cache/VMThinDiskRegionEntryOffHeapUUIDKey.java | 306 ---
.../geode/internal/cache/VMThinLRURegionEntry.java | 31 -
.../internal/cache/VMThinLRURegionEntryHeap.java | 73 -
.../cache/VMThinLRURegionEntryHeapIntKey.java | 253 ---
.../cache/VMThinLRURegionEntryHeapLongKey.java | 251 ---
.../cache/VMThinLRURegionEntryHeapObjectKey.java | 243 ---
.../cache/VMThinLRURegionEntryHeapStringKey1.java | 314 ---
.../cache/VMThinLRURegionEntryHeapStringKey2.java | 354 ----
.../cache/VMThinLRURegionEntryHeapUUIDKey.java | 255 ---
.../cache/VMThinLRURegionEntryOffHeap.java | 74 -
.../cache/VMThinLRURegionEntryOffHeapIntKey.java | 319 ---
.../cache/VMThinLRURegionEntryOffHeapLongKey.java | 317 ---
.../VMThinLRURegionEntryOffHeapObjectKey.java | 309 ---
.../VMThinLRURegionEntryOffHeapStringKey1.java | 381 ----
.../VMThinLRURegionEntryOffHeapStringKey2.java | 421 ----
.../cache/VMThinLRURegionEntryOffHeapUUIDKey.java | 321 ---
.../geode/internal/cache/VMThinRegionEntry.java | 31 -
.../internal/cache/VMThinRegionEntryHeap.java | 72 -
.../cache/VMThinRegionEntryHeapIntKey.java | 149 --
.../cache/VMThinRegionEntryHeapLongKey.java | 147 --
.../cache/VMThinRegionEntryHeapObjectKey.java | 139 --
.../cache/VMThinRegionEntryHeapStringKey1.java | 210 --
.../cache/VMThinRegionEntryHeapStringKey2.java | 250 ---
.../cache/VMThinRegionEntryHeapUUIDKey.java | 151 --
.../internal/cache/VMThinRegionEntryOffHeap.java | 74 -
.../cache/VMThinRegionEntryOffHeapIntKey.java | 215 --
.../cache/VMThinRegionEntryOffHeapLongKey.java | 213 --
.../cache/VMThinRegionEntryOffHeapObjectKey.java | 205 --
.../cache/VMThinRegionEntryOffHeapStringKey1.java | 276 ---
.../cache/VMThinRegionEntryOffHeapStringKey2.java | 316 ---
.../cache/VMThinRegionEntryOffHeapUUIDKey.java | 217 --
.../geode/internal/cache/ValidatingDiskRegion.java | 155 +-
.../geode/internal/cache/ValueByteWrapper.java | 6 +-
.../geode/internal/cache/VersionTimestamp.java | 2 +-
.../cache/VersionedStatsDiskLRURegionEntry.java | 30 -
.../VersionedStatsDiskLRURegionEntryHeap.java | 76 -
...VersionedStatsDiskLRURegionEntryHeapIntKey.java | 548 -----
...ersionedStatsDiskLRURegionEntryHeapLongKey.java | 546 -----
...sionedStatsDiskLRURegionEntryHeapObjectKey.java | 537 -----
...ionedStatsDiskLRURegionEntryHeapStringKey1.java | 609 ------
...ionedStatsDiskLRURegionEntryHeapStringKey2.java | 649 ------
...ersionedStatsDiskLRURegionEntryHeapUUIDKey.java | 552 -----
.../VersionedStatsDiskLRURegionEntryOffHeap.java | 77 -
...sionedStatsDiskLRURegionEntryOffHeapIntKey.java | 615 ------
...ionedStatsDiskLRURegionEntryOffHeapLongKey.java | 613 ------
...nedStatsDiskLRURegionEntryOffHeapObjectKey.java | 604 ------
...edStatsDiskLRURegionEntryOffHeapStringKey1.java | 676 ------
...edStatsDiskLRURegionEntryOffHeapStringKey2.java | 716 -------
...ionedStatsDiskLRURegionEntryOffHeapUUIDKey.java | 619 ------
.../cache/VersionedStatsDiskRegionEntry.java | 30 -
.../cache/VersionedStatsDiskRegionEntryHeap.java | 75 -
.../VersionedStatsDiskRegionEntryHeapIntKey.java | 430 ----
.../VersionedStatsDiskRegionEntryHeapLongKey.java | 428 ----
...VersionedStatsDiskRegionEntryHeapObjectKey.java | 419 ----
...ersionedStatsDiskRegionEntryHeapStringKey1.java | 491 -----
...ersionedStatsDiskRegionEntryHeapStringKey2.java | 531 -----
.../VersionedStatsDiskRegionEntryHeapUUIDKey.java | 434 ----
.../VersionedStatsDiskRegionEntryOffHeap.java | 76 -
...VersionedStatsDiskRegionEntryOffHeapIntKey.java | 498 -----
...ersionedStatsDiskRegionEntryOffHeapLongKey.java | 496 -----
...sionedStatsDiskRegionEntryOffHeapObjectKey.java | 487 -----
...ionedStatsDiskRegionEntryOffHeapStringKey1.java | 559 -----
...ionedStatsDiskRegionEntryOffHeapStringKey2.java | 599 ------
...ersionedStatsDiskRegionEntryOffHeapUUIDKey.java | 502 -----
.../cache/VersionedStatsLRURegionEntry.java | 31 -
.../cache/VersionedStatsLRURegionEntryHeap.java | 75 -
.../VersionedStatsLRURegionEntryHeapIntKey.java | 445 ----
.../VersionedStatsLRURegionEntryHeapLongKey.java | 443 ----
.../VersionedStatsLRURegionEntryHeapObjectKey.java | 435 ----
...VersionedStatsLRURegionEntryHeapStringKey1.java | 506 -----
...VersionedStatsLRURegionEntryHeapStringKey2.java | 546 -----
.../VersionedStatsLRURegionEntryHeapUUIDKey.java | 447 ----
.../cache/VersionedStatsLRURegionEntryOffHeap.java | 76 -
.../VersionedStatsLRURegionEntryOffHeapIntKey.java | 512 -----
...VersionedStatsLRURegionEntryOffHeapLongKey.java | 511 -----
...rsionedStatsLRURegionEntryOffHeapObjectKey.java | 503 -----
...sionedStatsLRURegionEntryOffHeapStringKey1.java | 574 -----
...sionedStatsLRURegionEntryOffHeapStringKey2.java | 614 ------
...VersionedStatsLRURegionEntryOffHeapUUIDKey.java | 515 -----
.../internal/cache/VersionedStatsRegionEntry.java | 30 -
.../cache/VersionedStatsRegionEntryHeap.java | 73 -
.../cache/VersionedStatsRegionEntryHeapIntKey.java | 340 ---
.../VersionedStatsRegionEntryHeapLongKey.java | 338 ---
.../VersionedStatsRegionEntryHeapObjectKey.java | 333 ---
.../VersionedStatsRegionEntryHeapStringKey1.java | 404 ----
.../VersionedStatsRegionEntryHeapStringKey2.java | 444 ----
.../VersionedStatsRegionEntryHeapUUIDKey.java | 342 ---
.../cache/VersionedStatsRegionEntryOffHeap.java | 76 -
.../VersionedStatsRegionEntryOffHeapIntKey.java | 409 ----
.../VersionedStatsRegionEntryOffHeapLongKey.java | 407 ----
.../VersionedStatsRegionEntryOffHeapObjectKey.java | 400 ----
...VersionedStatsRegionEntryOffHeapStringKey1.java | 471 ----
...VersionedStatsRegionEntryOffHeapStringKey2.java | 511 -----
.../VersionedStatsRegionEntryOffHeapUUIDKey.java | 411 ----
.../cache/VersionedThinDiskLRURegionEntry.java | 30 -
.../cache/VersionedThinDiskLRURegionEntryHeap.java | 75 -
.../VersionedThinDiskLRURegionEntryHeapIntKey.java | 463 ----
...VersionedThinDiskLRURegionEntryHeapLongKey.java | 462 ----
...rsionedThinDiskLRURegionEntryHeapObjectKey.java | 453 ----
...sionedThinDiskLRURegionEntryHeapStringKey1.java | 525 -----
...sionedThinDiskLRURegionEntryHeapStringKey2.java | 565 -----
...VersionedThinDiskLRURegionEntryHeapUUIDKey.java | 468 ----
.../VersionedThinDiskLRURegionEntryOffHeap.java | 76 -
...rsionedThinDiskLRURegionEntryOffHeapIntKey.java | 531 -----
...sionedThinDiskLRURegionEntryOffHeapLongKey.java | 529 -----
...onedThinDiskLRURegionEntryOffHeapObjectKey.java | 520 -----
...nedThinDiskLRURegionEntryOffHeapStringKey1.java | 592 ------
...nedThinDiskLRURegionEntryOffHeapStringKey2.java | 632 ------
...sionedThinDiskLRURegionEntryOffHeapUUIDKey.java | 535 -----
.../cache/VersionedThinDiskRegionEntry.java | 30 -
.../cache/VersionedThinDiskRegionEntryHeap.java | 75 -
.../VersionedThinDiskRegionEntryHeapIntKey.java | 344 ---
.../VersionedThinDiskRegionEntryHeapLongKey.java | 342 ---
.../VersionedThinDiskRegionEntryHeapObjectKey.java | 333 ---
...VersionedThinDiskRegionEntryHeapStringKey1.java | 405 ----
...VersionedThinDiskRegionEntryHeapStringKey2.java | 445 ----
.../VersionedThinDiskRegionEntryHeapUUIDKey.java | 348 ---
.../cache/VersionedThinDiskRegionEntryOffHeap.java | 76 -
.../VersionedThinDiskRegionEntryOffHeapIntKey.java | 411 ----
...VersionedThinDiskRegionEntryOffHeapLongKey.java | 410 ----
...rsionedThinDiskRegionEntryOffHeapObjectKey.java | 401 ----
...sionedThinDiskRegionEntryOffHeapStringKey1.java | 473 -----
...sionedThinDiskRegionEntryOffHeapStringKey2.java | 513 -----
...VersionedThinDiskRegionEntryOffHeapUUIDKey.java | 416 ----
.../cache/VersionedThinLRURegionEntry.java | 35 -
.../cache/VersionedThinLRURegionEntryHeap.java | 75 -
.../VersionedThinLRURegionEntryHeapIntKey.java | 361 ----
.../VersionedThinLRURegionEntryHeapLongKey.java | 359 ----
.../VersionedThinLRURegionEntryHeapObjectKey.java | 351 ---
.../VersionedThinLRURegionEntryHeapStringKey1.java | 422 ----
.../VersionedThinLRURegionEntryHeapStringKey2.java | 462 ----
.../VersionedThinLRURegionEntryHeapUUIDKey.java | 363 ----
.../cache/VersionedThinLRURegionEntryOffHeap.java | 76 -
.../VersionedThinLRURegionEntryOffHeapIntKey.java | 428 ----
.../VersionedThinLRURegionEntryOffHeapLongKey.java | 426 ----
...ersionedThinLRURegionEntryOffHeapObjectKey.java | 419 ----
...rsionedThinLRURegionEntryOffHeapStringKey1.java | 490 -----
...rsionedThinLRURegionEntryOffHeapStringKey2.java | 530 -----
.../VersionedThinLRURegionEntryOffHeapUUIDKey.java | 430 ----
.../internal/cache/VersionedThinRegionEntry.java | 29 -
.../cache/VersionedThinRegionEntryHeap.java | 73 -
.../cache/VersionedThinRegionEntryHeapIntKey.java | 256 ---
.../cache/VersionedThinRegionEntryHeapLongKey.java | 254 ---
.../VersionedThinRegionEntryHeapObjectKey.java | 247 ---
.../VersionedThinRegionEntryHeapStringKey1.java | 318 ---
.../VersionedThinRegionEntryHeapStringKey2.java | 358 ----
.../cache/VersionedThinRegionEntryHeapUUIDKey.java | 258 ---
.../cache/VersionedThinRegionEntryOffHeap.java | 76 -
.../VersionedThinRegionEntryOffHeapIntKey.java | 323 ---
.../VersionedThinRegionEntryOffHeapLongKey.java | 321 ---
.../VersionedThinRegionEntryOffHeapObjectKey.java | 314 ---
.../VersionedThinRegionEntryOffHeapStringKey1.java | 385 ----
.../VersionedThinRegionEntryOffHeapStringKey2.java | 425 ----
.../VersionedThinRegionEntryOffHeapUUIDKey.java | 325 ---
.../internal/cache/WrappedCallbackArgument.java | 2 +-
.../cache/WrappedRegionMembershipListener.java | 36 +-
.../cache/backup/BackupDataStoreHelper.java | 77 +
.../cache/backup/BackupDataStoreResult.java | 48 +
.../internal/cache/backup/BackupInspector.java | 174 ++
.../geode/internal/cache/backup/BackupLock.java | 114 +
.../geode/internal/cache/backup/BackupManager.java | 629 ++++++
.../internal/cache/backup/BackupOperation.java | 85 +
.../cache/backup/BackupReplyProcessor.java | 59 +
.../internal/cache/backup/BackupResponse.java | 69 +
.../cache/backup/BackupResultCollector.java | 24 +
.../geode/internal/cache/backup/BackupUtil.java | 73 +
.../geode/internal/cache/backup/FinishBackup.java | 47 +
.../internal/cache/backup/FinishBackupFactory.java | 49 +
.../cache/backup/FinishBackupOperation.java | 75 +
.../internal/cache/backup/FinishBackupRequest.java | 100 +
.../geode/internal/cache/backup/FlushToDisk.java | 33 +
.../internal/cache/backup/FlushToDiskFactory.java | 44 +
.../cache/backup/FlushToDiskOperation.java | 87 +
.../cache/backup/FlushToDiskProcessor.java | 38 +
.../internal/cache/backup/FlushToDiskRequest.java | 57 +
.../internal/cache/backup/FlushToDiskResponse.java | 43 +
.../geode/internal/cache/backup/PrepareBackup.java | 44 +
.../cache/backup/PrepareBackupFactory.java | 45 +
.../cache/backup/PrepareBackupOperation.java | 64 +
.../cache/backup/PrepareBackupRequest.java | 73 +
.../geode/internal/cache/backup/RestoreScript.java | 150 ++
.../internal/cache/backup/ScriptGenerator.java | 38 +
.../internal/cache/backup/UnixBackupInspector.java | 73 +
.../internal/cache/backup/UnixScriptGenerator.java | 72 +
.../cache/backup/WindowsBackupInspector.java | 81 +
.../cache/backup/WindowsScriptGenerator.java | 93 +
.../client/protocol/ClientProtocolProcessor.java | 45 +
.../client/protocol/ClientProtocolService.java | 43 +
.../protocol/ClientProtocolServiceLoader.java | 59 +
.../exception/ServiceLoadingFailureException.java | 35 +
.../exception/ServiceVersionNotFoundException.java | 35 +
.../CompressedCachedDeserializable.java | 8 +-
.../SnappyCompressedCachedDeserializable.java | 6 +-
.../internal/cache/control/HeapMemoryMonitor.java | 38 +-
.../cache/control/InternalResourceManager.java | 24 +-
.../geode/internal/cache/control/MemoryEvent.java | 1 -
.../internal/cache/control/MemoryMonitor.java | 4 +-
.../internal/cache/control/MemoryThresholds.java | 14 +-
.../cache/control/OffHeapMemoryMonitor.java | 20 +-
.../control/PartitionRebalanceDetailsImpl.java | 6 +-
.../cache/control/RebalanceOperationImpl.java | 2 +-
.../internal/cache/control/ResourceAdvisor.java | 12 +-
.../internal/cache/control/ResourceListener.java | 4 +-
.../internal/cache/control/ResourceMonitor.java | 6 +-
.../cache/entries/AbstractDiskRegionEntry.java | 66 +
.../cache/entries/AbstractLRURegionEntry.java | 41 +
.../entries/AbstractOplogDiskRegionEntry.java | 179 ++
.../cache/entries/AbstractRegionEntry.java | 2232 +++++++++++++++++++
.../geode/internal/cache/entries/DiskEntry.java | 1796 ++++++++++++++++
.../internal/cache/entries/LeafRegionEntry.cpp | 946 +++++++++
.../internal/cache/entries/OffHeapRegionEntry.java | 42 +
.../cache/entries/VMStatsDiskLRURegionEntry.java | 35 +
.../entries/VMStatsDiskLRURegionEntryHeap.java | 78 +
.../VMStatsDiskLRURegionEntryHeapIntKey.java | 348 +++
.../VMStatsDiskLRURegionEntryHeapLongKey.java | 348 +++
.../VMStatsDiskLRURegionEntryHeapObjectKey.java | 343 +++
.../VMStatsDiskLRURegionEntryHeapStringKey1.java | 415 ++++
.../VMStatsDiskLRURegionEntryHeapStringKey2.java | 460 ++++
.../VMStatsDiskLRURegionEntryHeapUUIDKey.java | 353 +++
.../entries/VMStatsDiskLRURegionEntryOffHeap.java | 81 +
.../VMStatsDiskLRURegionEntryOffHeapIntKey.java | 410 ++++
.../VMStatsDiskLRURegionEntryOffHeapLongKey.java | 410 ++++
.../VMStatsDiskLRURegionEntryOffHeapObjectKey.java | 402 ++++
...VMStatsDiskLRURegionEntryOffHeapStringKey1.java | 474 +++++
...VMStatsDiskLRURegionEntryOffHeapStringKey2.java | 519 +++++
.../VMStatsDiskLRURegionEntryOffHeapUUIDKey.java | 415 ++++
.../cache/entries/VMStatsDiskRegionEntry.java | 31 +
.../cache/entries/VMStatsDiskRegionEntryHeap.java | 78 +
.../entries/VMStatsDiskRegionEntryHeapIntKey.java | 234 ++
.../entries/VMStatsDiskRegionEntryHeapLongKey.java | 234 ++
.../VMStatsDiskRegionEntryHeapObjectKey.java | 226 ++
.../VMStatsDiskRegionEntryHeapStringKey1.java | 298 +++
.../VMStatsDiskRegionEntryHeapStringKey2.java | 343 +++
.../entries/VMStatsDiskRegionEntryHeapUUIDKey.java | 239 +++
.../entries/VMStatsDiskRegionEntryOffHeap.java | 79 +
.../VMStatsDiskRegionEntryOffHeapIntKey.java | 293 +++
.../VMStatsDiskRegionEntryOffHeapLongKey.java | 293 +++
.../VMStatsDiskRegionEntryOffHeapObjectKey.java | 288 +++
.../VMStatsDiskRegionEntryOffHeapStringKey1.java | 360 ++++
.../VMStatsDiskRegionEntryOffHeapStringKey2.java | 405 ++++
.../VMStatsDiskRegionEntryOffHeapUUIDKey.java | 298 +++
.../cache/entries/VMStatsLRURegionEntry.java | 34 +
.../cache/entries/VMStatsLRURegionEntryHeap.java | 78 +
.../entries/VMStatsLRURegionEntryHeapIntKey.java | 290 +++
.../entries/VMStatsLRURegionEntryHeapLongKey.java | 290 +++
.../VMStatsLRURegionEntryHeapObjectKey.java | 282 +++
.../VMStatsLRURegionEntryHeapStringKey1.java | 354 ++++
.../VMStatsLRURegionEntryHeapStringKey2.java | 399 ++++
.../entries/VMStatsLRURegionEntryHeapUUIDKey.java | 295 +++
.../entries/VMStatsLRURegionEntryOffHeap.java | 79 +
.../VMStatsLRURegionEntryOffHeapIntKey.java | 348 +++
.../VMStatsLRURegionEntryOffHeapLongKey.java | 349 +++
.../VMStatsLRURegionEntryOffHeapObjectKey.java | 343 +++
.../VMStatsLRURegionEntryOffHeapStringKey1.java | 416 ++++
.../VMStatsLRURegionEntryOffHeapStringKey2.java | 461 ++++
.../VMStatsLRURegionEntryOffHeapUUIDKey.java | 354 ++++
.../internal/cache/entries/VMStatsRegionEntry.java | 36 +
.../cache/entries/VMStatsRegionEntryHeap.java | 77 +
.../entries/VMStatsRegionEntryHeapIntKey.java | 191 ++
.../entries/VMStatsRegionEntryHeapLongKey.java | 191 ++
.../entries/VMStatsRegionEntryHeapObjectKey.java | 183 ++
.../entries/VMStatsRegionEntryHeapStringKey1.java | 255 +++
.../entries/VMStatsRegionEntryHeapStringKey2.java | 300 +++
.../entries/VMStatsRegionEntryHeapUUIDKey.java | 196 ++
.../cache/entries/VMStatsRegionEntryOffHeap.java | 79 +
.../entries/VMStatsRegionEntryOffHeapIntKey.java | 249 +++
.../entries/VMStatsRegionEntryOffHeapLongKey.java | 249 +++
.../VMStatsRegionEntryOffHeapObjectKey.java | 241 +++
.../VMStatsRegionEntryOffHeapStringKey1.java | 314 +++
.../VMStatsRegionEntryOffHeapStringKey2.java | 359 ++++
.../entries/VMStatsRegionEntryOffHeapUUIDKey.java | 254 +++
.../cache/entries/VMThinDiskLRURegionEntry.java | 34 +
.../entries/VMThinDiskLRURegionEntryHeap.java | 78 +
.../VMThinDiskLRURegionEntryHeapIntKey.java | 271 +++
.../VMThinDiskLRURegionEntryHeapLongKey.java | 271 +++
.../VMThinDiskLRURegionEntryHeapObjectKey.java | 264 +++
.../VMThinDiskLRURegionEntryHeapStringKey1.java | 336 +++
.../VMThinDiskLRURegionEntryHeapStringKey2.java | 381 ++++
.../VMThinDiskLRURegionEntryHeapUUIDKey.java | 276 +++
.../entries/VMThinDiskLRURegionEntryOffHeap.java | 81 +
.../VMThinDiskLRURegionEntryOffHeapIntKey.java | 331 +++
.../VMThinDiskLRURegionEntryOffHeapLongKey.java | 331 +++
.../VMThinDiskLRURegionEntryOffHeapObjectKey.java | 323 +++
.../VMThinDiskLRURegionEntryOffHeapStringKey1.java | 395 ++++
.../VMThinDiskLRURegionEntryOffHeapStringKey2.java | 440 ++++
.../VMThinDiskLRURegionEntryOffHeapUUIDKey.java | 336 +++
.../cache/entries/VMThinDiskRegionEntry.java | 34 +
.../cache/entries/VMThinDiskRegionEntryHeap.java | 78 +
.../entries/VMThinDiskRegionEntryHeapIntKey.java | 156 ++
.../entries/VMThinDiskRegionEntryHeapLongKey.java | 156 ++
.../VMThinDiskRegionEntryHeapObjectKey.java | 148 ++
.../VMThinDiskRegionEntryHeapStringKey1.java | 220 ++
.../VMThinDiskRegionEntryHeapStringKey2.java | 265 +++
.../entries/VMThinDiskRegionEntryHeapUUIDKey.java | 161 ++
.../entries/VMThinDiskRegionEntryOffHeap.java | 79 +
.../VMThinDiskRegionEntryOffHeapIntKey.java | 214 ++
.../VMThinDiskRegionEntryOffHeapLongKey.java | 215 ++
.../VMThinDiskRegionEntryOffHeapObjectKey.java | 208 ++
.../VMThinDiskRegionEntryOffHeapStringKey1.java | 280 +++
.../VMThinDiskRegionEntryOffHeapStringKey2.java | 325 +++
.../VMThinDiskRegionEntryOffHeapUUIDKey.java | 220 ++
.../cache/entries/VMThinLRURegionEntry.java | 32 +
.../cache/entries/VMThinLRURegionEntryHeap.java | 78 +
.../entries/VMThinLRURegionEntryHeapIntKey.java | 213 ++
.../entries/VMThinLRURegionEntryHeapLongKey.java | 213 ++
.../entries/VMThinLRURegionEntryHeapObjectKey.java | 205 ++
.../VMThinLRURegionEntryHeapStringKey1.java | 277 +++
.../VMThinLRURegionEntryHeapStringKey2.java | 322 +++
.../entries/VMThinLRURegionEntryHeapUUIDKey.java | 218 ++
.../cache/entries/VMThinLRURegionEntryOffHeap.java | 79 +
.../entries/VMThinLRURegionEntryOffHeapIntKey.java | 271 +++
.../VMThinLRURegionEntryOffHeapLongKey.java | 271 +++
.../VMThinLRURegionEntryOffHeapObjectKey.java | 264 +++
.../VMThinLRURegionEntryOffHeapStringKey1.java | 337 +++
.../VMThinLRURegionEntryOffHeapStringKey2.java | 382 ++++
.../VMThinLRURegionEntryOffHeapUUIDKey.java | 276 +++
.../internal/cache/entries/VMThinRegionEntry.java | 32 +
.../cache/entries/VMThinRegionEntryHeap.java | 77 +
.../cache/entries/VMThinRegionEntryHeapIntKey.java | 113 +
.../entries/VMThinRegionEntryHeapLongKey.java | 113 +
.../entries/VMThinRegionEntryHeapObjectKey.java | 105 +
.../entries/VMThinRegionEntryHeapStringKey1.java | 177 ++
.../entries/VMThinRegionEntryHeapStringKey2.java | 222 ++
.../entries/VMThinRegionEntryHeapUUIDKey.java | 118 ++
.../cache/entries/VMThinRegionEntryOffHeap.java | 79 +
.../entries/VMThinRegionEntryOffHeapIntKey.java | 171 ++
.../entries/VMThinRegionEntryOffHeapLongKey.java | 171 ++
.../entries/VMThinRegionEntryOffHeapObjectKey.java | 163 ++
.../VMThinRegionEntryOffHeapStringKey1.java | 235 ++
.../VMThinRegionEntryOffHeapStringKey2.java | 280 +++
.../entries/VMThinRegionEntryOffHeapUUIDKey.java | 176 ++
.../entries/VersionedStatsDiskLRURegionEntry.java | 31 +
.../VersionedStatsDiskLRURegionEntryHeap.java | 81 +
...VersionedStatsDiskLRURegionEntryHeapIntKey.java | 466 ++++
...ersionedStatsDiskLRURegionEntryHeapLongKey.java | 466 ++++
...sionedStatsDiskLRURegionEntryHeapObjectKey.java | 458 ++++
...ionedStatsDiskLRURegionEntryHeapStringKey1.java | 530 +++++
...ionedStatsDiskLRURegionEntryHeapStringKey2.java | 575 +++++
...ersionedStatsDiskLRURegionEntryHeapUUIDKey.java | 471 ++++
.../VersionedStatsDiskLRURegionEntryOffHeap.java | 82 +
...sionedStatsDiskLRURegionEntryOffHeapIntKey.java | 525 +++++
...ionedStatsDiskLRURegionEntryOffHeapLongKey.java | 525 +++++
...nedStatsDiskLRURegionEntryOffHeapObjectKey.java | 517 +++++
...edStatsDiskLRURegionEntryOffHeapStringKey1.java | 589 ++++++
...edStatsDiskLRURegionEntryOffHeapStringKey2.java | 634 ++++++
...ionedStatsDiskLRURegionEntryOffHeapUUIDKey.java | 530 +++++
.../entries/VersionedStatsDiskRegionEntry.java | 31 +
.../entries/VersionedStatsDiskRegionEntryHeap.java | 80 +
.../VersionedStatsDiskRegionEntryHeapIntKey.java | 352 +++
.../VersionedStatsDiskRegionEntryHeapLongKey.java | 352 +++
...VersionedStatsDiskRegionEntryHeapObjectKey.java | 344 +++
...ersionedStatsDiskRegionEntryHeapStringKey1.java | 416 ++++
...ersionedStatsDiskRegionEntryHeapStringKey2.java | 461 ++++
.../VersionedStatsDiskRegionEntryHeapUUIDKey.java | 357 ++++
.../VersionedStatsDiskRegionEntryOffHeap.java | 81 +
...VersionedStatsDiskRegionEntryOffHeapIntKey.java | 412 ++++
...ersionedStatsDiskRegionEntryOffHeapLongKey.java | 412 ++++
...sionedStatsDiskRegionEntryOffHeapObjectKey.java | 404 ++++
...ionedStatsDiskRegionEntryOffHeapStringKey1.java | 476 +++++
...ionedStatsDiskRegionEntryOffHeapStringKey2.java | 521 +++++
...ersionedStatsDiskRegionEntryOffHeapUUIDKey.java | 417 ++++
.../entries/VersionedStatsLRURegionEntry.java | 32 +
.../entries/VersionedStatsLRURegionEntryHeap.java | 80 +
.../VersionedStatsLRURegionEntryHeapIntKey.java | 407 ++++
.../VersionedStatsLRURegionEntryHeapLongKey.java | 407 ++++
.../VersionedStatsLRURegionEntryHeapObjectKey.java | 399 ++++
...VersionedStatsLRURegionEntryHeapStringKey1.java | 471 ++++
...VersionedStatsLRURegionEntryHeapStringKey2.java | 516 +++++
.../VersionedStatsLRURegionEntryHeapUUIDKey.java | 412 ++++
.../VersionedStatsLRURegionEntryOffHeap.java | 81 +
.../VersionedStatsLRURegionEntryOffHeapIntKey.java | 466 ++++
...VersionedStatsLRURegionEntryOffHeapLongKey.java | 467 ++++
...rsionedStatsLRURegionEntryOffHeapObjectKey.java | 459 ++++
...sionedStatsLRURegionEntryOffHeapStringKey1.java | 531 +++++
...sionedStatsLRURegionEntryOffHeapStringKey2.java | 576 +++++
...VersionedStatsLRURegionEntryOffHeapUUIDKey.java | 472 +++++
.../cache/entries/VersionedStatsRegionEntry.java | 28 +
.../entries/VersionedStatsRegionEntryHeap.java | 78 +
.../VersionedStatsRegionEntryHeapIntKey.java | 306 +++
.../VersionedStatsRegionEntryHeapLongKey.java | 306 +++
.../VersionedStatsRegionEntryHeapObjectKey.java | 301 +++
.../VersionedStatsRegionEntryHeapStringKey1.java | 373 ++++
.../VersionedStatsRegionEntryHeapStringKey2.java | 418 ++++
.../VersionedStatsRegionEntryHeapUUIDKey.java | 311 +++
.../entries/VersionedStatsRegionEntryOffHeap.java | 81 +
.../VersionedStatsRegionEntryOffHeapIntKey.java | 368 ++++
.../VersionedStatsRegionEntryOffHeapLongKey.java | 368 ++++
.../VersionedStatsRegionEntryOffHeapObjectKey.java | 360 ++++
...VersionedStatsRegionEntryOffHeapStringKey1.java | 432 ++++
...VersionedStatsRegionEntryOffHeapStringKey2.java | 477 +++++
.../VersionedStatsRegionEntryOffHeapUUIDKey.java | 373 ++++
.../entries/VersionedThinDiskLRURegionEntry.java | 31 +
.../VersionedThinDiskLRURegionEntryHeap.java | 80 +
.../VersionedThinDiskLRURegionEntryHeapIntKey.java | 386 ++++
...VersionedThinDiskLRURegionEntryHeapLongKey.java | 387 ++++
...rsionedThinDiskLRURegionEntryHeapObjectKey.java | 379 ++++
...sionedThinDiskLRURegionEntryHeapStringKey1.java | 451 ++++
...sionedThinDiskLRURegionEntryHeapStringKey2.java | 496 +++++
...VersionedThinDiskLRURegionEntryHeapUUIDKey.java | 392 ++++
.../VersionedThinDiskLRURegionEntryOffHeap.java | 81 +
...rsionedThinDiskLRURegionEntryOffHeapIntKey.java | 446 ++++
...sionedThinDiskLRURegionEntryOffHeapLongKey.java | 446 ++++
...onedThinDiskLRURegionEntryOffHeapObjectKey.java | 438 ++++
...nedThinDiskLRURegionEntryOffHeapStringKey1.java | 510 +++++
...nedThinDiskLRURegionEntryOffHeapStringKey2.java | 555 +++++
...sionedThinDiskLRURegionEntryOffHeapUUIDKey.java | 451 ++++
.../entries/VersionedThinDiskRegionEntry.java | 28 +
.../entries/VersionedThinDiskRegionEntryHeap.java | 80 +
.../VersionedThinDiskRegionEntryHeapIntKey.java | 272 +++
.../VersionedThinDiskRegionEntryHeapLongKey.java | 272 +++
.../VersionedThinDiskRegionEntryHeapObjectKey.java | 264 +++
...VersionedThinDiskRegionEntryHeapStringKey1.java | 336 +++
...VersionedThinDiskRegionEntryHeapStringKey2.java | 381 ++++
.../VersionedThinDiskRegionEntryHeapUUIDKey.java | 277 +++
.../VersionedThinDiskRegionEntryOffHeap.java | 81 +
.../VersionedThinDiskRegionEntryOffHeapIntKey.java | 331 +++
...VersionedThinDiskRegionEntryOffHeapLongKey.java | 332 +++
...rsionedThinDiskRegionEntryOffHeapObjectKey.java | 324 +++
...sionedThinDiskRegionEntryOffHeapStringKey1.java | 396 ++++
...sionedThinDiskRegionEntryOffHeapStringKey2.java | 441 ++++
...VersionedThinDiskRegionEntryOffHeapUUIDKey.java | 337 +++
.../cache/entries/VersionedThinLRURegionEntry.java | 29 +
.../entries/VersionedThinLRURegionEntryHeap.java | 80 +
.../VersionedThinLRURegionEntryHeapIntKey.java | 328 +++
.../VersionedThinLRURegionEntryHeapLongKey.java | 328 +++
.../VersionedThinLRURegionEntryHeapObjectKey.java | 320 +++
.../VersionedThinLRURegionEntryHeapStringKey1.java | 392 ++++
.../VersionedThinLRURegionEntryHeapStringKey2.java | 437 ++++
.../VersionedThinLRURegionEntryHeapUUIDKey.java | 333 +++
.../VersionedThinLRURegionEntryOffHeap.java | 81 +
.../VersionedThinLRURegionEntryOffHeapIntKey.java | 387 ++++
.../VersionedThinLRURegionEntryOffHeapLongKey.java | 387 ++++
...ersionedThinLRURegionEntryOffHeapObjectKey.java | 380 ++++
...rsionedThinLRURegionEntryOffHeapStringKey1.java | 452 ++++
...rsionedThinLRURegionEntryOffHeapStringKey2.java | 497 +++++
.../VersionedThinLRURegionEntryOffHeapUUIDKey.java | 392 ++++
.../cache/entries/VersionedThinRegionEntry.java | 30 +
.../entries/VersionedThinRegionEntryHeap.java | 78 +
.../VersionedThinRegionEntryHeapIntKey.java | 228 ++
.../VersionedThinRegionEntryHeapLongKey.java | 228 ++
.../VersionedThinRegionEntryHeapObjectKey.java | 221 ++
.../VersionedThinRegionEntryHeapStringKey1.java | 293 +++
.../VersionedThinRegionEntryHeapStringKey2.java | 338 +++
.../VersionedThinRegionEntryHeapUUIDKey.java | 233 ++
.../entries/VersionedThinRegionEntryOffHeap.java | 81 +
.../VersionedThinRegionEntryOffHeapIntKey.java | 288 +++
.../VersionedThinRegionEntryOffHeapLongKey.java | 288 +++
.../VersionedThinRegionEntryOffHeapObjectKey.java | 280 +++
.../VersionedThinRegionEntryOffHeapStringKey1.java | 352 +++
.../VersionedThinRegionEntryOffHeapStringKey2.java | 397 ++++
.../VersionedThinRegionEntryOffHeapUUIDKey.java | 293 +++
.../cache/event/DistributedEventTracker.java | 6 +-
.../internal/cache/execute/AbstractExecution.java | 8 +-
.../cache/execute/BucketMovedException.java | 7 +-
.../cache/execute/DefaultResultCollector.java | 14 +-
.../execute/DistributedRegionFunctionExecutor.java | 10 +-
.../DistributedRegionFunctionResultSender.java | 2 +-
.../DistributedRegionFunctionResultWaiter.java | 2 +-
.../cache/execute/FunctionContextImpl.java | 20 +-
.../cache/execute/FunctionExecutionNodePruner.java | 6 +-
.../cache/execute/FunctionRemoteContext.java | 2 +-
.../cache/execute/FunctionServiceStats.java | 26 +-
.../internal/cache/execute/FunctionStats.java | 31 +-
.../execute/FunctionStreamingResultCollector.java | 4 +-
.../internal/cache/execute/InternalExecution.java | 16 +-
.../cache/execute/InternalFunctionException.java | 14 +-
.../InternalFunctionInvocationTargetException.java | 10 +-
.../cache/execute/InternalFunctionService.java | 20 +-
.../execute/InternalRegionFunctionContext.java | 10 +-
.../cache/execute/InternalResultSender.java | 2 +-
.../cache/execute/LocalResultCollector.java | 2 +-
.../cache/execute/MemberFunctionResultSender.java | 6 +-
.../cache/execute/MemberFunctionResultWaiter.java | 2 +-
.../cache/execute/MemberMappedArgument.java | 8 +-
.../cache/execute/MultiRegionFunctionContext.java | 10 +-
.../execute/MultiRegionFunctionContextImpl.java | 6 +-
.../execute/MultiRegionFunctionResultWaiter.java | 2 +-
.../geode/internal/cache/execute/NoResult.java | 12 +-
.../PartitionedRegionFunctionResultSender.java | 6 +-
.../PartitionedRegionFunctionResultWaiter.java | 4 +-
.../cache/execute/RegionFunctionContextImpl.java | 14 +-
.../cache/execute/ServerFunctionExecutor.java | 4 +-
.../execute/ServerRegionFunctionExecutor.java | 2 +-
.../ServerToClientFunctionResultSender65.java | 2 +-
.../cache/execute/StreamingFunctionOperation.java | 1 +
.../geode/internal/cache/extension/Extensible.java | 6 +-
.../geode/internal/cache/extension/Extension.java | 4 +-
.../internal/cache/extension/ExtensionPoint.java | 12 +-
.../cache/extension/SimpleExtensionPoint.java | 6 +-
.../geode/internal/cache/ha/HAContainerMap.java | 2 +-
.../geode/internal/cache/ha/HARegionQueue.java | 162 +-
.../internal/cache/ha/HARegionQueueAttributes.java | 18 +-
.../internal/cache/ha/HARegionQueueStats.java | 30 +-
.../geode/internal/cache/ha/ThreadIdentifier.java | 30 +-
.../cache/locks/TXLessorDepartureHandler.java | 1 -
.../geode/internal/cache/locks/TXLockBatch.java | 20 +-
.../geode/internal/cache/locks/TXLockId.java | 1 -
.../geode/internal/cache/locks/TXLockIdImpl.java | 7 +-
.../geode/internal/cache/locks/TXLockService.java | 7 +-
.../internal/cache/locks/TXLockServiceImpl.java | 14 +-
.../locks/TXLockUpdateParticipantsMessage.java | 17 +-
.../cache/locks/TXOriginatorRecoveryProcessor.java | 1 -
.../locks/TXRecoverGrantorMessageProcessor.java | 8 +-
.../internal/cache/locks/TXRegionLockRequest.java | 5 +-
.../apache/geode/internal/cache/lru/EnableLRU.java | 3 +-
.../geode/internal/cache/lru/HeapEvictor.java | 19 +-
.../cache/lru/HeapLRUCapacityController.java | 10 +-
.../internal/cache/lru/HeapLRUStatistics.java | 4 +-
.../geode/internal/cache/lru/LRUAlgorithm.java | 12 +-
.../internal/cache/lru/LRUCapacityController.java | 14 +-
.../geode/internal/cache/lru/LRUClockNode.java | 2 +-
.../apache/geode/internal/cache/lru/LRUEntry.java | 6 +-
.../geode/internal/cache/lru/LRUMapCallbacks.java | 6 +-
.../geode/internal/cache/lru/LRUStatistics.java | 1 -
.../cache/lru/MemLRUCapacityController.java | 13 +-
.../geode/internal/cache/lru/NewLIFOClockHand.java | 4 +-
.../geode/internal/cache/lru/NewLRUClockHand.java | 11 +-
.../apache/geode/internal/cache/lru/Sizeable.java | 16 +-
.../operations/ContainsKeyOperationContext.java | 6 +-
.../AllBucketProfilesUpdateMessage.java | 5 +-
.../partitioned/BecomePrimaryBucketMessage.java | 6 +-
.../geode/internal/cache/partitioned/Bucket.java | 12 +-
.../cache/partitioned/BucketBackupMessage.java | 4 +-
.../cache/partitioned/BucketCountLoadProbe.java | 2 +-
.../partitioned/BucketProfileUpdateMessage.java | 4 +-
.../cache/partitioned/BucketSizeMessage.java | 8 +-
.../cache/partitioned/ColocatedRegionDetails.java | 8 +-
.../cache/partitioned/ContainsKeyValueMessage.java | 6 +-
.../cache/partitioned/CreateBucketMessage.java | 16 +-
.../partitioned/CreateMissingBucketsTask.java | 2 +-
.../partitioned/DeposePrimaryBucketMessage.java | 2 +-
.../internal/cache/partitioned/DestroyMessage.java | 14 +-
.../DestroyRegionOnDataStoreMessage.java | 16 +-
.../cache/partitioned/DumpAllPRConfigMessage.java | 2 +-
.../internal/cache/partitioned/DumpB2NRegion.java | 6 +-
.../cache/partitioned/DumpBucketsMessage.java | 2 +-
.../partitioned/EndBucketCreationMessage.java | 6 +-
.../cache/partitioned/FetchBulkEntriesMessage.java | 8 +-
.../cache/partitioned/FetchEntriesMessage.java | 37 +-
.../cache/partitioned/FetchEntryMessage.java | 8 +-
.../cache/partitioned/FetchKeysMessage.java | 10 +-
.../partitioned/FetchPartitionDetailsMessage.java | 6 +-
.../internal/cache/partitioned/FlushMessage.java | 8 +-
.../internal/cache/partitioned/GetMessage.java | 33 +-
.../cache/partitioned/IdentityRequestMessage.java | 16 +-
.../cache/partitioned/IdentityUpdateMessage.java | 2 +-
.../cache/partitioned/IndexCreationMsg.java | 38 +-
.../internal/cache/partitioned/InternalPRInfo.java | 8 +-
.../partitioned/InternalPartitionDetails.java | 6 +-
.../cache/partitioned/InvalidateMessage.java | 12 +-
.../partitioned/ManageBackupBucketMessage.java | 20 +-
.../cache/partitioned/ManageBucketMessage.java | 20 +-
.../cache/partitioned/MoveBucketMessage.java | 4 +-
.../cache/partitioned/PREntriesIterator.java | 2 +-
.../geode/internal/cache/partitioned/PRLoad.java | 12 +-
.../partitioned/PRLocallyDestroyedException.java | 2 +-
.../cache/partitioned/PRSanityCheckMessage.java | 14 +-
.../cache/partitioned/PRTombstoneMessage.java | 2 +-
.../partitioned/PRUpdateEntryVersionMessage.java | 12 +-
.../cache/partitioned/PartitionMemberInfoImpl.java | 4 +-
.../cache/partitioned/PartitionMessage.java | 28 +-
.../PartitionMessageWithDirectReply.java | 4 +-
.../partitioned/PartitionedRegionObserver.java | 4 +-
.../PartitionedRegionObserverAdapter.java | 2 +-
.../PartitionedRegionObserverHolder.java | 2 +-
.../partitioned/PartitionedRegionRebalanceOp.java | 28 +-
.../cache/partitioned/PrimaryRequestMessage.java | 10 +-
.../cache/partitioned/PutAllPRMessage.java | 8 +-
.../internal/cache/partitioned/PutMessage.java | 18 +-
.../internal/cache/partitioned/QueryMessage.java | 4 +-
.../cache/partitioned/RedundancyLogger.java | 9 +-
.../internal/cache/partitioned/RegionAdvisor.java | 97 +-
.../cache/partitioned/RemoteFetchKeysMessage.java | 14 +-
.../cache/partitioned/RemoteSizeMessage.java | 12 +-
.../cache/partitioned/RemoveAllPRMessage.java | 8 +-
.../cache/partitioned/RemoveBucketMessage.java | 4 +-
.../cache/partitioned/RemoveIndexesMessage.java | 42 +-
.../internal/cache/partitioned/SizeMessage.java | 10 +-
.../cache/partitioned/SizedBasedLoadProbe.java | 10 +-
.../partitioned/StreamingPartitionOperation.java | 8 +-
.../partitioned/rebalance/BucketOperator.java | 12 +-
.../partitioned/rebalance/CompositeDirector.java | 6 +-
.../cache/partitioned/rebalance/FPRDirector.java | 4 +-
.../cache/partitioned/rebalance/MoveBuckets.java | 2 +-
.../cache/partitioned/rebalance/MovePrimaries.java | 2 +-
.../rebalance/ParallelBucketOperator.java | 14 +-
.../rebalance/PartitionedRegionLoadModel.java | 24 +-
.../rebalance/PercentageMoveDirector.java | 6 +-
.../partitioned/rebalance/RebalanceDirector.java | 12 +-
.../rebalance/RebalanceDirectorAdapter.java | 2 +-
.../partitioned/rebalance/SatisfyRedundancy.java | 2 +-
.../cache/persistence/BackupInspector.java | 174 --
.../cache/persistence/CanonicalIdHolder.java | 13 +-
.../CreatePersistentRegionProcessor.java | 4 +-
.../cache/persistence/DiskInitFileParser.java | 4 +-
.../cache/persistence/DiskRecoveryStore.java | 5 +-
.../internal/cache/persistence/DiskStoreID.java | 2 +-
.../cache/persistence/MembershipFlushRequest.java | 2 +-
.../cache/persistence/MembershipViewRequest.java | 2 +-
.../cache/persistence/PersistenceAdvisor.java | 16 +-
.../cache/persistence/PersistenceAdvisorImpl.java | 13 +-
.../cache/persistence/PersistentMemberID.java | 2 +-
.../cache/persistence/PersistentMemberManager.java | 16 +-
.../cache/persistence/PersistentMemberPattern.java | 4 +-
.../cache/persistence/PersistentMemberView.java | 12 +-
.../persistence/PersistentMembershipView.java | 2 +-
.../persistence/PersistentStateQueryMessage.java | 2 +-
.../PrepareNewPersistentMemberMessage.java | 2 +-
.../persistence/RemovePersistentMemberMessage.java | 2 +-
.../internal/cache/persistence/RestoreScript.java | 150 --
.../cache/persistence/ScriptGenerator.java | 38 -
.../cache/persistence/UnixBackupInspector.java | 73 -
.../cache/persistence/UnixScriptGenerator.java | 69 -
.../cache/persistence/WindowsBackupInspector.java | 81 -
.../cache/persistence/WindowsScriptGenerator.java | 94 -
.../internal/cache/persistence/query/IndexMap.java | 18 +-
.../cache/persistence/query/ResultBag.java | 12 +-
.../cache/persistence/query/ResultList.java | 4 +-
.../cache/persistence/query/ResultMap.java | 14 +-
.../cache/persistence/query/ResultSet.java | 12 +-
.../query/TemporaryResultSetFactory.java | 12 +-
.../persistence/query/mock/ByteComparator.java | 2 +-
.../query/mock/CachedDeserializableComparator.java | 2 +-
.../cache/persistence/query/mock/IndexMapImpl.java | 5 +-
.../cache/persistence/query/mock/ItrAdapter.java | 2 +-
.../apache/geode/internal/cache/properties.html | 2 +-
.../region/entry/RegionEntryFactoryBuilder.java | 32 +
.../internal/cache/snapshot/ClientExporter.java | 2 +-
.../internal/cache/snapshot/ExportedRegistry.java | 2 +-
.../internal/cache/snapshot/FlowController.java | 22 +-
.../geode/internal/cache/snapshot/GFSnapshot.java | 18 +-
.../internal/cache/snapshot/LocalExporter.java | 2 +-
.../cache/snapshot/ParallelSnapshotFileMapper.java | 2 +-
.../cache/snapshot/RegionSnapshotServiceImpl.java | 40 +-
.../cache/snapshot/SnapshotFileMapper.java | 14 +-
.../cache/snapshot/SnapshotOptionsImpl.java | 2 +-
.../internal/cache/snapshot/SnapshotPacket.java | 26 +-
.../internal/cache/snapshot/WindowedExporter.java | 40 +-
.../apache/geode/internal/cache/tier/Acceptor.java | 2 +-
.../geode/internal/cache/tier/BatchException.java | 6 +-
.../internal/cache/tier/CachedRegionHelper.java | 2 +-
.../geode/internal/cache/tier/ClientHandShake.java | 2 +-
.../geode/internal/cache/tier/ConnectionProxy.java | 2 +-
.../geode/internal/cache/tier/InterestType.java | 4 +-
.../cache/tier/InternalClientMembership.java | 27 +-
.../geode/internal/cache/tier/MessageType.java | 10 +-
.../internal/cache/tier/sockets/AcceptorImpl.java | 4 +-
.../internal/cache/tier/sockets/BaseCommand.java | 43 +-
.../cache/tier/sockets/CacheClientNotifier.java | 53 +-
.../tier/sockets/CacheClientNotifierStats.java | 2 +-
.../cache/tier/sockets/CacheClientProxy.java | 27 +-
.../cache/tier/sockets/CacheClientProxyStats.java | 32 +-
.../cache/tier/sockets/CacheClientUpdater.java | 32 +-
.../cache/tier/sockets/CacheServerHelper.java | 19 +-
.../cache/tier/sockets/CacheServerStats.java | 2 +-
.../cache/tier/sockets/ChunkedMessage.java | 44 +-
.../tier/sockets/ClientBlacklistProcessor.java | 17 +-
.../tier/sockets/ClientDataSerializerMessage.java | 10 +-
.../cache/tier/sockets/ClientHealthMonitor.java | 50 +-
.../tier/sockets/ClientInstantiatorMessage.java | 17 +-
.../tier/sockets/ClientInterestMessageImpl.java | 14 +-
.../tier/sockets/ClientMarkerMessageImpl.java | 4 +-
.../internal/cache/tier/sockets/ClientMessage.java | 4 +-
.../cache/tier/sockets/ClientPingMessageImpl.java | 4 +-
.../tier/sockets/ClientProtocolProcessor.java | 45 -
.../cache/tier/sockets/ClientProtocolService.java | 41 -
.../tier/sockets/ClientProtocolServiceLoader.java | 51 -
.../tier/sockets/ClientProxyMembershipID.java | 53 +-
.../cache/tier/sockets/ClientTombstoneMessage.java | 2 +-
.../cache/tier/sockets/ClientUpdateMessage.java | 20 +-
.../tier/sockets/ClientUpdateMessageImpl.java | 24 +-
.../cache/tier/sockets/ClientUserAuths.java | 2 +-
.../cache/tier/sockets/CommBufferPool.java | 4 +-
.../cache/tier/sockets/CommandInitializer.java | 2 +-
.../cache/tier/sockets/ConnectionListener.java | 6 +-
.../tier/sockets/ConnectionListenerAdapter.java | 2 +-
.../sockets/GenericProtocolServerConnection.java | 9 +-
.../cache/tier/sockets/HAEventWrapper.java | 34 +-
.../internal/cache/tier/sockets/HandShake.java | 98 +-
.../tier/sockets/InterestResultPolicyImpl.java | 4 +-
.../cache/tier/sockets/LegacyServerConnection.java | 6 +-
.../geode/internal/cache/tier/sockets/Message.java | 29 +-
.../internal/cache/tier/sockets/MessageStats.java | 2 +-
.../cache/tier/sockets/ObjectPartList.java | 20 +-
.../cache/tier/sockets/ObjectPartList651.java | 12 +-
.../tier/sockets/OldClientSupportService.java | 8 +-
.../geode/internal/cache/tier/sockets/Part.java | 6 +-
.../sockets/RemoveClientFromBlacklistMessage.java | 2 +-
.../tier/sockets/SerializedObjectPartList.java | 4 +-
.../cache/tier/sockets/ServerConnection.java | 16 +-
.../tier/sockets/ServerConnectionFactory.java | 25 +-
.../tier/sockets/ServerHandShakeProcessor.java | 10 +-
.../cache/tier/sockets/ServerQueueStatus.java | 16 +-
.../cache/tier/sockets/ServerResponseMatrix.java | 12 +-
.../sockets/ServiceLoadingFailureException.java | 35 -
.../cache/tier/sockets/TcpServerFactory.java | 1 +
.../cache/tier/sockets/UserAuthAttributes.java | 2 +-
.../cache/tier/sockets/VersionedObjectList.java | 28 +-
.../cache/tier/sockets/command/AddPdxEnum.java | 2 +-
.../cache/tier/sockets/command/AddPdxType.java | 2 +-
.../cache/tier/sockets/command/ClearRegion.java | 2 +-
.../cache/tier/sockets/command/ClientReady.java | 10 +-
.../tier/sockets/command/CloseConnection.java | 4 +-
.../cache/tier/sockets/command/CommitCommand.java | 10 +-
.../cache/tier/sockets/command/ContainsKey.java | 2 +-
.../cache/tier/sockets/command/ContainsKey66.java | 2 +-
.../cache/tier/sockets/command/CreateRegion.java | 2 +-
.../cache/tier/sockets/command/Default.java | 8 +-
.../cache/tier/sockets/command/Destroy.java | 2 +-
.../cache/tier/sockets/command/Destroy65.java | 2 +-
.../cache/tier/sockets/command/Destroy70.java | 8 +-
.../cache/tier/sockets/command/DestroyRegion.java | 2 +-
.../tier/sockets/command/ExecuteFunction.java | 4 +-
.../tier/sockets/command/ExecuteFunction65.java | 2 +-
.../tier/sockets/command/ExecuteFunction66.java | 2 +-
.../tier/sockets/command/ExecuteFunction70.java | 2 +-
.../sockets/command/ExecuteRegionFunction.java | 2 +-
.../sockets/command/ExecuteRegionFunction61.java | 7 +-
.../sockets/command/ExecuteRegionFunction65.java | 3 +-
.../sockets/command/ExecuteRegionFunction66.java | 3 +-
.../command/ExecuteRegionFunctionSingleHop.java | 3 +-
.../sockets/command/GatewayReceiverCommand.java | 2 +-
.../internal/cache/tier/sockets/command/Get70.java | 2 +-
.../cache/tier/sockets/command/GetAll.java | 2 +-
.../cache/tier/sockets/command/GetAll651.java | 2 +-
.../cache/tier/sockets/command/GetAll70.java | 2 +-
.../cache/tier/sockets/command/GetAllForRI.java | 8 +-
.../tier/sockets/command/GetAllWithCallback.java | 2 +-
.../command/GetClientPRMetadataCommand.java | 6 +-
.../command/GetClientPRMetadataCommand66.java | 6 +-
.../GetClientPartitionAttributesCommand.java | 6 +-
.../GetClientPartitionAttributesCommand66.java | 6 +-
.../cache/tier/sockets/command/GetEntry70.java | 5 +-
.../tier/sockets/command/GetEntryCommand.java | 4 +-
.../tier/sockets/command/GetFunctionAttribute.java | 6 +-
.../cache/tier/sockets/command/GetPDXEnumById.java | 2 +-
.../tier/sockets/command/GetPDXIdForEnum.java | 2 +-
.../tier/sockets/command/GetPDXIdForType.java | 2 +-
.../cache/tier/sockets/command/GetPDXTypeById.java | 2 +-
.../cache/tier/sockets/command/GetPdxEnums70.java | 2 +-
.../cache/tier/sockets/command/GetPdxTypes70.java | 2 +-
.../cache/tier/sockets/command/Invalid.java | 8 +-
.../cache/tier/sockets/command/Invalidate.java | 2 +-
.../cache/tier/sockets/command/Invalidate70.java | 6 +-
.../cache/tier/sockets/command/KeySet.java | 2 +-
.../cache/tier/sockets/command/MakePrimary.java | 8 +-
.../cache/tier/sockets/command/PeriodicAck.java | 8 +-
.../internal/cache/tier/sockets/command/Ping.java | 10 +-
.../internal/cache/tier/sockets/command/Put.java | 2 +-
.../internal/cache/tier/sockets/command/Put61.java | 2 +-
.../internal/cache/tier/sockets/command/Put65.java | 2 +-
.../internal/cache/tier/sockets/command/Put70.java | 8 +-
.../cache/tier/sockets/command/PutAll.java | 2 +-
.../cache/tier/sockets/command/PutAll70.java | 2 +-
.../cache/tier/sockets/command/PutAll80.java | 2 +-
.../tier/sockets/command/PutAllWithCallback.java | 3 +-
.../tier/sockets/command/PutUserCredentials.java | 2 +-
.../internal/cache/tier/sockets/command/Query.java | 2 +-
.../cache/tier/sockets/command/Query651.java | 2 +-
.../cache/tier/sockets/command/QueryGeode10.java | 4 +-
.../command/QueryWithParametersGeode10.java | 4 +-
.../sockets/command/RegisterDataSerializers.java | 2 +-
.../sockets/command/RegisterInstantiators.java | 4 +-
.../tier/sockets/command/RegisterInterest.java | 4 +-
.../tier/sockets/command/RegisterInterest61.java | 2 +-
.../tier/sockets/command/RegisterInterestList.java | 4 +-
.../sockets/command/RegisterInterestList61.java | 4 +-
.../sockets/command/RegisterInterestList66.java | 2 +-
.../cache/tier/sockets/command/RemoveAll.java | 2 +-
.../cache/tier/sockets/command/RemoveUserAuth.java | 2 +-
.../cache/tier/sockets/command/Request.java | 2 +-
.../tier/sockets/command/RequestEventValue.java | 4 +-
.../tier/sockets/command/RollbackCommand.java | 2 +-
.../internal/cache/tier/sockets/command/Size.java | 2 +-
.../sockets/command/TXSynchronizationCommand.java | 16 +-
.../tier/sockets/command/UnregisterInterest.java | 2 +-
.../sockets/command/UnregisterInterestList.java | 2 +-
.../sockets/command/UpdateClientNotification.java | 4 +-
.../internal/cache/tx/ClientTXRegionStub.java | 4 +-
.../geode/internal/cache/tx/ClientTXStateStub.java | 5 +-
.../internal/cache/tx/DistClientTXStateStub.java | 4 +-
.../geode/internal/cache/tx/DistTxEntryEvent.java | 4 +-
.../internal/cache/tx/DistributedTXRegionStub.java | 10 +-
.../internal/cache/tx/PartitionedTXRegionStub.java | 14 +-
.../geode/internal/cache/tx/TXRegionStub.java | 4 +-
.../internal/cache/tx/TransactionalOperation.java | 2 +-
.../cache/versions/CompactVersionHolder.java | 4 +-
.../ConcurrentCacheModificationException.java | 4 +-
.../cache/versions/DiskRegionVersionVector.java | 6 +-
.../internal/cache/versions/DiskVersionTag.java | 2 +-
.../internal/cache/versions/RVVException.java | 14 +-
.../internal/cache/versions/RVVExceptionB.java | 2 +-
.../internal/cache/versions/RVVExceptionT.java | 4 +-
.../cache/versions/RegionVersionHolder.java | 26 +-
.../cache/versions/RegionVersionVector.java | 73 +-
.../cache/versions/VMRegionVersionVector.java | 2 +-
.../internal/cache/versions/VMVersionTag.java | 4 +-
.../internal/cache/versions/VersionSource.java | 10 +-
.../internal/cache/versions/VersionStamp.java | 46 +-
.../geode/internal/cache/versions/VersionTag.java | 4 +-
.../internal/cache/wan/AbstractGatewaySender.java | 16 +-
.../wan/AbstractGatewaySenderEventProcessor.java | 14 +-
.../wan/AsyncEventQueueConfigurationException.java | 8 +-
.../geode/internal/cache/wan/BatchException70.java | 8 +-
.../cache/wan/DistributedSystemListener.java | 2 +-
.../cache/wan/GatewayReceiverException.java | 8 +-
.../internal/cache/wan/GatewayReceiverStats.java | 2 +-
.../internal/cache/wan/GatewaySenderAdvisor.java | 4 +-
.../wan/GatewaySenderConfigurationException.java | 6 +-
.../wan/GatewaySenderEventCallbackArgument.java | 29 +-
.../wan/GatewaySenderEventCallbackDispatcher.java | 14 +-
.../internal/cache/wan/GatewaySenderEventImpl.java | 50 +-
.../internal/cache/wan/GatewaySenderException.java | 6 +-
.../internal/cache/wan/GatewaySenderStats.java | 61 +-
.../WaitUntilGatewaySenderFlushedCoordinator.java | 5 +-
.../ConcurrentParallelGatewaySenderQueue.java | 17 +-
.../wan/parallel/ParallelGatewaySenderQueue.java | 4 +-
.../parallel/ParallelQueueBatchRemovalMessage.java | 6 +-
.../wan/parallel/ParallelQueueRemovalMessage.java | 2 +-
.../cache/wan/parallel/RREventIDResolver.java | 4 +-
...tilParallelGatewaySenderFlushedCoordinator.java | 16 +-
.../cache/wan/serial/BatchDestroyOperation.java | 6 +-
...oncurrentSerialGatewaySenderEventProcessor.java | 6 +-
.../serial/SerialGatewaySenderEventProcessor.java | 20 +-
.../cache/wan/serial/SerialGatewaySenderQueue.java | 28 +-
.../internal/cache/xmlcache/AbstractXmlParser.java | 2 +-
.../internal/cache/xmlcache/BindingCreation.java | 8 +-
.../internal/cache/xmlcache/CacheCreation.java | 67 +-
.../cache/xmlcache/CacheServerCreation.java | 4 +-
.../geode/internal/cache/xmlcache/CacheXml.java | 55 +-
.../internal/cache/xmlcache/CacheXmlGenerator.java | 11 +-
.../internal/cache/xmlcache/CacheXmlParser.java | 34 +-
.../cache/xmlcache/CacheXmlPropertyResolver.java | 6 +-
.../xmlcache/CacheXmlPropertyResolverHelper.java | 6 +-
.../internal/cache/xmlcache/CacheXmlVersion.java | 12 +-
.../cache/xmlcache/ClientHaQueueCreation.java | 2 +-
.../geode/internal/cache/xmlcache/Declarable2.java | 3 +-
.../cache/xmlcache/DefaultEntityResolver2.java | 2 +-
.../xmlcache/DiskStoreAttributesCreation.java | 8 +-
.../cache/xmlcache/GatewayReceiverCreation.java | 6 +-
.../cache/xmlcache/GeodeEntityResolver.java | 6 +-
.../internal/cache/xmlcache/IndexCreationData.java | 4 +-
.../xmlcache/ParallelGatewaySenderCreation.java | 2 +-
.../cache/xmlcache/PivotalEntityResolver.java | 6 +-
.../internal/cache/xmlcache/PropertyResolver.java | 4 +-
.../cache/xmlcache/RegionAttributesCreation.java | 16 +-
.../internal/cache/xmlcache/RegionCreation.java | 6 +-
.../cache/xmlcache/ResourceManagerCreation.java | 28 +-
.../xmlcache/SerialAsyncEventQueueCreation.java | 2 +-
.../xmlcache/SerialGatewaySenderCreation.java | 2 +-
.../cache/xmlcache/SerializerCreation.java | 16 +-
.../internal/cache/xmlcache/XmlGenerator.java | 6 +-
.../internal/cache/xmlcache/XmlGeneratorUtils.java | 45 +-
.../geode/internal/cache/xmlcache/XmlParser.java | 8 +-
.../org/apache/geode/internal/concurrent/AL.java | 4 +-
.../apache/geode/internal/concurrent/Atomics.java | 4 +-
.../concurrent/CompactConcurrentHashSet2.java | 12 +-
.../internal/concurrent/ConcurrentHashSet.java | 2 +-
.../org/apache/geode/internal/concurrent/LI.java | 4 +-
.../geode/internal/concurrent/MapCallback.java | 36 +-
.../geode/internal/concurrent/MapResult.java | 2 +-
.../internal/datasource/AbstractDataSource.java | 34 +-
.../internal/datasource/AbstractPoolCache.java | 28 +-
.../datasource/ClientConnectionFactoryWrapper.java | 2 +-
.../geode/internal/datasource/ConfigProperty.java | 2 +-
.../datasource/ConfiguredDataSourceProperties.java | 38 +-
.../datasource/ConnectionEventListenerAdaptor.java | 6 +-
.../internal/datasource/ConnectionPoolCache.java | 6 +-
.../datasource/ConnectionPoolCacheImpl.java | 4 +-
.../internal/datasource/ConnectionProvider.java | 6 +-
.../datasource/ConnectionProviderException.java | 4 +-
.../datasource/DataSourceCreateException.java | 4 +-
.../internal/datasource/DataSourceFactory.java | 24 +-
.../datasource/FacetsJCAConnectionManagerImpl.java | 16 +-
.../datasource/GemFireBasicDataSource.java | 10 +-
.../datasource/GemFireConnPooledDataSource.java | 20 +-
.../datasource/GemFireConnectionPoolManager.java | 15 +-
.../datasource/GemFireTransactionDataSource.java | 20 +-
.../datasource/JCAConnectionManagerImpl.java | 13 +-
.../internal/datasource/ManagedPoolCacheImpl.java | 6 +-
.../geode/internal/datasource/PoolException.java | 4 +-
.../internal/datasource/TranxPoolCacheImpl.java | 6 +-
.../org/apache/geode/internal/hll/HyperLogLog.java | 4 +-
.../apache/geode/internal/hll/HyperLogLogPlus.java | 4 +-
.../org/apache/geode/internal/hll/RegisterSet.java | 4 +-
.../i18n/AbstractStringIdResourceBundle.java | 14 +-
.../geode/internal/i18n/LocalizedStrings.java | 2 +-
.../org/apache/geode/internal/i18n/StringId.java | 8 +-
.../geode/internal/io/CompositeOutputStream.java | 4 +-
.../io/MainWithChildrenRollingFileHandler.java | 6 +-
.../geode/internal/io/RollingFileHandler.java | 4 +-
.../apache/geode/internal/io/TeeOutputStream.java | 2 +-
.../apache/geode/internal/jndi/ContextImpl.java | 120 +-
.../internal/jndi/InitialContextFactoryImpl.java | 13 +-
.../apache/geode/internal/jndi/JNDIInvoker.java | 29 +-
.../apache/geode/internal/jndi/NameParserImpl.java | 11 +-
.../geode/internal/jta/GlobalTransaction.java | 54 +-
.../apache/geode/internal/jta/TransactionImpl.java | 34 +-
.../geode/internal/jta/TransactionManagerImpl.java | 34 +-
.../geode/internal/jta/TransactionUtils.java | 6 +-
.../geode/internal/jta/UserTransactionImpl.java | 21 +-
.../org/apache/geode/internal/jta/XidImpl.java | 10 +-
.../org/apache/geode/internal/lang/ClassUtils.java | 14 +-
.../org/apache/geode/internal/lang/Filter.java | 2 +-
.../apache/geode/internal/lang/InOutParameter.java | 14 +-
.../org/apache/geode/internal/lang/Initable.java | 2 +-
.../geode/internal/lang/MutableIdentifiable.java | 4 +-
.../apache/geode/internal/lang/ObjectUtils.java | 20 +-
.../org/apache/geode/internal/lang/Orderable.java | 4 +-
.../org/apache/geode/internal/lang/Ordered.java | 6 +-
.../geode/internal/lang/SystemPropertyHelper.java | 21 +-
.../apache/geode/internal/lang/SystemUtils.java | 22 +-
.../apache/geode/internal/lang/ThreadUtils.java | 138 --
.../apache/geode/internal/lang/ThrowableUtils.java | 2 +-
.../geode/internal/logging/DateFormatter.java | 12 +-
.../geode/internal/logging/DebugLogWriter.java | 8 +-
.../geode/internal/logging/InternalLogWriter.java | 26 +-
.../geode/internal/logging/LocalLogWriter.java | 6 +-
.../apache/geode/internal/logging/LogConfig.java | 2 +-
.../apache/geode/internal/logging/LogService.java | 19 +-
.../geode/internal/logging/LogWriterFactory.java | 4 +-
.../geode/internal/logging/LogWriterImpl.java | 106 +-
.../geode/internal/logging/LoggingThreadGroup.java | 4 +-
.../geode/internal/logging/ManagerLogWriter.java | 20 +-
.../geode/internal/logging/MergeLogFiles.java | 14 +-
.../geode/internal/logging/PureLogWriter.java | 18 +-
.../internal/logging/SecurityLocalLogWriter.java | 10 +-
.../geode/internal/logging/SecurityLogConfig.java | 6 +-
.../geode/internal/logging/SecurityLogWriter.java | 4 +-
.../internal/logging/SecurityManagerLogWriter.java | 8 +-
.../internal/logging/StandardErrorPrinter.java | 6 +-
.../internal/logging/StandardOutputPrinter.java | 6 +-
.../internal/logging/log4j/AlertAppender.java | 13 +-
.../internal/logging/log4j/AppenderContext.java | 7 +-
.../internal/logging/log4j/ConfigLocator.java | 4 +-
.../geode/internal/logging/log4j/FastLogger.java | 2 +-
.../internal/logging/log4j/GemFireLogger.java | 170 +-
.../internal/logging/log4j/LocalizedMessage.java | 2 +-
.../geode/internal/logging/log4j/LogLevel.java | 19 +-
.../internal/logging/log4j/LogWriterAppender.java | 23 +-
.../internal/logging/log4j/LogWriterAppenders.java | 28 +-
.../internal/logging/log4j/LogWriterLogger.java | 249 +--
.../log4j/message/GemFireParameterizedMessage.java | 16 +-
.../GemFireParameterizedMessageFactory.java | 2 +-
.../apache/geode/internal/memcached/Command.java | 4 +-
.../geode/internal/memcached/CommandProcessor.java | 4 +-
.../internal/memcached/ConnectionHandler.java | 4 +-
.../geode/internal/memcached/KeyWrapper.java | 4 +-
.../org/apache/geode/internal/memcached/Reply.java | 1 -
.../geode/internal/memcached/RequestReader.java | 4 +-
.../geode/internal/memcached/ResponseStatus.java | 2 +-
.../geode/internal/memcached/ValueWrapper.java | 6 +-
.../memcached/commands/AbstractCommand.java | 4 +-
.../internal/memcached/commands/AddCommand.java | 4 +-
.../internal/memcached/commands/AddQCommand.java | 2 +-
.../internal/memcached/commands/AppendCommand.java | 2 +-
.../memcached/commands/AppendQCommand.java | 2 +-
.../internal/memcached/commands/CASCommand.java | 2 +-
.../internal/memcached/commands/ClientError.java | 2 +-
.../memcached/commands/DecrementCommand.java | 6 +-
.../memcached/commands/DecrementQCommand.java | 2 +-
.../internal/memcached/commands/DeleteCommand.java | 2 +-
.../memcached/commands/DeleteQCommand.java | 2 +-
.../memcached/commands/FlushAllQCommand.java | 2 +-
.../internal/memcached/commands/GATCommand.java | 2 +-
.../internal/memcached/commands/GATQCommand.java | 2 +-
.../internal/memcached/commands/GetCommand.java | 4 +-
.../internal/memcached/commands/GetKCommand.java | 2 +-
.../internal/memcached/commands/GetKQCommand.java | 2 +-
.../internal/memcached/commands/GetQCommand.java | 2 +-
.../memcached/commands/IncrementCommand.java | 4 +-
.../memcached/commands/IncrementQCommand.java | 2 +-
.../internal/memcached/commands/NoOpCommand.java | 2 +-
.../memcached/commands/NotSupportedCommand.java | 2 +-
.../memcached/commands/PrependCommand.java | 2 +-
.../memcached/commands/PrependQCommand.java | 2 +-
.../internal/memcached/commands/QuitCommand.java | 6 +-
.../internal/memcached/commands/QuitQCommand.java | 2 +-
.../memcached/commands/ReplaceCommand.java | 4 +-
.../memcached/commands/ReplaceQCommand.java | 2 +-
.../internal/memcached/commands/SetCommand.java | 4 +-
.../internal/memcached/commands/SetQCommand.java | 2 +-
.../internal/memcached/commands/StatsCommand.java | 6 +-
.../memcached/commands/StorageCommand.java | 6 +-
.../internal/memcached/commands/TouchCommand.java | 2 +-
.../memcached/commands/VerbosityCommand.java | 6 +-
.../memcached/commands/VersionCommand.java | 2 +-
.../internal/modules/util/RegionConfiguration.java | 27 +-
.../internal/net/SSLConfigurationFactory.java | 12 +-
.../apache/geode/internal/net/SocketCloser.java | 15 +-
.../apache/geode/internal/net/SocketCreator.java | 1 -
.../geode/internal/net/SocketCreatorFactory.java | 6 +-
.../org/apache/geode/internal/net/SocketUtils.java | 6 +-
.../internal/offheap/AddressableMemoryManager.java | 2 +-
.../apache/geode/internal/offheap/DataType.java | 2 +-
.../apache/geode/internal/offheap/Fragment.java | 2 +-
.../geode/internal/offheap/FreeListManager.java | 23 +-
.../geode/internal/offheap/LifecycleListener.java | 18 +-
.../geode/internal/offheap/MemoryAllocator.java | 6 +-
.../internal/offheap/MemoryAllocatorImpl.java | 4 +-
.../apache/geode/internal/offheap/MemoryBlock.java | 2 +-
.../geode/internal/offheap/MemoryInspector.java | 2 +-
.../internal/offheap/MemoryUsageListener.java | 2 +-
.../geode/internal/offheap/OffHeapHelper.java | 10 +-
.../geode/internal/offheap/OffHeapMemoryStats.java | 2 +-
.../internal/offheap/OffHeapRegionEntryHelper.java | 12 +-
.../geode/internal/offheap/OffHeapStorage.java | 10 +-
.../internal/offheap/OffHeapStoredObject.java | 36 +-
.../offheap/OutOfOffHeapMemoryListener.java | 6 +-
.../internal/offheap/ReferenceCountHelper.java | 4 +-
.../internal/offheap/ReferenceCountHelperImpl.java | 4 +-
.../apache/geode/internal/offheap/Releasable.java | 2 +-
.../apache/geode/internal/offheap/SlabFactory.java | 2 +-
.../apache/geode/internal/offheap/SlabImpl.java | 2 +-
.../geode/internal/offheap/StoredObject.java | 14 +-
.../offheap/annotations/OffHeapIdentifier.java | 2 +-
.../internal/offheap/annotations/Released.java | 4 +-
.../internal/offheap/annotations/Retained.java | 4 +-
.../internal/offheap/annotations/Unretained.java | 4 +-
.../geode/internal/process/AttachProcessUtils.java | 2 +-
.../process/BlockingProcessStreamReader.java | 4 +-
.../process/ConnectionFailedException.java | 2 +-
.../internal/process/ControlFileWatchdog.java | 2 +-
.../process/ControlNotificationHandler.java | 2 +-
.../internal/process/ControllableProcess.java | 6 +-
.../process/FileAlreadyExistsException.java | 2 +-
.../internal/process/FileControllerParameters.java | 2 +-
.../internal/process/FileProcessController.java | 10 +-
.../internal/process/LocalProcessLauncher.java | 16 +-
.../process/MBeanControllerParameters.java | 2 +-
.../process/MBeanInvocationFailedException.java | 2 +-
.../internal/process/MBeanProcessController.java | 30 +-
.../geode/internal/process/NativeProcessUtils.java | 2 +-
.../process/NonBlockingProcessStreamReader.java | 2 +-
.../org/apache/geode/internal/process/PidFile.java | 14 +-
.../internal/process/PidUnavailableException.java | 2 +-
.../geode/internal/process/ProcessController.java | 4 +-
.../internal/process/ProcessControllerFactory.java | 2 +-
.../process/ProcessControllerParameters.java | 4 +-
.../internal/process/ProcessLauncherContext.java | 6 +-
.../internal/process/ProcessStreamReader.java | 2 +-
.../apache/geode/internal/process/ProcessType.java | 2 +-
.../geode/internal/process/ProcessUtils.java | 14 +-
.../process/UnableToControlProcessException.java | 2 +-
.../geode/internal/security/AuthorizeRequest.java | 4 +-
.../internal/security/AuthorizeRequestPP.java | 2 +-
.../internal/security/CallbackInstantiator.java | 7 +-
.../internal/security/FilterPostAuthorization.java | 4 +-
.../internal/security/FilterPreAuthorization.java | 8 +-
.../security/IntegratedSecurityService.java | 2 +-
.../security/SecurableCommunicationChannel.java | 3 +-
.../internal/security/SecurityServiceFactory.java | 9 +-
.../internal/security/shiro/CustomAuthRealm.java | 9 +-
.../security/shiro/JMXShiroAuthenticator.java | 9 +-
.../geode/internal/sequencelog/EntryLogger.java | 2 +-
.../geode/internal/sequencelog/RegionLogger.java | 4 +-
.../geode/internal/sequencelog/SequenceLogger.java | 8 +-
.../internal/sequencelog/SequenceLoggerImpl.java | 8 +-
.../sequencelog/io/GemfireLogConverter.java | 4 +-
.../geode/internal/sequencelog/model/Graph.java | 2 +-
.../apache/geode/internal/shared/NativeCalls.java | 38 +-
.../geode/internal/shared/NativeCallsJNAImpl.java | 47 +-
.../internal/shared/NativeErrorException.java | 2 +-
.../geode/internal/shared/StringPrintWriter.java | 8 +-
.../geode/internal/shared/TCPSocketOptions.java | 2 +-
.../geode/internal/size/ObjectGraphSizer.java | 20 +-
.../geode/internal/size/ObjectTraverser.java | 8 +-
.../geode/internal/size/ReflectionObjectSizer.java | 12 +-
.../internal/size/ReflectionSingleObjectSizer.java | 2 +-
.../geode/internal/size/SingleObjectSizer.java | 2 +-
.../internal/size/SizeClassOnceObjectSizer.java | 10 +-
.../apache/geode/internal/size/SizeOfUtil0.java | 4 +-
.../geode/internal/size/WellKnownClassSizer.java | 2 +-
.../statistics/AbstractStatisticsFactory.java | 14 +-
.../geode/internal/statistics/ArchiveSplitter.java | 2 +-
.../geode/internal/statistics/CallbackSampler.java | 4 +-
.../statistics/DummyStatisticsFactory.java | 6 +-
.../internal/statistics/GemFireStatSampler.java | 30 +-
.../geode/internal/statistics/HostStatHelper.java | 11 +-
.../geode/internal/statistics/HostStatSampler.java | 25 +-
.../statistics/IgnoreResourceException.java | 2 +-
.../internal/statistics/LocalStatListener.java | 4 +-
.../internal/statistics/LocalStatisticsImpl.java | 8 +-
.../internal/statistics/ResourceInstance.java | 2 +-
.../geode/internal/statistics/ResourceType.java | 2 +-
.../geode/internal/statistics/SampleCollector.java | 19 +-
.../geode/internal/statistics/SampleHandler.java | 10 +-
.../internal/statistics/SimpleStatSampler.java | 2 +-
.../internal/statistics/SimpleStatisticId.java | 2 +-
.../internal/statistics/StatArchiveDescriptor.java | 2 +-
.../internal/statistics/StatArchiveHandler.java | 39 +-
.../statistics/StatArchiveHandlerConfig.java | 2 +-
.../internal/statistics/StatArchiveReader.java | 28 +-
.../internal/statistics/StatArchiveWriter.java | 27 +-
.../internal/statistics/StatMonitorHandler.java | 9 +-
.../internal/statistics/StatSamplerStats.java | 36 +-
.../geode/internal/statistics/StatisticId.java | 2 +-
.../geode/internal/statistics/StatisticsImpl.java | 9 +-
.../internal/statistics/StatisticsMonitor.java | 8 +-
.../internal/statistics/StatisticsSampler.java | 6 +-
.../statistics/StatisticsTypeFactoryImpl.java | 10 +-
.../internal/statistics/StatisticsTypeImpl.java | 6 +-
.../internal/statistics/StatisticsTypeXml.java | 21 +-
.../apache/geode/internal/statistics/VMStats.java | 14 +-
.../geode/internal/statistics/VMStatsContract.java | 2 +-
.../geode/internal/statistics/ValueMonitor.java | 6 +-
.../statistics/platform/LinuxProcFsStatistics.java | 13 +-
.../statistics/platform/LinuxProcessStats.java | 6 +-
.../statistics/platform/LinuxSystemStats.java | 104 +-
.../statistics/platform/OSXProcessStats.java | 6 +-
.../statistics/platform/OSXSystemStats.java | 68 +-
.../statistics/platform/OsStatisticsFactory.java | 2 +-
.../statistics/platform/SolarisProcessStats.java | 64 +-
.../statistics/platform/SolarisSystemStats.java | 144 +-
.../statistics/platform/WindowsProcessStats.java | 32 +-
.../statistics/platform/WindowsSystemStats.java | 90 +-
.../internal/stats50/Atomic50StatisticsImpl.java | 14 +-
.../apache/geode/internal/stats50/VMStats50.java | 124 +-
.../apache/geode/internal/tcp/BaseMsgStreamer.java | 6 +-
.../org/apache/geode/internal/tcp/Buffers.java | 2 +-
.../geode/internal/tcp/ByteBufferInputStream.java | 34 +-
.../geode/internal/tcp/ConnectExceptions.java | 1 -
.../org/apache/geode/internal/tcp/Connection.java | 103 +-
.../geode/internal/tcp/ConnectionException.java | 2 +-
.../apache/geode/internal/tcp/ConnectionTable.java | 34 +-
.../tcp/ImmutableByteBufferInputStream.java | 10 +-
.../geode/internal/tcp/MemberShunnedException.java | 2 +-
.../apache/geode/internal/tcp/MsgDestreamer.java | 14 +-
.../apache/geode/internal/tcp/MsgIdGenerator.java | 4 +-
.../apache/geode/internal/tcp/MsgOutputStream.java | 19 +-
.../org/apache/geode/internal/tcp/MsgReader.java | 8 +-
.../org/apache/geode/internal/tcp/MsgStreamer.java | 49 +-
.../apache/geode/internal/tcp/MsgStreamerList.java | 2 +-
.../internal/tcp/ReenteredConnectException.java | 2 +-
.../apache/geode/internal/tcp/ServerDelegate.java | 6 +-
.../org/apache/geode/internal/tcp/TCPConduit.java | 36 +-
.../tcp/VersionedByteBufferInputStream.java | 6 +-
.../geode/internal/tcp/VersionedMsgStreamer.java | 2 +-
.../geode/internal/util/AbortableTaskService.java | 4 +-
.../geode/internal/util/ArgumentRedactor.java | 8 +-
.../org/apache/geode/internal/util/ArrayUtils.java | 21 +-
.../apache/geode/internal/util/Breadcrumbs.java | 8 +-
.../geode/internal/util/CollectionUtils.java | 32 +-
.../apache/geode/internal/util/DelayedAction.java | 4 +-
.../java/org/apache/geode/internal/util/Hex.java | 6 +-
.../org/apache/geode/internal/util/IOUtils.java | 33 +-
.../geode/internal/util/JavaCommandBuilder.java | 8 +-
.../apache/geode/internal/util/LogFileUtils.java | 16 +-
.../geode/internal/util/ObjectIntProcedure.java | 2 +-
.../apache/geode/internal/util/PluckStacks.java | 4 +-
.../geode/internal/util/SingletonCallable.java | 6 +-
.../apache/geode/internal/util/SingletonValue.java | 16 +-
.../geode/internal/util/StackTraceCollector.java | 16 +-
.../internal/util/SunAPINotFoundException.java | 2 +-
.../apache/geode/internal/util/TransformUtils.java | 12 +-
.../apache/geode/internal/util/Transformer.java | 2 +-
.../apache/geode/internal/util/Versionable.java | 4 +-
.../geode/internal/util/VersionedArrayList.java | 28 +-
.../util/concurrent/CopyOnWriteHashMap.java | 4 +-
.../util/concurrent/CopyOnWriteWeakHashMap.java | 2 +-
.../concurrent/CustomEntryConcurrentHashMap.java | 166 +-
.../internal/util/concurrent/FutureResult.java | 1 +
.../util/concurrent/ReentrantSemaphore.java | 6 +-
.../util/concurrent/SemaphoreReadWriteLock.java | 2 +-
.../util/concurrent/StoppableCondition.java | 2 +-
.../util/concurrent/StoppableCountDownLatch.java | 6 +-
.../concurrent/StoppableCountDownOrUpLatch.java | 3 +-
.../util/concurrent/StoppableNonReentrantLock.java | 4 +-
.../util/concurrent/StoppableReadWriteLock.java | 3 +-
.../util/concurrent/StoppableReentrantLock.java | 6 +-
.../StoppableReentrantReadWriteLock.java | 14 +-
.../geode/lang/AttachAPINotFoundException.java | 8 +-
.../java/org/apache/geode/lang/Identifiable.java | 4 +-
.../geode/management/AlreadyRunningException.java | 4 +-
.../geode/management/AsyncEventQueueMXBean.java | 16 +-
.../org/apache/geode/management/BackupStatus.java | 42 +
.../apache/geode/management/CacheServerMXBean.java | 36 +-
.../geode/management/ClientHealthStatus.java | 2 +-
.../apache/geode/management/ClientQueueDetail.java | 2 +-
.../management/DependenciesNotFoundException.java | 6 +-
.../apache/geode/management/DiskBackupResult.java | 4 +-
.../apache/geode/management/DiskBackupStatus.java | 39 +-
.../org/apache/geode/management/DiskMetrics.java | 2 +-
.../apache/geode/management/DiskStoreMXBean.java | 22 +-
.../management/DistributedLockServiceMXBean.java | 4 +-
.../geode/management/DistributedRegionMXBean.java | 16 +-
.../geode/management/DistributedSystemMXBean.java | 40 +-
.../geode/management/EvictionAttributesData.java | 6 +-
.../management/FixedPartitionAttributesData.java | 6 +-
.../geode/management/GatewayReceiverMXBean.java | 6 +-
.../geode/management/GatewaySenderMXBean.java | 18 +-
.../apache/geode/management/GemFireProperties.java | 16 +-
.../geode/management/JMXNotificationType.java | 4 +-
.../geode/management/JMXNotificationUserData.java | 2 +-
.../org/apache/geode/management/JVMMetrics.java | 2 +-
.../org/apache/geode/management/LocatorMXBean.java | 6 +-
.../apache/geode/management/LockServiceMXBean.java | 4 +-
.../geode/management/ManagementException.java | 12 +-
.../apache/geode/management/ManagementService.java | 74 +-
.../org/apache/geode/management/ManagerMXBean.java | 14 +-
.../org/apache/geode/management/MemberMXBean.java | 54 +-
.../geode/management/MembershipAttributesData.java | 4 +-
.../apache/geode/management/NetworkMetrics.java | 2 +-
.../org/apache/geode/management/OSMetrics.java | 4 +-
.../geode/management/PartitionAttributesData.java | 2 +-
.../geode/management/PersistentMemberDetails.java | 2 +-
.../geode/management/RegionAttributesData.java | 23 +-
.../org/apache/geode/management/RegionMXBean.java | 18 +-
.../apache/geode/management/ServerLoadData.java | 2 +-
.../apache/geode/management/cli/CliMetaData.java | 2 +-
.../management/cli/CommandProcessingException.java | 4 +-
.../management/cli/CommandServiceException.java | 10 +-
.../geode/management/cli/CommandStatement.java | 6 +-
.../org/apache/geode/management/cli/Result.java | 23 +-
.../geode/management/internal/AgentUtil.java | 11 +-
.../geode/management/internal/AlertDetails.java | 2 +-
.../geode/management/internal/ArrayConverter.java | 4 +-
.../management/internal/BackupStatusImpl.java | 59 +
.../management/internal/BaseManagementService.java | 2 +-
.../management/internal/CollectionConverter.java | 4 +-
.../management/internal/CompositeConverter.java | 4 +-
.../management/internal/DiskBackupStatusImpl.java | 92 +
.../geode/management/internal/EnumConverter.java | 4 +-
.../management/internal/FederatingManager.java | 24 +-
.../management/internal/FederationComponent.java | 20 +-
.../geode/management/internal/JettyHelper.java | 11 +-
.../management/internal/JmxManagerAdvisor.java | 4 +-
.../internal/JmxManagerLocatorRequest.java | 4 +-
.../internal/JmxManagerLocatorResponse.java | 2 +-
.../geode/management/internal/LocalManager.java | 6 +-
.../geode/management/internal/MBeanJMXAdapter.java | 34 +-
.../management/internal/MBeanProxyFactory.java | 14 +-
.../internal/MBeanProxyInfoRepository.java | 14 +-
.../internal/MBeanProxyInvocationHandler.java | 27 +-
.../internal/MXBeanProxyInvocationHandler.java | 12 +-
.../internal/ManagementCacheListener.java | 6 +-
.../management/internal/ManagementConstants.java | 7 +-
.../management/internal/ManagementFunction.java | 10 +-
.../internal/ManagementMembershipListener.java | 4 +-
.../internal/ManagementResourceRepo.java | 36 +-
.../geode/management/internal/MemberMessenger.java | 12 +-
.../internal/MonitoringRegionCacheListener.java | 4 +-
.../internal/NotificationBroadCasterProxy.java | 6 +-
.../geode/management/internal/NotificationHub.java | 14 +-
.../management/internal/NotificationHubClient.java | 8 +-
.../geode/management/internal/NotificationKey.java | 4 +-
.../geode/management/internal/OpenMethod.java | 6 +-
.../management/internal/OpenTypeConverter.java | 28 +-
.../geode/management/internal/OpenTypeUtil.java | 6 +-
.../geode/management/internal/ProxyInfo.java | 6 +-
.../geode/management/internal/ProxyInterface.java | 4 +-
.../geode/management/internal/ProxyListener.java | 40 +-
.../geode/management/internal/RestAgent.java | 11 +-
.../apache/geode/management/internal/SSLUtil.java | 7 +-
.../management/internal/StringBasedFilter.java | 6 +-
.../internal/SystemManagementService.java | 4 +-
.../geode/management/internal/TableConverter.java | 4 +-
.../internal/beans/AggregateHandler.java | 12 +-
.../internal/beans/AsyncEventQueueMBean.java | 4 +-
.../internal/beans/AsyncEventQueueMBeanBridge.java | 4 +-
.../management/internal/beans/BeanUtilFuncs.java | 4 +-
.../internal/beans/CacheServerBridge.java | 8 +-
.../internal/beans/CacheServerMBean.java | 4 +-
.../internal/beans/DiskRegionBridge.java | 4 +-
.../management/internal/beans/DiskStoreMBean.java | 4 +-
.../internal/beans/DiskStoreMBeanBridge.java | 4 +-
.../beans/DistributedLockServiceBridge.java | 26 +-
.../beans/DistributedLockServiceMBean.java | 4 +-
.../internal/beans/DistributedRegionBridge.java | 82 +-
.../internal/beans/DistributedRegionMBean.java | 4 +-
.../internal/beans/DistributedSystemBridge.java | 105 +-
.../internal/beans/GatewayReceiverMBean.java | 4 +-
.../internal/beans/GatewayReceiverMBeanBridge.java | 2 +-
.../internal/beans/GatewaySenderMBean.java | 3 +-
.../internal/beans/GatewaySenderMBeanBridge.java | 4 +-
.../management/internal/beans/LocatorMBean.java | 4 +-
.../internal/beans/LocatorMBeanBridge.java | 4 +-
.../internal/beans/LockServiceMBean.java | 4 +-
.../internal/beans/LockServiceMBeanBridge.java | 8 +-
.../management/internal/beans/MBeanAggregator.java | 32 +-
.../internal/beans/ManagementAdapter.java | 34 +-
.../internal/beans/ManagementListener.java | 8 +-
.../management/internal/beans/ManagerMBean.java | 2 +-
.../management/internal/beans/MemberMBean.java | 4 +-
.../internal/beans/MemberMBeanBridge.java | 19 +-
.../internal/beans/MetricsCalculator.java | 4 +-
.../internal/beans/PartitionedRegionBridge.java | 4 +-
.../internal/beans/QueryDataFunction.java | 36 +-
.../management/internal/beans/RegionMBean.java | 6 +-
.../internal/beans/RegionMBeanBridge.java | 24 +-
.../beans/RegionMBeanCompositeDataFactory.java | 2 +-
.../management/internal/beans/SequenceNumber.java | 4 +-
.../beans/stats/AggregateRegionStatsMonitor.java | 6 +-
.../internal/beans/stats/GCStatsMonitor.java | 2 +-
.../beans/stats/MemberLevelDiskMonitor.java | 6 +-
.../management/internal/beans/stats/StatType.java | 2 +-
.../internal/beans/stats/StatsAverageLatency.java | 2 +-
.../management/internal/beans/stats/StatsKey.java | 2 +-
.../internal/beans/stats/StatsLatency.java | 2 +-
.../management/internal/beans/stats/StatsRate.java | 2 +-
.../internal/beans/stats/VMStatsMonitor.java | 8 +-
.../internal/cli/AbstractCliAroundInterceptor.java | 4 +-
.../internal/cli/CliAroundInterceptor.java | 10 +-
.../geode/management/internal/cli/CliUtil.java | 217 +-
.../management/internal/cli/CommandManager.java | 309 +--
.../management/internal/cli/CommandRequest.java | 7 +-
.../management/internal/cli/CommandResponse.java | 26 +-
.../internal/cli/CommandResponseBuilder.java | 2 +-
.../internal/cli/CommandResponseWriter.java | 4 +-
.../management/internal/cli/GfshParseResult.java | 52 +-
.../geode/management/internal/cli/GfshParser.java | 10 +-
.../internal/cli/commands/AlterRegionCommand.java | 192 +-
.../cli/commands/AlterRuntimeConfigCommand.java | 3 +-
.../cli/commands/BackupDiskStoreCommand.java | 9 +-
.../cli/commands/ChangeLogLevelCommand.java | 4 +-
.../cli/commands/CommandAvailabilityIndicator.java | 5 +-
.../internal/cli/commands/ConnectCommand.java | 5 +-
.../cli/commands/CreateDefinedIndexesCommand.java | 27 +-
.../internal/cli/commands/CreateRegionCommand.java | 746 ++++---
.../internal/cli/commands/DataCommandUtil.java | 44 -
.../internal/cli/commands/DataCommandsUtils.java | 229 --
.../cli/commands/DescribeClientCommand.java | 168 +-
.../cli/commands/DescribeConfigCommand.java | 80 +-
.../cli/commands/DescribeDiskStoreCommand.java | 44 +-
.../cli/commands/DescribeMemberCommand.java | 113 +-
.../cli/commands/DestroyFunctionCommand.java | 25 +-
.../cli/commands/DestroyGatewaySenderCommand.java | 57 +-
.../internal/cli/commands/DestroyIndexCommand.java | 84 +-
.../cli/commands/DestroyRegionCommand.java | 55 +-
.../cli/commands/ExecuteFunctionCommand.java | 13 +-
.../internal/cli/commands/ExportConfigCommand.java | 4 +-
.../internal/cli/commands/ExportDataCommand.java | 11 +-
.../ExportImportClusterConfigurationCommands.java | 12 +-
.../internal/cli/commands/ExportLogsCommand.java | 26 +-
.../cli/commands/ExportLogsInterceptor.java | 34 +-
.../internal/cli/commands/GCCommand.java | 62 +-
.../cli/commands/GatewayCommandsUtils.java | 17 -
.../internal/cli/commands/GetCommand.java | 3 +-
.../internal/cli/commands/GfshCommand.java | 139 +-
.../internal/cli/commands/HistoryCommand.java | 12 +-
.../internal/cli/commands/ImportDataCommand.java | 11 +-
.../internal/cli/commands/ListClientCommand.java | 115 +-
.../cli/commands/ListDiskStoresCommand.java | 23 +-
.../internal/cli/commands/ListGatewayCommand.java | 101 +-
.../internal/cli/commands/ListIndexCommand.java | 20 +-
.../commands/LoadBalanceGatewaySenderCommand.java | 71 +-
.../internal/cli/commands/LocateEntryCommand.java | 5 +-
.../internal/cli/commands/NetstatCommand.java | 27 +-
.../cli/commands/PauseGatewaySenderCommand.java | 74 +-
.../internal/cli/commands/PutCommand.java | 5 +-
.../internal/cli/commands/QueryCommand.java | 3 +-
.../internal/cli/commands/RebalanceCommand.java | 157 +-
.../internal/cli/commands/RemoveCommand.java | 3 +-
.../cli/commands/ResumeGatewaySenderCommand.java | 70 +-
.../internal/cli/commands/ShowLogCommand.java | 59 +-
.../internal/cli/commands/ShowMetricsCommand.java | 1461 +++++--------
.../cli/commands/ShowMetricsInterceptor.java | 107 +
.../internal/cli/commands/ShutdownCommand.java | 4 +-
.../cli/commands/StartGatewayReceiverCommand.java | 73 +-
.../cli/commands/StartGatewaySenderCommand.java | 145 +-
.../internal/cli/commands/StartLocatorCommand.java | 344 ++-
.../internal/cli/commands/StartMemberUtils.java | 2 +-
.../internal/cli/commands/StartServerCommand.java | 388 ++--
.../cli/commands/StatusGatewayReceiverCommand.java | 55 +-
.../cli/commands/StatusGatewaySenderCommand.java | 61 +-
.../cli/commands/StopGatewayReceiverCommand.java | 71 +-
.../cli/commands/StopGatewaySenderCommand.java | 65 +-
.../commands/lifecycle/StartJConsoleCommand.java | 21 +-
.../commands/lifecycle/StartJVisualVMCommand.java | 15 +-
.../cli/commands/lifecycle/StartPulseCommand.java | 2 +-
.../cli/commands/lifecycle/StartVsdCommand.java | 25 +-
.../commands/lifecycle/StatusLocatorCommand.java | 63 +-
.../commands/lifecycle/StatusServerCommand.java | 68 +-
.../cli/commands/lifecycle/StopLocatorCommand.java | 116 +-
.../cli/commands/lifecycle/StopServerCommand.java | 110 +-
.../converters/ClusterMemberIdNameConverter.java | 6 +-
.../converters/ConnectionEndpointConverter.java | 2 +-
.../cli/converters/DiskStoreNameConverter.java | 17 +-
.../internal/cli/converters/FilePathConverter.java | 9 +-
.../cli/converters/FilePathStringConverter.java | 13 +-
.../converters/GatewayReceiverIdsConverter.java | 8 +-
.../cli/converters/GatewaySenderIdConverter.java | 17 +-
.../internal/cli/converters/HelpConverter.java | 2 +-
.../cli/converters/HintTopicConverter.java | 15 +-
.../LocatorDiscoveryConfigConverter.java | 6 +-
.../cli/converters/LocatorIdNameConverter.java | 6 +-
.../internal/cli/converters/LogLevelConverter.java | 11 +-
.../cli/converters/MemberGroupConverter.java | 2 +-
.../cli/converters/MemberIdNameConverter.java | 6 +-
.../cli/converters/RegionPathConverter.java | 2 +-
.../cli/domain/AsyncEventQueueDetails.java | 2 +-
.../cli/domain/ConnectToLocatorResult.java | 6 +-
.../internal/cli/domain/DataCommandRequest.java | 36 +-
.../internal/cli/domain/DataCommandResult.java | 4 -
.../internal/cli/domain/DiskStoreDetails.java | 13 +-
.../cli/domain/EvictionAttributesInfo.java | 2 +-
.../cli/domain/FixedPartitionAttributesInfo.java | 4 +-
.../internal/cli/domain/IndexDetails.java | 2 +-
.../management/internal/cli/domain/IndexInfo.java | 11 +-
.../internal/cli/domain/MemberInformation.java | 2 +-
.../cli/domain/PartitionAttributesInfo.java | 2 +-
.../internal/cli/domain/RegionAttributesInfo.java | 2 +-
.../internal/cli/domain/RegionDescription.java | 14 +-
.../cli/domain/RegionDescriptionPerMember.java | 2 +-
.../internal/cli/domain/RegionInformation.java | 6 +-
.../internal/cli/exceptions/CliException.java | 35 -
.../cli/exceptions/CreateSubregionException.java | 38 -
.../cli/exceptions/EntityNotFoundException.java | 46 +
.../cli/exceptions/IndexNotFoundException.java | 33 -
.../cli/exceptions/UserErrorException.java | 37 +
.../cli/functions/AlterRuntimeConfigFunction.java | 11 +-
.../cli/functions/ChangeLogLevelFunction.java | 19 +-
.../internal/cli/functions/CliFunctionResult.java | 26 +-
.../cli/functions/ContinuousQueryFunction.java | 1 +
.../functions/CreateDefinedIndexesFunction.java | 83 +-
.../cli/functions/CreateDiskStoreFunction.java | 2 +-
.../cli/functions/DataCommandFunction.java | 6 +-
.../cli/functions/DescribeDiskStoreFunction.java | 17 +-
.../cli/functions/DestroyDiskStoreFunction.java | 2 +-
.../cli/functions/DestroyIndexFunction.java | 50 +-
.../internal/cli/functions/ExportDataFunction.java | 4 +-
.../functions/FetchRegionAttributesFunction.java | 68 +-
.../FetchSharedConfigurationStatusFunction.java | 1 +
.../cli/functions/GarbageCollectionFunction.java | 11 +-
.../functions/GatewayReceiverCreateFunction.java | 2 +-
.../cli/functions/GatewaySenderCreateFunction.java | 2 +-
.../functions/GatewaySenderDestroyFunction.java | 57 +-
.../GatewaySenderDestroyFunctionArgs.java | 9 +-
.../GetMemberConfigInformationFunction.java | 22 +-
.../functions/GetMemberInformationFunction.java | 18 +-
.../functions/GetRegionDescriptionFunction.java | 2 -
.../functions/ListAsyncEventQueuesFunction.java | 2 +-
.../cli/functions/ListDeployedFunction.java | 4 +-
.../cli/functions/ListDiskStoresFunction.java | 2 +-
.../cli/functions/ListDurableCqNamesFunction.java | 2 +-
.../internal/cli/functions/ListIndexFunction.java | 2 +-
.../cli/functions/MembersForRegionFunction.java | 2 +-
.../internal/cli/functions/NetstatFunction.java | 2 +-
.../cli/functions/RegionAlterFunction.java | 6 +-
.../cli/functions/RegionCreateFunction.java | 133 +-
.../cli/functions/RegionDestroyFunction.java | 49 +-
.../internal/cli/functions/RegionFunctionArgs.java | 659 +++---
.../functions/ShowMissingDiskStoresFunction.java | 29 +-
.../internal/cli/functions/ShutDownFunction.java | 21 +-
.../cli/functions/SizeExportLogsFunction.java | 6 +-
.../internal/cli/functions/UndeployFunction.java | 4 +-
.../internal/cli/functions/UnregisterFunction.java | 8 +-
.../cli/functions/UserFunctionExecution.java | 1 -
.../management/internal/cli/help/HelpBlock.java | 7 +-
.../geode/management/internal/cli/help/Helper.java | 84 +-
.../geode/management/internal/cli/help/Topic.java | 2 -
.../management/internal/cli/i18n/CliStrings.java | 37 +-
.../management/internal/cli/json/GfJsonArray.java | 21 +-
.../internal/cli/json/GfJsonException.java | 6 +-
.../management/internal/cli/json/GfJsonObject.java | 22 +-
.../management/internal/cli/json/TypedJson.java | 10 +-
.../internal/cli/modes/CommandModes.java | 7 +-
.../cli/remote/CommandExecutionContext.java | 2 +-
.../internal/cli/remote/CommandExecutor.java | 43 +-
.../internal/cli/remote/CommandStatementImpl.java | 4 +-
.../internal/cli/remote/MemberCommandService.java | 3 +-
.../cli/remote/OnlineCommandProcessor.java | 16 +-
.../internal/cli/remote/WrapperThreadLocal.java | 6 +-
.../internal/cli/result/AbstractResultData.java | 6 +-
.../internal/cli/result/CliJsonSerializable.java | 4 +-
.../cli/result/CliJsonSerializableIds.java | 6 +-
.../internal/cli/result/CommandResult.java | 2 +-
.../cli/result/CommandResultException.java | 2 +-
.../internal/cli/result/CompositeResultData.java | 10 +-
.../internal/cli/result/ErrorResultData.java | 12 +-
.../management/internal/cli/result/FileResult.java | 8 +-
.../internal/cli/result/ObjectResultData.java | 4 +-
.../internal/cli/result/ResultBuilder.java | 26 +-
.../management/internal/cli/result/ResultData.java | 4 +-
.../internal/cli/result/ResultDataException.java | 2 +-
.../internal/cli/result/TableBuilder.java | 28 +-
.../internal/cli/result/TabularResultData.java | 6 +-
.../management/internal/cli/shell/GfshConfig.java | 7 +-
.../internal/cli/shell/GfshExecutionStrategy.java | 6 +-
.../internal/cli/shell/JMXConnectionException.java | 2 +-
.../internal/cli/shell/JMXInvocationException.java | 2 +-
.../internal/cli/shell/JmxOperationInvoker.java | 8 +-
.../internal/cli/shell/MXBeanProvider.java | 9 +-
.../internal/cli/shell/MultiCommandHelper.java | 4 +-
.../internal/cli/shell/OperationInvoker.java | 19 +-
.../internal/cli/shell/jline/ANSIBuffer.java | 8 +-
.../internal/cli/shell/jline/ANSIHandler.java | 2 +-
.../cli/shell/jline/CygwinMinttyTerminal.java | 4 +-
.../internal/cli/shell/jline/GfshHistory.java | 6 +-
.../cli/shell/jline/GfshUnsupportedTerminal.java | 2 +-
.../cli/shell/unsafe/GfshSignalHandler.java | 2 +-
.../internal/cli/util/CLIConsoleBufferUtil.java | 1 +
.../management/internal/cli/util/CauseFinder.java | 21 +-
.../internal/cli/util/ClasspathScanLoadHelper.java | 29 +-
.../internal/cli/util/CommandStringBuilder.java | 2 +-
.../internal/cli/util/CommentSkipHelper.java | 2 +-
.../internal/cli/util/ConnectionEndpoint.java | 4 +-
.../internal/cli/util/DiskStoreCompacter.java | 4 +-
.../cli/util/DiskStoreNotFoundException.java | 47 -
.../internal/cli/util/DiskStoreValidater.java | 1 +
.../internal/cli/util/EvictionAttributesInfo.java | 2 +-
.../internal/cli/util/ExportLogsCacheWriter.java | 11 +-
.../cli/util/FixedPartitionAttributesInfo.java | 2 -
.../internal/cli/util/GfshConsoleReader.java | 6 +-
.../management/internal/cli/util/HostUtils.java | 4 +-
.../cli/util/JConsoleNotFoundException.java | 2 +-
.../management/internal/cli/util/JdkTool.java | 8 +-
.../management/internal/cli/util/JsonUtil.java | 27 +-
.../management/internal/cli/util/LogExporter.java | 11 +-
.../management/internal/cli/util/LogFilter.java | 9 +-
.../internal/cli/util/LogLevelExtractor.java | 8 +-
.../internal/cli/util/MemberInformation.java | 2 +-
.../internal/cli/util/MemberNotFoundException.java | 47 -
.../management/internal/cli/util/MergeLogs.java | 4 +-
.../internal/cli/util/ReadWriteFile.java | 4 +-
.../management/internal/cli/util/RegionPath.java | 2 +-
.../cli/util/VisualVmNotFoundException.java | 2 +-
.../callbacks/ConfigurationChangeListener.java | 12 +-
.../configuration/domain/CacheElement.java | 12 +-
.../configuration/domain/Configuration.java | 11 +-
.../internal/configuration/domain/XmlEntity.java | 62 +-
.../functions/GetRegionNamesFunction.java | 4 +-
.../configuration/functions/UploadJarFunction.java | 3 +-
.../handlers/ConfigurationRequestHandler.java | 2 +-
.../messages/ConfigurationResponse.java | 22 +-
.../messages/SharedConfigurationStatusRequest.java | 2 +-
.../SharedConfigurationStatusResponse.java | 2 +-
.../internal/configuration/utils/XmlConstants.java | 6 +-
.../internal/configuration/utils/XmlUtils.java | 34 +-
.../internal/configuration/utils/ZipUtils.java | 2 -
.../internal/messages/CompactRequest.java | 12 +-
.../internal/messages/CompactResponse.java | 4 +-
.../internal/security/AccessControlMBean.java | 2 +-
.../internal/security/AccessControlMXBean.java | 2 +-
.../internal/security/MBeanServerWrapper.java | 2 +-
.../internal/security/ResourceOperation.java | 9 +-
.../unsafe/ReadOpFileAccessController.java | 2 +-
.../controllers/AbstractCommandsController.java | 12 +-
.../support/LoginHandlerInterceptor.java | 2 +-
.../internal/web/domain/QueryParameterSource.java | 3 +-
.../SerializableObjectHttpMessageConverter.java | 8 +-
.../internal/web/http/support/HttpRequester.java | 6 +-
.../internal/web/io/MultipartFileAdapter.java | 2 +-
.../web/io/MultipartFileResourceAdapter.java | 2 +-
.../internal/web/shell/HttpOperationInvoker.java | 2 +-
.../internal/web/shell/MBeanAccessException.java | 2 +-
.../web/shell/support/HttpInvocationHandler.java | 3 +-
.../web/shell/support/HttpMBeanProxyFactory.java | 3 +-
.../management/internal/web/util/ConvertUtils.java | 8 +-
.../management/internal/web/util/UriUtils.java | 26 +-
.../management/membership/ClientMembership.java | 6 +-
.../management/membership/MembershipEvent.java | 2 +-
.../UniversalMembershipListenerAdapter.java | 19 +-
.../geode/memcached/GemFireMemcachedServer.java | 12 +-
.../main/java/org/apache/geode/pdx/FieldType.java | 2 +-
.../java/org/apache/geode/pdx/JSONFormatter.java | 17 +-
.../apache/geode/pdx/JSONFormatterException.java | 4 +-
.../geode/pdx/NonPortableClassException.java | 2 +-
.../geode/pdx/PdxConfigurationException.java | 6 +-
.../geode/pdx/PdxFieldAlreadyExistsException.java | 6 +-
.../geode/pdx/PdxFieldDoesNotExistException.java | 6 +-
.../geode/pdx/PdxFieldTypeMismatchException.java | 6 +-
.../geode/pdx/PdxInitializationException.java | 8 +-
.../java/org/apache/geode/pdx/PdxInstance.java | 22 +-
.../org/apache/geode/pdx/PdxInstanceFactory.java | 64 +-
.../main/java/org/apache/geode/pdx/PdxReader.java | 52 +-
.../geode/pdx/PdxRegistryMismatchException.java | 2 +-
.../java/org/apache/geode/pdx/PdxSerializable.java | 16 +-
.../geode/pdx/PdxSerializationException.java | 8 +-
.../java/org/apache/geode/pdx/PdxSerializer.java | 22 +-
.../java/org/apache/geode/pdx/PdxUnreadFields.java | 4 +-
.../main/java/org/apache/geode/pdx/PdxWriter.java | 64 +-
.../geode/pdx/ReflectionBasedAutoSerializer.java | 128 +-
.../org/apache/geode/pdx/WritablePdxInstance.java | 4 +-
.../pdx/internal/AutoSerializableManager.java | 65 +-
.../org/apache/geode/pdx/internal/DataSize.java | 2 +-
.../org/apache/geode/pdx/internal/EnumInfo.java | 2 +-
.../geode/pdx/internal/InternalPdxReader.java | 2 +-
.../geode/pdx/internal/LonerTypeRegistration.java | 2 +-
.../org/apache/geode/pdx/internal/PdxField.java | 2 +-
.../apache/geode/pdx/internal/PdxInputStream.java | 14 +-
.../apache/geode/pdx/internal/PdxInstanceEnum.java | 4 +-
.../apache/geode/pdx/internal/PdxOutputStream.java | 8 +-
.../apache/geode/pdx/internal/PdxReaderImpl.java | 4 +-
.../org/apache/geode/pdx/internal/PdxString.java | 3 +-
.../org/apache/geode/pdx/internal/PdxType.java | 10 +-
.../apache/geode/pdx/internal/PdxUnreadData.java | 2 +-
.../apache/geode/pdx/internal/PdxWriterImpl.java | 6 +-
.../geode/pdx/internal/PeerTypeRegistration.java | 9 +-
.../geode/pdx/internal/TrackingPdxReaderImpl.java | 4 +-
.../geode/pdx/internal/TypeRegistration.java | 6 +-
.../apache/geode/pdx/internal/TypeRegistry.java | 12 +-
.../apache/geode/pdx/internal/UnreadPdxType.java | 2 +-
.../internal/WeakConcurrentIdentityHashMap.java | 5 +-
.../apache/geode/pdx/internal/json/PdxToJSON.java | 1 +
.../geode/pdx/internal/unsafe/UnsafeWrapper.java | 2 +-
.../org/apache/geode/redis/GeodeRedisServer.java | 28 +-
.../geode/redis/internal/ByteArrayWrapper.java | 8 +-
.../geode/redis/internal/ByteToCommandDecoder.java | 16 +-
.../org/apache/geode/redis/internal/Coder.java | 12 +-
.../org/apache/geode/redis/internal/Command.java | 18 +-
.../apache/geode/redis/internal/DoubleWrapper.java | 2 +-
.../redis/internal/ExecutionHandlerContext.java | 40 +-
.../org/apache/geode/redis/internal/Executor.java | 4 +-
.../apache/geode/redis/internal/Extendable.java | 4 +-
.../internal/RedisCommandParserException.java | 2 +-
.../geode/redis/internal/RedisCommandType.java | 4 +-
.../internal/RedisDataTypeMismatchException.java | 2 +-
.../redis/internal/RegionCreationException.java | 2 +-
.../geode/redis/internal/RegionProvider.java | 25 +-
.../redis/internal/executor/AbstractExecutor.java | 10 +-
.../redis/internal/executor/KeysExecutor.java | 2 +-
.../redis/internal/executor/ScanExecutor.java | 2 +-
.../redis/internal/executor/hash/HDelExecutor.java | 4 +-
.../internal/executor/hash/HExistsExecutor.java | 4 +-
.../redis/internal/executor/hash/HGetExecutor.java | 4 +-
.../internal/executor/hash/HIncrByExecutor.java | 2 +-
.../executor/hash/HIncrByFloatExecutor.java | 4 +-
.../redis/internal/executor/hash/HLenExecutor.java | 4 +-
.../internal/executor/hash/HMGetExecutor.java | 2 +-
.../internal/executor/hash/HMSetExecutor.java | 4 +-
.../redis/internal/executor/hll/PFAddExecutor.java | 2 +-
.../internal/executor/hll/PFMergeExecutor.java | 2 +-
.../internal/executor/list/LInsertExecutor.java | 2 +-
.../redis/internal/executor/list/LLenExecutor.java | 4 +-
.../redis/internal/executor/list/LRemExecutor.java | 2 +-
.../redis/internal/executor/list/LSetExecutor.java | 2 +-
.../internal/executor/list/LTrimExecutor.java | 2 +-
.../redis/internal/executor/list/ListExecutor.java | 22 +-
.../redis/internal/executor/list/PopExecutor.java | 23 +-
.../redis/internal/executor/list/PushExecutor.java | 2 +-
.../redis/internal/executor/set/SCardExecutor.java | 2 +-
.../internal/executor/set/SIsMemberExecutor.java | 2 +-
.../redis/internal/executor/set/SPopExecutor.java | 2 +-
.../internal/executor/set/SRandMemberExecutor.java | 4 +-
.../redis/internal/executor/set/SRemExecutor.java | 4 +-
.../internal/executor/sortedset/ZAddExecutor.java | 2 +-
.../executor/sortedset/ZCountExecutor.java | 2 +-
.../executor/sortedset/ZIncrByExecutor.java | 2 +-
.../executor/sortedset/ZLexCountExecutor.java | 2 +-
.../executor/sortedset/ZRangeByLexExecutor.java | 4 +-
.../internal/executor/sortedset/ZRemExecutor.java | 2 +-
.../internal/executor/string/AppendExecutor.java | 2 +-
.../internal/executor/string/BitCountExecutor.java | 2 +-
.../internal/executor/string/BitPosExecutor.java | 2 +-
.../internal/executor/string/DecrByExecutor.java | 2 +-
.../internal/executor/string/GetExecutor.java | 4 +-
.../internal/executor/string/GetRangeExecutor.java | 4 +-
.../internal/executor/string/GetSetExecutor.java | 2 +-
.../internal/executor/string/IncrByExecutor.java | 2 +-
.../internal/executor/string/IncrExecutor.java | 2 +-
.../internal/executor/string/MSetExecutor.java | 2 +-
.../internal/executor/string/MSetNXExecutor.java | 2 +-
.../internal/executor/string/SetBitExecutor.java | 2 +-
.../internal/executor/string/SetExecutor.java | 2 +-
.../internal/executor/string/SetNXExecutor.java | 2 +-
.../internal/executor/string/SetRangeExecutor.java | 2 +-
.../internal/executor/string/StrlenExecutor.java | 4 +-
.../executor/transactions/DiscardExecutor.java | 2 +-
.../executor/transactions/ExecExecutor.java | 4 +-
.../executor/transactions/MultiExecutor.java | 2 +-
.../executor/transactions/UnwatchExecutor.java | 2 +-
.../executor/transactions/WatchExecutor.java | 2 +-
.../internal/org/apache/hadoop/fs/GlobPattern.java | 8 +-
.../org/apache/geode/security/AccessControl.java | 18 +-
.../org/apache/geode/security/AuthInitialize.java | 14 +-
.../security/AuthenticationFailedException.java | 6 +-
.../security/AuthenticationRequiredException.java | 6 +-
.../org/apache/geode/security/Authenticator.java | 14 +-
.../geode/security/GemFireSecurityException.java | 3 +-
.../geode/security/NotAuthorizedException.java | 3 +-
.../org/apache/geode/security/PostProcessor.java | 2 +-
.../apache/geode/security/ResourcePermission.java | 3 +-
.../org/apache/geode/security/SecurityManager.java | 4 +-
.../java/batterytest/greplogs/ExpectedStrings.java | 4 +-
.../src/test/java/com/examples/TestObject.java | 1 -
.../java/com/examples/ds/CompanySerializer.java | 3 +-
.../src/test/java/com/examples/ds/Employee.java | 5 +-
.../java/com/examples/ds/PutDataSerializables.java | 5 +-
geode-core/src/test/java/com/examples/ds/User.java | 3 +-
.../test/java/com/examples/snapshot/MyObject.java | 2 +-
.../java/com/main/MyDistributedSystemListener.java | 6 +-
.../java/com/main/WANBootStrapping_Site1_Add.java | 14 +-
.../com/main/WANBootStrapping_Site1_Remove.java | 6 +-
.../java/com/main/WANBootStrapping_Site2_Add.java | 16 +-
.../com/main/WANBootStrapping_Site2_Remove.java | 6 +-
geode-core/src/test/java/hydra/MethExecutor.java | 3 +-
.../test/java/org/apache/geode/CopyJUnitTest.java | 21 +-
.../java/org/apache/geode/DataSerializerTest.java | 5 +-
.../test/java/org/apache/geode/DeltaTestImpl.java | 10 +-
.../apache/geode/DiskInstantiatorsJUnitTest.java | 22 +-
.../java/org/apache/geode/InstantiatorTest.java | 5 +-
.../apache/geode/JtaNoninvolvementJUnitTest.java | 26 +-
.../java/org/apache/geode/LonerDMJUnitTest.java | 21 +-
.../org/apache/geode/SetOperationTXJUnitTest.java | 22 +-
.../org/apache/geode/SystemFailureJUnitTest.java | 2 +-
.../java/org/apache/geode/TXExpiryJUnitTest.java | 22 +-
.../test/java/org/apache/geode/TXJUnitTest.java | 24 +-
.../org/apache/geode/TXWriterOOMEJUnitTest.java | 2 +-
.../java/org/apache/geode/TestDataSerializer.java | 11 +-
.../test/java/org/apache/geode/UnitTestDoclet.java | 1 -
.../org/apache/geode/admin/AdminTestHelper.java | 1 +
.../geode/admin/RegionSubRegionSnapshotTest.java | 5 +-
.../internal/BindDistributedSystemJUnitTest.java | 22 +-
.../internal/CacheHealthEvaluatorJUnitTest.java | 10 +-
.../admin/internal/DistributedSystemTestCase.java | 9 +-
.../admin/internal/HealthEvaluatorTestCase.java | 11 +-
.../internal/MemberHealthEvaluatorJUnitTest.java | 2 +-
.../DeprecatedAgentLauncherIntegrationTest.java | 2 +-
.../geode/cache/AttributesFactoryJUnitTest.java | 4 +-
.../apache/geode/cache/CacheListenerJUnitTest.java | 27 +-
.../geode/cache/ClientServerTimeSyncDUnitTest.java | 21 +-
.../cache/ConnectionPoolAndLoaderDUnitTest.java | 8 +-
.../geode/cache/ConnectionPoolAutoDUnitTest.java | 9 +-
.../geode/cache/ConnectionPoolDUnitTest.java | 66 +-
.../cache/ConnectionPoolFactoryJUnitTest.java | 21 +-
.../geode/cache/DiskAccessExceptionTest.java | 3 +-
.../geode/cache/ExpirationAttributesTest.java | 49 +
...FinalStaticArrayShouldNotCauseSegFaultTest.java | 10 +-
.../MembershipAttributesAreSerializableTest.java | 3 +-
.../apache/geode/cache/PoolManagerJUnitTest.java | 25 +-
.../org/apache/geode/cache/ProxyJUnitTest.java | 23 +-
.../apache/geode/cache/RegionFactoryJUnitTest.java | 39 +-
.../geode/cache/RegionNameValidationJUnitTest.java | 11 +-
.../RemoveAllCacheListenerPeerRegressionTest.java | 7 +-
.../apache/geode/cache/RoleExceptionJUnitTest.java | 1 -
...ncEventQueueEvictionAndExpirationJUnitTest.java | 34 +-
.../SerialAsyncEventQueueImplJUnitTest.java | 15 +-
.../cache/client/ClientCacheFactoryJUnitTest.java | 35 +-
.../cache/client/ClientRegionFactoryJUnitTest.java | 31 +-
.../ClientServerRegisterInterestsDUnitTest.java | 17 +-
...AllCacheListenerClientServerRegressionTest.java | 5 +-
.../cache/client/internal/AbstractOpTest.java | 5 +-
.../internal/AutoConnectionSourceDUnitTest.java | 2 +-
.../AutoConnectionSourceImplJUnitTest.java | 73 +-
.../CacheServerSSLConnectionDUnitTest.java | 13 +-
.../internal/ConnectionPoolImplJUnitTest.java | 25 +-
.../internal/LocatorLoadBalancingDUnitTest.java | 41 +-
.../cache/client/internal/LocatorTestBase.java | 23 +-
.../client/internal/OpExecutorImplJUnitTest.java | 4 +-
.../client/internal/QueueManagerJUnitTest.java | 37 +-
.../client/internal/SSLNoClientAuthDUnitTest.java | 2 +-
.../client/internal/ServerBlackListJUnitTest.java | 2 +-
...pClientExecutorSubmitTaskWithExceptionTest.java | 4 +-
.../locator/LocatorStatusResponseJUnitTest.java | 2 +-
.../pooling/ConnectionManagerJUnitTest.java | 47 +-
.../cache/execute/FunctionAdapterJUnitTest.java | 4 +-
.../geode/cache/execute/FunctionExceptionTest.java | 9 +-
.../management/MXMemoryPoolListenerExample.java | 27 +-
.../management/MemoryThresholdsDUnitTest.java | 28 +-
.../MemoryThresholdsOffHeapDUnitTest.java | 11 +-
.../cache/management/ResourceManagerDUnitTest.java | 2 +-
.../mapInterface/ExceptionHandlingJUnitTest.java | 17 +-
.../cache/mapInterface/MapFunctionalJUnitTest.java | 17 +-
.../mapInterface/PutAllGlobalLockJUnitTest.java | 2 +-
.../operations/PutOperationContextJUnitTest.java | 21 +-
.../internal/GetOperationContextImplJUnitTest.java | 21 +-
.../partition/PartitionRegionHelperDUnitTest.java | 15 +-
.../BaseLineAndCompareQueryPerfJUnitTest.java | 28 +-
.../query/Bug32947ValueConstraintJUnitTest.java | 21 +-
.../org/apache/geode/cache/query/BugJUnitTest.java | 2 +-
.../org/apache/geode/cache/query/CacheUtils.java | 9 +-
.../cache/query/LocalQueryServiceJUnitTest.java | 13 +-
.../geode/cache/query/PdxStringQueryJUnitTest.java | 23 +-
.../org/apache/geode/cache/query/PerfQuery.java | 4 +-
.../apache/geode/cache/query/QueryJUnitTest.java | 4 +-
.../geode/cache/query/QueryServiceJUnitTest.java | 48 +
.../apache/geode/cache/query/QueryTestUtils.java | 25 +-
.../geode/cache/query/QueryTestUtilsJUnitTest.java | 4 +-
.../QueryWithBucketParameterIntegrationTest.java | 10 +-
.../apache/geode/cache/query/RegionJUnitTest.java | 7 +-
.../cache/query/TypedJsonQueryIntegrationTest.java | 2 +-
.../java/org/apache/geode/cache/query/Utils.java | 4 +-
.../cache/query/cq/dunit/CqQueryTestListener.java | 19 +-
.../org/apache/geode/cache/query/data/Country.java | 2 +-
.../apache/geode/cache/query/data/District.java | 2 +-
.../apache/geode/cache/query/data/Employee.java | 2 -
.../apache/geode/cache/query/data/Inventory.java | 2 +-
.../apache/geode/cache/query/data/Portfolio.java | 4 +-
.../geode/cache/query/data/PortfolioData.java | 2 +-
.../geode/cache/query/data/PortfolioNoDS.java | 2 +-
.../geode/cache/query/data/PortfolioPdx.java | 8 +-
.../apache/geode/cache/query/data/Position.java | 1 +
.../cache/query/data/ProhibitedSecurityQuote.java | 2 +-
.../org/apache/geode/cache/query/data/Quote.java | 2 +-
.../geode/cache/query/data/SecurityMaster.java | 2 +-
.../org/apache/geode/cache/query/data/State.java | 4 +-
.../org/apache/geode/cache/query/data/Student.java | 4 +-
.../query/dunit/CorruptedIndexIntegrationTest.java | 55 +
.../cache/query/dunit/CqTimeTestListener.java | 12 +-
.../geode/cache/query/dunit/GroupByDUnitImpl.java | 2 +-
.../dunit/GroupByPartitionedQueryDUnitTest.java | 12 +-
.../cache/query/dunit/GroupByQueryDUnitTest.java | 12 +-
.../geode/cache/query/dunit/HelperTestCase.java | 1 -
.../query/dunit/NonDistinctOrderByDUnitImpl.java | 11 +-
.../NonDistinctOrderByPartitionedDUnitTest.java | 12 +-
.../PdxLocalQueryVersionedClassDUnitTest.java | 7 +-
.../geode/cache/query/dunit/PdxQueryDUnitTest.java | 12 +-
.../cache/query/dunit/PdxStringQueryDUnitTest.java | 6 +-
.../cache/query/dunit/PositionPdxVersion.java | 1 +
.../cache/query/dunit/QueryAuthorization.java | 2 +-
.../dunit/QueryDataInconsistencyDUnitTest.java | 15 +-
.../dunit/QueryParamsAuthorizationDUnitTest.java | 4 +-
.../dunit/QueryUsingFunctionContextDUnitTest.java | 18 +-
.../cache/query/dunit/QueryUsingPoolDUnitTest.java | 6 +-
.../cache/query/dunit/RemoteQueryDUnitTest.java | 66 +-
.../ResourceManagerWithQueryMonitorDUnitTest.java | 4 +-
.../geode/cache/query/facets/lang/Address.java | 2 -
.../geode/cache/query/facets/lang/Course.java | 2 -
.../geode/cache/query/facets/lang/Department.java | 2 -
.../geode/cache/query/facets/lang/G_Student.java | 2 -
.../geode/cache/query/facets/lang/Person.java | 1 -
.../geode/cache/query/facets/lang/Student.java | 2 -
.../geode/cache/query/facets/lang/UG_Student.java | 2 -
.../geode/cache/query/facets/lang/Utils.java | 11 +-
.../functional/ComparisonOperatorsJUnitTest.java | 1 -
.../cache/query/functional/CountStarJUnitTest.java | 2 +-
...tinctResultsWithDupValuesInRegionJUnitTest.java | 17 +-
.../cache/query/functional/FunctionJUnitTest.java | 2 +-
.../functional/GroupByPartitionedJUnitTest.java | 2 +-
.../functional/GroupByReplicatedJUnitTest.java | 2 +-
.../cache/query/functional/GroupByTestImpl.java | 2 +-
.../query/functional/INOperatorJUnitTest.java | 4 +-
.../geode/cache/query/functional/IUMJUnitTest.java | 2 +-
.../IUMRMultiIndexesMultiRegionJUnitTest.java | 4 +-
.../functional/IUMRSingleRegionJUnitTest.java | 21 +-
.../query/functional/IndexCreationJUnitTest.java | 29 +-
.../IndexMaintenanceAsynchJUnitTest.java | 4 +-
.../query/functional/IndexOnEntrySetJUnitTest.java | 19 +-
.../IndexWithSngleFrmAndMultCondQryJUnitTest.java | 2 +-
.../functional/IteratorTypeDefEmpJUnitTest.java | 3 +-
.../query/functional/IteratorTypeDefJUnitTest.java | 3 +-
.../query/functional/LikePredicateJUnitTest.java | 28 +-
.../query/functional/LimitClauseJUnitTest.java | 68 +-
.../cache/query/functional/MiscJUnitTest.java | 1 -
.../functional/MultiRegionIndexUsageJUnitTest.java | 23 +-
.../query/functional/MultipleRegionsJUnitTest.java | 1 -
.../functional/NegativeNumberQueriesJUnitTest.java | 17 +-
.../query/functional/NestedQueryJUnitTest.java | 1 -
.../NonDistinctOrderByPartitionedJUnitTest.java | 2 +-
.../NonDistinctOrderByReplicatedJUnitTest.java | 2 +-
.../NonDistinctOrderByTestImplementation.java | 9 +-
.../query/functional/NumericQueryJUnitTest.java | 4 +-
.../functional/OrderByPartitionedJUnitTest.java | 2 +-
.../functional/OrderByTestImplementation.java | 4 +-
.../QueryREUpdateInProgressJUnitTest.java | 2 +-
.../query/functional/QueryUndefinedJUnitTest.java | 23 +-
.../functional/ReservedKeywordsJUnitTest.java | 1 -
.../query/functional/SelectToDateJUnitTest.java | 25 +-
.../CompiledAggregateFunctionJUnitTest.java | 2 +-
.../internal/CompiledGroupBySelectJUnitTest.java | 2 +-
.../CompiledJunctionInternalsJUnitTest.java | 26 +-
.../query/internal/CopyOnReadQueryJUnitTest.java | 8 +-
.../query/internal/ExecutionContextJUnitTest.java | 6 +-
.../cache/query/internal/QCompilerJUnitTest.java | 10 +-
.../QueryFromClauseCanonicalizationJUnitTest.java | 4 +-
.../internal/QueryObserverCallbackJUnitTest.java | 4 +-
.../cache/query/internal/QueryTraceJUnitTest.java | 10 +-
.../cache/query/internal/QueryUtilsJUnitTest.java | 10 +-
.../ResultsCollectionWrapperLimitJUnitTest.java | 2 +-
.../internal/SelectResultsComparatorJUnitTest.java | 2 +-
.../internal/StructBagLimitBehaviourJUnitTest.java | 2 +-
.../internal/cq/CqAttributesImplJUnitTest.java | 6 +-
.../AbstractIndexMaintenanceIntegrationTest.java | 2 +-
.../AsyncIndexUpdaterThreadShutdownJUnitTest.java | 17 +-
.../index/AsynchIndexMaintenanceJUnitTest.java | 2 +-
.../index/CompactRangeIndexIndexMapJUnitTest.java | 21 +-
...ncurrentIndexInitOnOverflowRegionDUnitTest.java | 17 +-
...ntIndexOperationsOnOverflowRegionDUnitTest.java | 16 +-
...exUpdateWithInplaceObjectModFalseDUnitTest.java | 6 +-
.../ConcurrentIndexUpdateWithoutWLDUnitTest.java | 2 +-
.../internal/index/CopyOnReadIndexDUnitTest.java | 1 -
.../internal/index/CopyOnReadIndexJUnitTest.java | 28 +-
.../index/HashIndexQueryIntegrationTest.java | 124 +-
.../internal/index/HashIndexSetJUnitTest.java | 2 +-
.../query/internal/index/IndexHintJUnitTest.java | 19 +-
.../internal/index/IndexMaintainceJUnitTest.java | 2 +-
.../internal/index/IndexMaintenanceJUnitTest.java | 3 +-
.../internal/index/IndexStatisticsJUnitTest.java | 17 +-
.../index/IndexTrackingQueryObserverDUnitTest.java | 16 +-
.../index/IndexTrackingQueryObserverJUnitTest.java | 21 +-
.../query/internal/index/IndexUseJUnitTest.java | 2 +-
.../InitializeIndexEntryDestroyQueryDUnitTest.java | 519 ++---
.../internal/index/MapIndexStoreJUnitTest.java | 2 +-
.../index/MapRangeIndexMaintenanceJUnitTest.java | 14 +-
.../internal/index/MemoryIndexStoreJUnitTest.java | 6 +
.../index/MultiIndexCreationDUnitTest.java | 13 +-
.../NewDeclarativeIndexCreationJUnitTest.java | 19 +-
...ProgRegionCreationIndexUpdateTypeJUnitTest.java | 19 +-
.../internal/index/RangeIndexAPIJUnitTest.java | 2 +-
.../cache/query/internal/parse/OQLParserTest.java | 52 +
.../cache/query/internal/types/TypeUtilTest.java | 2 +-
.../partitioned/PRBasicIndexCreationDUnitTest.java | 24 +-
.../PRBasicIndexCreationDeadlockDUnitTest.java | 22 +-
.../PRBasicMultiIndexCreationDUnitTest.java | 22 +-
.../query/partitioned/PRBasicQueryDUnitTest.java | 26 +-
.../partitioned/PRColocatedEquiJoinDUnitTest.java | 41 +-
.../partitioned/PRIndexStatisticsJUnitTest.java | 18 +-
.../query/partitioned/PRInvalidQueryDUnitTest.java | 23 +-
.../query/partitioned/PRInvalidQueryJUnitTest.java | 6 +-
.../partitioned/PRQueryCacheCloseDUnitTest.java | 26 +-
.../partitioned/PRQueryCacheClosedJUnitTest.java | 10 +-
.../query/partitioned/PRQueryDUnitHelper.java | 27 +-
.../cache/query/partitioned/PRQueryDUnitTest.java | 28 +-
.../cache/query/partitioned/PRQueryJUnitTest.java | 8 +-
.../partitioned/PRQueryNumThreadsJUnitTest.java | 8 +-
.../partitioned/PRQueryRegionCloseDUnitTest.java | 29 +-
.../partitioned/PRQueryRegionClosedJUnitTest.java | 10 +-
.../PRQueryRegionDestroyedDUnitTest.java | 27 +-
.../PRQueryRegionDestroyedJUnitTest.java | 10 +-
.../PRQueryRemoteNodeExceptionDUnitTest.java | 2 +-
.../query/transaction/QueryAndJtaJUnitTest.java | 2 +-
.../cache/snapshot/CacheSnapshotJUnitTest.java | 2 +-
.../cache/snapshot/ParallelSnapshotDUnitTest.java | 16 +-
.../geode/cache/snapshot/RegionGenerator.java | 1 +
.../cache/snapshot/RegionSnapshotJUnitTest.java | 25 +-
.../geode/cache/snapshot/SnapshotDUnitTest.java | 26 +-
.../snapshot/SnapshotPerformanceDUnitTest.java | 13 +-
.../geode/cache/snapshot/SnapshotTestCase.java | 19 +-
.../geode/cache/snapshot/WanSnapshotJUnitTest.java | 2 +-
.../apache/geode/cache/util/TxEventTestUtil.java | 12 +-
.../apache/geode/cache30/Bug38741DUnitTest.java | 6 +-
.../apache/geode/cache30/Bug40255JUnitTest.java | 25 +-
.../apache/geode/cache30/Bug40662JUnitTest.java | 17 +-
.../apache/geode/cache30/Bug44418JUnitTest.java | 34 +-
.../apache/geode/cache30/CacheCloseDUnitTest.java | 13 +-
.../geode/cache30/CacheListenerTestCase.java | 11 +-
.../apache/geode/cache30/CacheLoaderTestCase.java | 11 +-
.../geode/cache30/CacheStatisticsDUnitTest.java | 11 +-
.../apache/geode/cache30/CacheWriterTestCase.java | 13 +-
.../geode/cache30/CacheXMLPartitionResolver.java | 4 +-
.../apache/geode/cache30/CacheXml66DUnitTest.java | 16 +-
.../apache/geode/cache30/CacheXml70DUnitTest.java | 6 +-
.../apache/geode/cache30/CacheXml81DUnitTest.java | 6 +-
.../org/apache/geode/cache30/CacheXmlTestCase.java | 2 +-
.../geode/cache30/CachedAllEventsDUnitTest.java | 7 +-
.../apache/geode/cache30/CallbackArgDUnitTest.java | 13 +-
.../cache30/CertifiableTestCacheListener.java | 12 +-
.../geode/cache30/ClientMembershipDUnitTest.java | 6 +-
.../cache30/ClientMembershipSelectorDUnitTest.java | 2 +-
.../cache30/ClientRegisterInterestDUnitTest.java | 3 +-
.../ClientRegisterInterestSelectorDUnitTest.java | 2 +-
.../geode/cache30/ClientServerCCEDUnitTest.java | 56 +-
.../apache/geode/cache30/ClientServerTestCase.java | 3 +-
.../cache30/ConcurrentLeaveDuringGIIDUnitTest.java | 19 +-
...stributedNoAckAsyncOverflowRegionDUnitTest.java | 15 +-
.../DiskDistributedNoAckAsyncRegionDUnitTest.java | 14 +-
.../apache/geode/cache30/DiskRegionDUnitTest.java | 13 +-
.../DistributedAckOverflowRegionCCEDUnitTest.java | 11 +-
...ibutedAckOverflowRegionCCEOffHeapDUnitTest.java | 2 +-
...DistributedAckPersistentRegionCCEDUnitTest.java | 2 +-
...utedAckPersistentRegionCCEOffHeapDUnitTest.java | 2 +-
.../cache30/DistributedAckRegionCCEDUnitTest.java | 2 +-
.../DistributedAckRegionCCEOffHeapDUnitTest.java | 2 +-
.../DistributedAckRegionCompressionDUnitTest.java | 2 +-
.../DistributedAckRegionOffHeapDUnitTest.java | 2 +-
.../DistributedMulticastRegionDUnitTest.java | 2 +-
.../DistributedNoAckRegionCCEOffHeapDUnitTest.java | 2 +-
.../DistributedNoAckRegionOffHeapDUnitTest.java | 2 +-
.../geode/cache30/DynamicRegionDUnitTest.java | 13 +-
.../geode/cache30/GlobalLockingDUnitTest.java | 15 +-
.../geode/cache30/GlobalRegionCCEDUnitTest.java | 2 +-
.../cache30/GlobalRegionCCEOffHeapDUnitTest.java | 11 +-
.../cache30/GlobalRegionOffHeapDUnitTest.java | 2 +-
.../cache30/LRUEvictionControllerDUnitTest.java | 15 +-
.../cache30/MemLRUEvictionControllerDUnitTest.java | 23 +-
.../geode/cache30/MultiVMRegionTestCase.java | 16 +-
.../geode/cache30/MyGatewayEventFilter2.java | 2 +-
.../geode/cache30/MyGatewayTransportFilter1.java | 1 -
.../OffHeapLRUEvictionControllerDUnitTest.java | 2 +-
.../cache30/PRBucketSynchronizationDUnitTest.java | 17 +-
.../PartitionedRegionCompressionDUnitTest.java | 13 +-
.../geode/cache30/PartitionedRegionDUnitTest.java | 3 +-
...rtitionedRegionMembershipListenerDUnitTest.java | 13 +-
.../cache30/PartitionedRegionOffHeapDUnitTest.java | 2 +-
.../org/apache/geode/cache30/ProxyDUnitTest.java | 13 +-
.../geode/cache30/RRSynchronizationDUnitTest.java | 15 +-
.../apache/geode/cache30/ReconnectDUnitTest.java | 34 +-
.../cache30/ReconnectWithCacheXMLDUnitTest.java | 13 +-
.../cache30/ReconnectWithUDPSecurityDUnitTest.java | 7 +-
.../geode/cache30/RegionAttributesTestCase.java | 21 +-
.../geode/cache30/RegionExpirationDUnitTest.java | 11 +-
.../cache30/RegionMembershipListenerDUnitTest.java | 15 +-
.../cache30/RegionReliabilityDistAckDUnitTest.java | 10 +-
.../RegionReliabilityDistNoAckDUnitTest.java | 10 +-
.../cache30/RegionReliabilityGlobalDUnitTest.java | 10 +-
.../RegionReliabilityListenerDUnitTest.java | 1 -
.../geode/cache30/RegionReliabilityTestCase.java | 7 +-
.../org/apache/geode/cache30/RegionTestCase.java | 84 +-
.../geode/cache30/RequiredRolesDUnitTest.java | 3 +-
.../geode/cache30/SearchAndLoadDUnitTest.java | 8 +-
.../org/apache/geode/cache30/SlowRecDUnitTest.java | 23 +-
.../geode/cache30/TXDistributedDUnitTest.java | 5 +-
.../org/apache/geode/cache30/TXOrderDUnitTest.java | 1 +
.../geode/cache30/TXRestrictionsDUnitTest.java | 2 +-
.../apache/geode/cache30/TestCacheCallback.java | 2 +-
.../apache/geode/cache30/TestCacheListener.java | 9 +-
.../org/apache/geode/cache30/TestCacheWriter.java | 1 -
.../java/org/apache/geode/cache30/TestHeapLRU.java | 2 +-
.../AnalyzeSerializablesJUnitTest.java | 35 +-
.../apache/geode/codeAnalysis/ClassAndMethods.java | 6 +-
.../codeAnalysis/ClassAndVariableDetails.java | 2 +-
.../geode/codeAnalysis/CompiledClassUtils.java | 6 +-
.../AbstractLauncherServiceStateTest.java | 2 +-
.../distributed/DistributedLockBlackboardImpl.java | 6 +-
.../DistributedLockServiceDUnitTest.java | 13 +-
.../distributed/DistributedMemberDUnitTest.java | 29 +-
.../distributed/DistributedSystemDUnitTest.java | 12 +-
.../DistributedSystemIntegrationJUnitTest.java | 2 +-
.../distributed/DistributedSystemJUnitTest.java | 2 +-
.../geode/distributed/HostedLocatorsDUnitTest.java | 31 +-
.../LauncherMemberMXBeanIntegrationTest.java | 2 +-
.../apache/geode/distributed/LocatorDUnitTest.java | 31 +-
.../apache/geode/distributed/LocatorJUnitTest.java | 44 +-
.../LocatorLauncherRemoteIntegrationTest.java | 2 +
.../distributed/LocatorUDPSecurityDUnitTest.java | 13 +-
.../apache/geode/distributed/RoleDUnitTest.java | 3 +-
.../ServerLauncherRemoteFileIntegrationTest.java | 2 +-
.../distributed/internal/Bug40751DUnitTest.java | 2 +-
.../ConsoleDistributionManagerDUnitTest.java | 6 +-
.../geode/distributed/internal/DateMessage.java | 8 +-
.../DefaultPropertiesGeneratorIntegrationTest.java | 14 +-
.../internal/DistributionAdvisorDUnitTest.java | 2 +-
.../internal/DistributionAdvisorTest.java | 3 +-
.../internal/DistributionConfigJUnitTest.java | 4 +-
.../internal/DistributionManagerDUnitTest.java | 7 +-
.../internal/DistributionManagerTest.java | 7 +-
.../internal/DistributionMessageTest.java | 3 +-
.../InternalDistributedSystemJUnitTest.java | 12 +-
.../internal/InternalLocatorIntegrationTest.java | 13 +-
.../LocatorLoadSnapshotIntegrationTest.java | 2 +-
.../distributed/internal/ProduceDateMessages.java | 6 +-
.../internal/ProductUseLogDUnitTest.java | 4 +-
.../internal/ProductUseLogJUnitTest.java | 2 +-
.../distributed/internal/ReplyProcessor21Test.java | 3 +-
.../internal/ServerLocatorJUnitTest.java | 4 +-
.../internal/StartupMessageDataJUnitTest.java | 6 +-
.../deadlock/GemFireDeadlockDetectorDUnitTest.java | 25 +-
.../internal/locks/DLockGrantorHelper.java | 1 -
.../locks/DLockReentrantLockJUnitTest.java | 17 +-
.../locks/DLockServiceCharacterizationTests.java | 13 +-
.../internal/locks/DLockServiceLeakTest.java | 27 +-
.../internal/membership/InternalRoleJUnitTest.java | 4 +-
.../internal/membership/MembershipJUnitTest.java | 15 +-
.../internal/membership/NetViewJUnitTest.java | 2 +-
.../membership/gms/GMSMemberJUnitTest.java | 8 +-
.../membership/gms/MembershipManagerHelper.java | 4 +-
.../gms/auth/AbstractGMSAuthenticatorTestCase.java | 17 +-
.../GMSAuthenticatorWithSecurityManagerTest.java | 1 -
.../gms/fd/GMSHealthMonitorJUnitTest.java | 60 +-
.../gms/locator/GMSLocatorRecoveryJUnitTest.java | 22 +-
.../gms/membership/GMSJoinLeaveJUnitTest.java | 48 +-
.../gms/membership/StatRecorderJUnitTest.java | 39 +-
.../gms/messenger/GMSEncryptJUnitTest.java | 32 +-
.../gms/messenger/GMSQuorumCheckerJUnitTest.java | 4 +-
.../gms/messenger/JGroupsMessengerJUnitTest.java | 59 +-
.../internal/tcpserver/TCPServerSSLJUnitTest.java | 29 +-
.../TcpServerBackwardCompatDUnitTest.java | 4 +-
.../internal/tcpserver/TcpServerJUnitTest.java | 31 +-
.../geode/disttx/CacheMapDistTXDUnitTest.java | 10 +-
.../apache/geode/disttx/DistTXDebugDUnitTest.java | 8 +-
.../apache/geode/disttx/DistTXExpiryJUnitTest.java | 13 +-
.../geode/disttx/DistTXManagerImplJUnitTest.java | 2 +-
.../DistTXReleasesOffHeapOnCloseJUnitTest.java | 13 +-
.../geode/internal/AbstractConfigJUnitTest.java | 13 +-
.../apache/geode/internal/AbstractConfigTest.java | 3 +-
.../org/apache/geode/internal/AssertJUnitTest.java | 3 +-
.../apache/geode/internal/AvailablePortHelper.java | 3 +-
.../geode/internal/AvailablePortJUnitTest.java | 17 +-
...ackwardCompatibilitySerializationDUnitTest.java | 27 +-
.../apache/geode/internal/Bug51616JUnitTest.java | 13 +-
.../org/apache/geode/internal/ByteArrayData.java | 2 +-
.../internal/ClassNotFoundExceptionDUnitTest.java | 13 +-
.../internal/ClassPathLoaderIntegrationTest.java | 4 +-
.../apache/geode/internal/ClassPathLoaderTest.java | 4 +-
.../geode/internal/DataSerializableJUnitTest.java | 2 +-
.../geode/internal/DeployedJarJUnitTest.java | 8 +-
.../geode/internal/GemFireVersionJUnitTest.java | 23 +-
.../internal/HeapDataOutputStreamJUnitTest.java | 2 +-
.../geode/internal/HeapDataOutputStreamTest.java | 3 +-
.../apache/geode/internal/InlineKeyJUnitTest.java | 27 +-
...InternalDataSerializerQuickcheckStringTest.java | 15 +-
.../geode/internal/ObjIdConcurrentMapTest.java | 5 +-
.../geode/internal/PdxDeleteFieldDUnitTest.java | 21 +-
.../geode/internal/PdxDeleteFieldJUnitTest.java | 13 +-
.../apache/geode/internal/PdxRenameDUnitTest.java | 21 +-
.../apache/geode/internal/PdxRenameJUnitTest.java | 15 +-
...qualityShouldUseArrayEqualsIntegrationTest.java | 17 +-
.../internal/SSLConfigIntegrationJUnitTest.java | 13 +-
.../apache/geode/internal/SSLConfigJUnitTest.java | 5 +-
...edThreadPoolExecutorWithKeepAliveJUnitTest.java | 2 +-
.../geode/internal/UniqueIdGeneratorJUnitTest.java | 2 +-
.../remote/DistributionLocatorIdJUnitTest.java | 4 +-
.../internal/cache/AbstractDiskRegionTest.java | 3 +-
.../internal/cache/AbstractLRURegionMapTest.java | 3 +-
.../cache/AbstractOplogDiskRegionEntryTest.java | 4 +-
.../internal/cache/AbstractRegionEntryTest.java | 166 --
.../internal/cache/AbstractRegionJUnitTest.java | 141 +-
.../internal/cache/AbstractRegionMapTest.java | 5 +-
.../geode/internal/cache/AbstractRegionTest.java | 3 +-
.../geode/internal/cache/BackupDUnitTest.java | 778 -------
.../geode/internal/cache/BackupJUnitTest.java | 430 ----
.../geode/internal/cache/BucketAdvisorTest.java | 5 +-
.../cache/BucketPersistenceAdvisorTest.java | 8 +-
.../cache/BucketRedundancyTrackerTest.java | 3 +-
.../internal/cache/BucketRegionJUnitTest.java | 3 +-
.../internal/cache/BucketRegionQueueHelper.java | 6 +-
.../geode/internal/cache/Bug33726JUnitTest.java | 17 +-
.../cache/Bug34179TooManyFilesOpenJUnitTest.java | 8 +-
.../geode/internal/cache/Bug34583JUnitTest.java | 21 +-
.../geode/internal/cache/Bug37241DUnitTest.java | 2 -
.../geode/internal/cache/Bug37244JUnitTest.java | 39 +-
.../geode/internal/cache/Bug37377DUnitTest.java | 25 +-
.../geode/internal/cache/Bug37500JUnitTest.java | 15 +-
.../geode/internal/cache/Bug39079DUnitTest.java | 3 +-
.../geode/internal/cache/Bug40299DUnitTest.java | 14 +-
.../geode/internal/cache/Bug41957DUnitTest.java | 3 +-
.../geode/internal/cache/Bug42055DUnitTest.java | 11 +-
.../geode/internal/cache/Bug45164DUnitTest.java | 13 +-
.../geode/internal/cache/Bug47667DUnitTest.java | 11 +-
.../geode/internal/cache/Bug48182JUnitTest.java | 214 --
.../internal/cache/CacheAdvisorDUnitTest.java | 19 +-
.../internal/cache/CacheOperationMessageTest.java | 5 +-
.../cache/CacheServerLauncherJUnitTest.java | 4 +-
.../internal/cache/CacheServiceJUnitTest.java | 9 +-
.../geode/internal/cache/ClearGlobalDUnitTest.java | 2 +-
.../internal/cache/ClearRvvLockingDUnitTest.java | 17 +-
.../internal/cache/ClearTXLockingDUnitTest.java | 18 +-
...tMessagesRegionCreationAndDestroyJUnitTest.java | 35 +-
.../cache/ClientServerGetAllDUnitTest.java | 3 +-
...entServerInvalidAndDestroyedEntryDUnitTest.java | 2 +-
.../cache/ClientServerTransactionCCEDUnitTest.java | 15 +-
.../cache/ClientServerTransactionDUnitTest.java | 118 +-
.../geode/internal/cache/ColocatedPRJUnitTest.java | 2 +-
.../geode/internal/cache/ColocationHelperTest.java | 4 +-
.../geode/internal/cache/CommitFunction.java | 14 +-
.../internal/cache/ComplexDiskRegionJUnitTest.java | 4 +-
.../cache/ConcurrentDestroySubRegionDUnitTest.java | 11 +-
...urrentFlushingAndRegionOperationsJUnitTest.java | 19 +-
.../internal/cache/ConcurrentMapOpsDUnitTest.java | 2 +-
.../cache/ConcurrentRegionOperationsJUnitTest.java | 6 +-
...currentRollingAndRegionOperationsJUnitTest.java | 3 +-
.../geode/internal/cache/ConflationJUnitTest.java | 11 +-
.../internal/cache/ConnectDisconnectDUnitTest.java | 21 +-
.../cache/CustomerIDPartitionResolver.java | 8 +-
.../internal/cache/DeltaFaultInDUnitTest.java | 11 +-
.../cache/DeltaPropagationStatsDUnitTest.java | 20 +-
.../geode/internal/cache/DeltaSizingDUnitTest.java | 13 +-
...precatedCacheServerLauncherIntegrationTest.java | 2 +
...stroyEntryWithConcurrentOperationJUnitTest.java | 229 ++
.../geode/internal/cache/DestroyMessageTest.java | 5 +-
.../geode/internal/cache/DiskIFJUnitTest.java | 4 +-
.../cache/DiskLruRegRecoveryJUnitTest.java | 2 +-
.../geode/internal/cache/DiskOldAPIsJUnitTest.java | 7 +-
.../DiskRandomOperationsAndRecoveryJUnitTest.java | 18 +-
.../internal/cache/DiskRegByteArrayDUnitTest.java | 21 +-
.../internal/cache/DiskRegCacheXmlJUnitTest.java | 4 +-
.../DiskRegOplogSwtchingAndRollerJUnitTest.java | 2 +-
.../internal/cache/DiskRegRecoveryJUnitTest.java | 6 +-
.../cache/DiskRegionAsyncRecoveryJUnitTest.java | 19 +-
...iskRegionChangingRegionAttributesJUnitTest.java | 2 +-
.../internal/cache/DiskRegionClearJUnitTest.java | 2 +-
.../internal/cache/DiskRegionHelperFactory.java | 115 +-
.../geode/internal/cache/DiskRegionJUnitTest.java | 95 +-
.../geode/internal/cache/DiskRegionProperties.java | 6 +-
.../internal/cache/DiskRegionTestingBase.java | 143 +-
.../internal/cache/DistPeerTXStateStubTest.java | 7 +-
.../cache/DistributedCacheOperationTest.java | 11 +-
.../cache/DistributedPutAllOperationTest.java | 3 +-
...tributedRegionFunctionStreamingMessageTest.java | 5 +-
.../internal/cache/DistributedRegionJUnitTest.java | 2 +-
.../DistributedRegionSearchLoadJUnitTest.java | 2 +-
.../internal/cache/DistributedRegionTest.java | 3 +-
.../cache/DistributedRemoveAllOperationTest.java | 3 +-
.../geode/internal/cache/EvictionDUnitTest.java | 2 +-
.../cache/EvictionObjectSizerDUnitTest.java | 16 +-
.../internal/cache/EvictionStatsDUnitTest.java | 17 +-
.../geode/internal/cache/EvictionTestBase.java | 2 +-
.../geode/internal/cache/ExpiryTaskTest.java | 3 +-
...FireAndForgetFunctionOnAllServersDUnitTest.java | 11 +-
.../internal/cache/FixedPRSinglehopDUnitTest.java | 4 +-
.../geode/internal/cache/GIIDeltaDUnitTest.java | 32 +-
.../internal/cache/GIIFlowControlDUnitTest.java | 17 +-
.../geode/internal/cache/GemFireCacheImplTest.java | 2 +-
.../geode/internal/cache/GridProfileTest.java | 11 +-
.../cache/HAOverflowMemObjectSizerDUnitTest.java | 4 +-
.../internal/cache/IncrementalBackupDUnitTest.java | 1147 ----------
.../cache/InterruptClientServerDUnitTest.java | 17 +-
.../internal/cache/InterruptDiskJUnitTest.java | 29 +-
.../geode/internal/cache/InterruptsDUnitTest.java | 14 +-
.../geode/internal/cache/IteratorDUnitTest.java | 19 +-
.../LIFOEvictionAlgoEnabledRegionJUnitTest.java | 26 +-
...FOEvictionAlgoMemoryEnabledRegionJUnitTest.java | 32 +-
.../geode/internal/cache/MapClearGIIDUnitTest.java | 5 +-
.../internal/cache/MapInterface2JUnitTest.java | 6 +-
.../cache/MemberFunctionStreamingMessageTest.java | 5 +-
.../MultipleOplogsRollingFeatureJUnitTest.java | 3 +-
.../internal/cache/NestedTransactionFunction.java | 8 +-
.../cache/NetSearchMessagingDUnitTest.java | 5 +-
.../internal/cache/NonLocalRegionEntryTest.java | 3 +-
.../internal/cache/OffHeapEvictionDUnitTest.java | 2 +-
.../geode/internal/cache/OffHeapTestUtil.java | 3 +-
.../cache/OffHeapValueWrapperJUnitTest.java | 4 +-
.../geode/internal/cache/OplogJUnitTest.java | 2238 ++------------------
.../geode/internal/cache/OplogRVVJUnitTest.java | 31 +-
.../cache/P2PDeltaPropagationDUnitTest.java | 1 -
.../geode/internal/cache/PRBadToDataDUnitTest.java | 17 +-
.../cache/PRConcurrentMapOpsJUnitTest.java | 15 +-
.../internal/cache/PRDataStoreMemoryJUnitTest.java | 6 +-
.../cache/PRDataStoreMemoryOffHeapJUnitTest.java | 11 +-
.../internal/cache/PREntryIdleExpirationTest.java | 50 +
.../internal/cache/PartitionListenerDUnitTest.java | 13 +-
.../cache/PartitionedRegionAPIDUnitTest.java | 24 +-
.../PartitionedRegionAsSubRegionDUnitTest.java | 27 +-
...dRegionBucketCreationDistributionDUnitTest.java | 16 +-
.../PartitionedRegionCacheCloseDUnitTest.java | 23 +-
.../PartitionedRegionCacheLoaderForRootRegion.java | 2 +-
.../PartitionedRegionCacheLoaderForSubRegion.java | 4 +-
.../cache/PartitionedRegionCreationDUnitTest.java | 29 +-
.../cache/PartitionedRegionCreationJUnitTest.java | 18 +-
.../cache/PartitionedRegionDUnitTestCase.java | 10 +-
.../cache/PartitionedRegionDataStoreJUnitTest.java | 23 +-
.../PartitionedRegionDelayedRecoveryDUnitTest.java | 11 +-
.../cache/PartitionedRegionDestroyDUnitTest.java | 21 +-
.../PartitionedRegionEntryCountDUnitTest.java | 15 +-
.../cache/PartitionedRegionEvictionDUnitTest.java | 4 +-
.../cache/PartitionedRegionHADUnitTest.java | 27 +-
.../PartitionedRegionInvalidateDUnitTest.java | 13 +-
.../PartitionedRegionLocalMaxMemoryDUnitTest.java | 2 +-
...tionedRegionLocalMaxMemoryOffHeapDUnitTest.java | 2 +-
.../cache/PartitionedRegionMultipleDUnitTest.java | 15 +-
.../cache/PartitionedRegionPRIDDUnitTest.java | 24 +-
.../cache/PartitionedRegionQueryDUnitTest.java | 33 +-
...itionedRegionQueryEvaluatorIntegrationTest.java | 10 +-
.../PartitionedRegionRedundancyTrackerTest.java | 3 +-
...rtitionedRegionSerializableObjectJUnitTest.java | 2 +-
.../cache/PartitionedRegionSingleHopDUnitTest.java | 2 +-
...nedRegionSingleHopWithServerGroupDUnitTest.java | 4 +-
...itionedRegionSingleNodeOperationsJUnitTest.java | 52 +-
.../cache/PartitionedRegionSizeDUnitTest.java | 33 +-
.../cache/PartitionedRegionStatsDUnitTest.java | 27 +-
.../cache/PartitionedRegionStatsJUnitTest.java | 31 +-
.../cache/PartitionedRegionTestHelper.java | 31 +-
.../cache/PartitionedRegionTestUtilsDUnitTest.java | 4 +-
.../PartitionedRegionWithSameNameDUnitTest.java | 23 +-
.../PersistentPartitionedRegionJUnitTest.java | 17 +-
.../internal/cache/PlaceHolderDiskRegionTest.java | 3 +-
.../internal/cache/ProxyBucketRegionTest.java | 3 +-
.../internal/cache/RegionEntryFlagsJUnitTest.java | 2 +-
.../internal/cache/RegionListenerJUnitTest.java | 15 +-
.../cache/RemoteFetchEntryMessageTest.java | 5 +-
.../internal/cache/RemotePutAllMessageTest.java | 5 +-
.../internal/cache/RemoteRemoveAllMessageTest.java | 5 +-
.../cache/RemoteTransactionCCEDUnitTest.java | 6 +-
.../internal/cache/RemoteTransactionDUnitTest.java | 7 +-
.../geode/internal/cache/RemoveDAckDUnitTest.java | 2 -
.../cache/ReplaceWithOverflowJUnitTest.java | 3 +-
.../ReplicateCacheListenerInvocationTest.java | 2 +-
.../cache/ReplicateEntryIdleExpirationTest.java | 128 ++
.../cache/RequestFilterInfoMessageTest.java | 5 +-
.../internal/cache/RequestImageMessageTest.java | 5 +-
.../internal/cache/RequestRVVMessageTest.java | 5 +-
.../geode/internal/cache/RollbackFunction.java | 14 +-
.../cache/SearchLoadAndWriteProcessorTest.java | 3 +-
.../internal/cache/SimpleDiskRegionJUnitTest.java | 6 +-
.../internal/cache/SingleHopStatsDUnitTest.java | 15 +-
.../geode/internal/cache/SizingFlagDUnitTest.java | 19 +-
.../geode/internal/cache/SnapshotTestUtil.java | 4 +-
.../internal/cache/StateMarkerMessageTest.java | 5 +-
.../internal/cache/SystemFailureDUnitTest.java | 54 +-
.../apache/geode/internal/cache/TXEventTest.java | 5 +-
.../internal/cache/TXManagerImplJUnitTest.java | 26 +-
.../geode/internal/cache/TXManagerImplTest.java | 2 +-
.../apache/geode/internal/cache/TXMessageTest.java | 5 +-
.../internal/cache/TXReservationMgrJUnitTest.java | 23 +-
.../internal/cache/TXStateProxyImplJUnitTest.java | 1 +
.../geode/internal/cache/TXStateStubTest.java | 5 +-
.../geode/internal/cache/TestNonSizerObject.java | 4 +-
.../geode/internal/cache/TestObjectSizerImpl.java | 4 +-
.../internal/cache/TombstoneCreationJUnitTest.java | 25 +-
.../cache/TransactionsWithDeltaDUnitTest.java | 26 +-
.../internal/cache/UpdateVersionJUnitTest.java | 17 +-
.../apache/geode/internal/cache/VLJUnitTest.java | 2 +-
.../cache/backup/BackupDistributedTest.java | 750 +++++++
.../backup/BackupInspectorIntegrationTest.java | 170 ++
.../cache/backup/BackupIntegrationTest.java | 435 ++++
.../internal/cache/backup/BackupLockTest.java | 105 +
.../backup/BackupPrepareAndFinishMsgDUnitTest.java | 240 +++
.../cache/backup/BackupReplyProcessorTest.java | 90 +
.../cache/backup/FinishBackupFactoryTest.java | 87 +
.../cache/backup/FinishBackupOperationTest.java | 236 +++
.../cache/backup/FinishBackupRequestTest.java | 117 +
.../cache/backup/FlushToDiskFactoryTest.java | 83 +
.../cache/backup/FlushToDiskOperationTest.java | 121 ++
.../cache/backup/FlushToDiskRequestTest.java | 82 +
.../backup/IncrementalBackupDistributedTest.java | 1119 ++++++++++
...titionedBackupPrepareAndFinishMsgDUnitTest.java | 27 +
.../cache/backup/PrepareBackupFactoryTest.java | 85 +
.../cache/backup/PrepareBackupOperationTest.java | 232 ++
.../cache/backup/PrepareBackupRequestTest.java | 98 +
...eplicateBackupPrepareAndFinishMsgDUnitTest.java | 27 +
.../cache/backup/UnixScriptGeneratorTest.java | 118 ++
.../cache/backup/WindowsScriptGeneratorTest.java | 120 ++
.../cache/control/MemoryMonitorJUnitTest.java | 9 +-
.../control/MemoryMonitorOffHeapJUnitTest.java | 30 +-
.../cache/control/RebalanceOperationDUnitTest.java | 24 +-
.../cache/control/ResourceAdvisorTest.java | 5 +-
.../cache/control/TestMemoryThresholdListener.java | 4 +-
...skRegionOverflowAsyncRollingOpLogJUnitTest.java | 6 +-
...iskRegionOverflowSyncRollingOpLogJUnitTest.java | 14 +-
.../DiskRegionPerfJUnitPerformanceTest.java | 2 +-
.../DiskRegionPersistOnlySyncJUnitTest.java | 3 +-
.../DiskRegionRollOpLogJUnitPerformanceTest.java | 2 +-
.../MultiThreadedOplogPerJUnitPerformanceTest.java | 25 +-
.../cache/entries/AbstractRegionEntryTest.java | 174 ++
.../cache/event/DistributedEventTrackerTest.java | 1 +
.../ClientServerFunctionExecutionDUnitTest.java | 17 +-
.../cache/execute/CustomResultCollector.java | 2 +-
.../cache/execute/CustomerIDPartitionResolver.java | 6 +-
...istributedRegionFunctionExecutionDUnitTest.java | 6 +-
.../FunctionExecution_ExceptionDUnitTest.java | 15 +-
.../FunctionServiceClientAccessorPRBase.java | 8 +-
.../FunctionServiceClientAccessorPRDUnitTest.java | 3 +-
...ceClientAccessorPRMultipleMembersDUnitTest.java | 3 +-
...AccessorPRMultipleMembersMultihopDUnitTest.java | 5 +-
...tionServiceClientMultipleOnServerDUnitTest.java | 3 +-
.../execute/FunctionServiceClientOnServerBase.java | 4 +-
.../FunctionServiceClientOnServerDUnitTest.java | 4 +-
.../execute/FunctionServiceLocalPRDUnitTest.java | 6 +-
.../execute/FunctionServiceLocalRRDUnitTest.java | 6 +-
.../FunctionServiceMultipleOnMemberDUnitTest.java | 6 +-
.../execute/FunctionServicePeerAccessorPRBase.java | 6 +-
.../FunctionServicePeerAccessorPRDUnitTest.java | 8 +-
...vicePeerAccessorPRMultipleMembersDUnitTest.java | 8 +-
.../FunctionServicePeerAccessorRRDUnitTest.java | 6 +-
.../execute/FunctionServiceStatsDUnitTest.java | 10 +-
.../execute/LocalDataSetIndexingDUnitTest.java | 25 +-
.../execute/MemberFunctionExecutionDUnitTest.java | 16 +-
.../MultiRegionFunctionExecutionDUnitTest.java | 13 +-
.../execute/MyFunctionExecutionException.java | 8 +-
...lientServerFunctionExecutionNoAckDUnitTest.java | 17 +-
...ientServerRegionFunctionExecutionDUnitTest.java | 2 +-
...erRegionFunctionExecutionFailoverDUnitTest.java | 2 +-
...egionFunctionExecutionNoSingleHopDUnitTest.java | 13 +-
...ctionExecutionSelectorNoSingleHopDUnitTest.java | 35 +-
...rRegionFunctionExecutionSingleHopDUnitTest.java | 16 +-
.../cache/execute/PRColocationDUnitTest.java | 18 +-
.../execute/PRCustomPartitioningDUnitTest.java | 35 +-
.../execute/PRFunctionExecutionDUnitTest.java | 1 -
...FunctionExecutionWithResultSenderDUnitTest.java | 27 +-
.../cache/execute/PRPerformanceTestDUnitTest.java | 22 +-
.../cache/execute/PRSetOperationJTADUnitTest.java | 18 +-
.../cache/execute/PRSetOperationTXDUnitTest.java | 18 +-
.../cache/execute/PRTransaction2DUnitTest.java | 7 +-
.../cache/execute/PRTransactionDUnitTest.java | 28 +-
.../PRTransactionWithVersionsDUnitTest.java | 6 +-
.../cache/execute/PerformanceTestFunction.java | 4 +-
.../execute/SingleHopGetAllPutAllDUnitTest.java | 12 +-
.../geode/internal/cache/execute/TestFunction.java | 4 +-
.../geode/internal/cache/execute/data/CustId.java | 8 +-
.../internal/cache/execute/data/Customer.java | 10 +-
.../geode/internal/cache/execute/data/Order.java | 10 +-
.../geode/internal/cache/execute/data/OrderId.java | 8 +-
.../internal/cache/execute/data/Shipment.java | 10 +-
.../internal/cache/execute/data/ShipmentId.java | 8 +-
.../ExtensionClusterConfigurationDUnitTest.java | 214 ++
.../extension/SimpleExtensionPointJUnitTest.java | 4 +-
.../extension/mock/AbstractMockExtension.java | 2 +-
.../mock/AbstractMockExtensionXmlGenerator.java | 2 +-
.../mock/AlterMockCacheExtensionFunction.java | 2 +-
.../mock/AlterMockRegionExtensionFunction.java | 4 +-
.../mock/CreateMockCacheExtensionFunction.java | 2 +-
.../mock/CreateMockRegionExtensionFunction.java | 4 +-
.../mock/DestroyMockCacheExtensionFunction.java | 2 +-
.../mock/DestroyMockRegionExtensionFunction.java | 4 +-
.../cache/extension/mock/MockCacheExtension.java | 4 +-
.../mock/MockCacheExtensionXmlGenerator.java | 2 +-
.../extension/mock/MockExtensionCommands.java | 14 +-
.../extension/mock/MockExtensionXmlParser.java | 2 +-
.../cache/extension/mock/MockRegionExtension.java | 2 +-
.../mock/MockRegionExtensionXmlGenerator.java | 2 +-
.../internal/cache/functions/TestFunction.java | 28 +-
.../ha/BlockingHARQAddOperationJUnitTest.java | 24 +-
.../cache/ha/BlockingHARQStatsJUnitTest.java | 10 +-
.../cache/ha/BlockingHARegionJUnitTest.java | 4 +-
.../cache/ha/Bug36853EventsExpiryDUnitTest.java | 14 +-
.../geode/internal/cache/ha/Bug48571DUnitTest.java | 114 +-
.../geode/internal/cache/ha/Bug48879DUnitTest.java | 3 +-
.../geode/internal/cache/ha/ConflatableObject.java | 18 +-
.../cache/ha/EventIdOptimizationDUnitTest.java | 35 +-
.../cache/ha/EventIdOptimizationJUnitTest.java | 5 +-
.../geode/internal/cache/ha/FailoverDUnitTest.java | 2 +-
.../internal/cache/ha/HABugInPutDUnitTest.java | 6 +-
.../geode/internal/cache/ha/HAClearDUnitTest.java | 2 +-
.../internal/cache/ha/HAConflationDUnitTest.java | 10 +-
.../internal/cache/ha/HADuplicateDUnitTest.java | 2 +-
.../cache/ha/HAEventIdPropagationDUnitTest.java | 12 +-
.../geode/internal/cache/ha/HAExpiryDUnitTest.java | 8 +-
.../geode/internal/cache/ha/HAGIIBugDUnitTest.java | 8 +-
.../geode/internal/cache/ha/HAGIIDUnitTest.java | 2 +-
.../cache/ha/HARQAddOperationJUnitTest.java | 16 +-
.../cache/ha/HARQueueNewImplDUnitTest.java | 4 +-
.../geode/internal/cache/ha/HARegionDUnitTest.java | 40 +-
.../geode/internal/cache/ha/HARegionJUnitTest.java | 2 +-
.../internal/cache/ha/HARegionQueueDUnitTest.java | 4 +-
.../internal/cache/ha/HARegionQueueJUnitTest.java | 32 +-
.../cache/ha/HARegionQueueStatsJUnitTest.java | 53 +-
.../internal/cache/ha/HASlowReceiverDUnitTest.java | 4 +-
.../cache/ha/OperationsPropagationDUnitTest.java | 2 +-
.../ha/PreferSerializedHARegionQueueTest.java | 15 +-
.../geode/internal/cache/ha/PutAllDUnitTest.java | 34 +-
.../geode/internal/cache/ha/StatsBugDUnitTest.java | 20 +-
.../cache/ha/TestBlockingHARegionQueue.java | 12 +-
.../cache/ha/ThreadIdentifierJUnitTest.java | 8 +-
.../cache/locks/TXLockServiceDUnitTest.java | 28 +-
.../geode/internal/cache/lru/LRUAlgorithmTest.java | 3 +-
.../internal/cache/lru/LRUClockJUnitTest.java | 3 +-
.../cache/lru/TransactionsWithOverflowTest.java | 15 +-
.../cache/partitioned/BucketBackupMessageTest.java | 3 +-
.../BucketRebalanceStatRegressionTest.java | 32 +-
.../cache/partitioned/Bug43684DUnitTest.java | 2 +-
.../cache/partitioned/Bug47388DUnitTest.java | 2 +-
.../cache/partitioned/Bug51400DUnitTest.java | 2 +-
.../ColocatedRegionDetailsJUnitTest.java | 9 +-
.../DeposePrimaryBucketMessageTest.java | 5 +-
.../cache/partitioned/ElidedPutAllDUnitTest.java | 13 +-
.../cache/partitioned/FetchEntryMessageTest.java | 5 +-
.../FetchPartitionDetailsMessageTest.java | 5 +-
.../cache/partitioned/MoveBucketMessageTest.java | 5 +-
.../partitioned/PartitionResolverDUnitTest.java | 31 +-
.../PartitionedRegionLoadModelJUnitTest.java | 14 +-
.../PartitionedRegionLoaderWriterDUnitTest.java | 13 +-
.../PartitionedRegionMetaDataCleanupDUnitTest.java | 15 +-
.../cache/partitioned/PersistPRKRFDUnitTest.java | 49 +-
...sistentColocatedPartitionedRegionDUnitTest.java | 289 +--
.../PersistentPartitionedRegionDUnitTest.java | 143 +-
...sistentPartitionedRegionOldConfigDUnitTest.java | 11 +-
.../PersistentPartitionedRegionTestBase.java | 997 ++++-----
...tPartitionedRegionWithTransactionDUnitTest.java | 35 +-
.../cache/partitioned/RemoveAllPRMessageTest.java | 3 +-
.../cache/partitioned/RemoveBucketMessageTest.java | 5 +-
.../cache/partitioned/ShutdownAllDUnitTest.java | 10 +-
.../cache/partitioned/SizeMessageTest.java | 3 +-
.../StreamingPartitionOperationManyDUnitTest.java | 13 +-
.../StreamingPartitionOperationOneDUnitTest.java | 13 +-
.../fixed/FixedPartitioningDUnitTest.java | 45 +-
.../fixed/FixedPartitioningTestBase.java | 29 +-
.../fixed/FixedPartitioningTestBaseJUnitTest.java | 4 +-
...oningWithColocationAndPersistenceDUnitTest.java | 25 +-
.../fixed/QuarterPartitionResolver.java | 4 +-
.../fixed/SingleHopQuarterPartitionResolver.java | 4 +-
.../rebalance/BucketOperatorWrapperTest.java | 6 +-
.../BackupInspectorIntegrationTest.java | 169 --
.../BackupPrepareAndFinishMsgDUnitTest.java | 239 ---
...titionedBackupPrepareAndFinishMsgDUnitTest.java | 28 -
.../PersistentRVVRecoveryDUnitTest.java | 19 +-
.../PersistentRecoveryOrderDUnitTest.java | 16 +-
.../PersistentRecoveryOrderOldConfigDUnitTest.java | 13 +-
.../persistence/PersistentReplicatedTestBase.java | 11 +-
...eplicateBackupPrepareAndFinishMsgDUnitTest.java | 28 -
.../cache/persistence/UnixScriptGeneratorTest.java | 118 --
.../persistence/WindowsScriptGeneratorTest.java | 120 --
.../rollingupgrade/RollingUpgrade2DUnitTest.java | 100 +-
.../rollingupgrade/RollingUpgradeDUnitTest.java | 67 +-
.../cache/snapshot/GFSnapshotDUnitTest.java | 9 +-
.../internal/cache/tier/Bug40396DUnitTest.java | 4 +-
.../cache/tier/sockets/AcceptorImplDUnitTest.java | 20 +-
.../cache/tier/sockets/AcceptorImplJUnitTest.java | 31 +-
...dCompatibilityHigherVersionClientDUnitTest.java | 2 +-
.../cache/tier/sockets/Bug36269DUnitTest.java | 2 +-
.../cache/tier/sockets/Bug36457DUnitTest.java | 4 +-
.../cache/tier/sockets/Bug36805DUnitTest.java | 7 +-
.../cache/tier/sockets/Bug36829DUnitTest.java | 2 +-
.../cache/tier/sockets/Bug36995DUnitTest.java | 2 +-
.../cache/tier/sockets/Bug37210DUnitTest.java | 22 +-
.../cache/tier/sockets/Bug37805DUnitTest.java | 2 +-
.../internal/cache/tier/sockets/CCUStatsTest.java | 5 +-
.../CacheServerMaxConnectionsJUnitTest.java | 2 +-
...CacheServerSelectorMaxConnectionsJUnitTest.java | 6 +-
.../cache/tier/sockets/CacheServerTestUtil.java | 10 +-
.../sockets/CacheServerTransactionsDUnitTest.java | 2 +-
.../CacheServerTransactionsSelectorDUnitTest.java | 8 +-
.../cache/tier/sockets/CacheServerUtils.java | 6 +-
.../tier/sockets/ClearPropagationDUnitTest.java | 2 +-
.../tier/sockets/ClientConflationDUnitTest.java | 13 +-
.../tier/sockets/ClientHealthMonitorJUnitTest.java | 5 +-
.../ClientHealthMonitorSelectorJUnitTest.java | 9 +-
.../sockets/ClientInterestNotifyDUnitTest.java | 8 +-
.../ClientServerForceInvalidateDUnitTest.java | 2 +-
.../tier/sockets/ClientServerMiscDUnitTest.java | 14 +-
.../sockets/ClientServerMiscSelectorDUnitTest.java | 3 +-
.../cache/tier/sockets/ConflationDUnitTest.java | 23 +-
.../tier/sockets/ConnectionProxyJUnitTest.java | 25 +-
.../DataSerializerPropogationDUnitTest.java | 10 +-
.../cache/tier/sockets/DeltaEOFException.java | 2 +-
.../sockets/DestroyEntryPropagationDUnitTest.java | 2 +-
.../sockets/DurableClientBug39997DUnitTest.java | 2 +-
.../sockets/DurableClientQueueSizeDUnitTest.java | 11 +-
.../DurableClientReconnectAutoDUnitTest.java | 2 +-
.../sockets/DurableClientReconnectDUnitTest.java | 5 +-
.../tier/sockets/DurableClientStatsDUnitTest.java | 4 +-
.../tier/sockets/DurableRegistrationDUnitTest.java | 9 +-
.../sockets/DurableResponseMatrixDUnitTest.java | 4 +-
.../tier/sockets/EventIDVerificationDUnitTest.java | 5 +-
.../sockets/EventIDVerificationInP2PDUnitTest.java | 2 +-
.../internal/cache/tier/sockets/FaultyDelta.java | 2 +-
.../sockets/FilterProfileIntegrationJUnitTest.java | 11 +-
.../cache/tier/sockets/FilterProfileJUnitTest.java | 17 +-
.../sockets/ForceInvalidateEvictionDUnitTest.java | 15 +-
.../ForceInvalidateOffHeapEvictionDUnitTest.java | 4 +-
.../cache/tier/sockets/HABug36738DUnitTest.java | 2 +-
.../tier/sockets/HAInterestPart1DUnitTest.java | 13 +-
.../cache/tier/sockets/HAInterestTestCase.java | 10 +-
.../sockets/HAStartupAndFailoverDUnitTest.java | 18 +-
.../internal/cache/tier/sockets/HandShakeTest.java | 5 +-
.../sockets/InstantiatorPropagationDUnitTest.java | 2 +-
.../cache/tier/sockets/InterestListDUnitTest.java | 14 +-
.../sockets/InterestListEndpointDUnitTest.java | 2 +-
.../sockets/InterestListEndpointPRDUnitTest.java | 11 +-
.../InterestListEndpointSelectorDUnitTest.java | 8 +-
.../sockets/InterestListFailoverDUnitTest.java | 4 +-
.../sockets/InterestListRecoveryDUnitTest.java | 2 +-
.../sockets/InterestRegrListenerDUnitTest.java | 3 +-
.../sockets/InterestResultPolicyDUnitTest.java | 4 +-
.../cache/tier/sockets/MessageIdExtractorTest.java | 9 +-
.../cache/tier/sockets/MessageJUnitTest.java | 2 +-
.../tier/sockets/NewRegionAttributesDUnitTest.java | 22 +-
.../tier/sockets/ObjectPartListJUnitTest.java | 2 +-
.../internal/cache/tier/sockets/PartTest.java | 7 +-
.../tier/sockets/RedundancyLevelJUnitTest.java | 25 +-
.../sockets/RedundancyLevelPart1DUnitTest.java | 2 +-
.../sockets/RedundancyLevelPart2DUnitTest.java | 2 +-
.../sockets/RedundancyLevelPart3DUnitTest.java | 2 +-
.../cache/tier/sockets/RegionCloseDUnitTest.java | 4 +-
...isterInterestBeforeRegionCreationDUnitTest.java | 4 +-
.../sockets/RegisterInterestKeysDUnitTest.java | 2 +-
.../sockets/RegisterInterestKeysPRDUnitTest.java | 11 +-
.../tier/sockets/ReliableMessagingDUnitTest.java | 6 +-
.../tier/sockets/ServerConnectionFactoryTest.java | 29 +-
.../cache/tier/sockets/ServerConnectionTest.java | 25 +-
.../tier/sockets/UnregisterInterestDUnitTest.java | 24 +-
.../tier/sockets/UpdatePropagationDUnitTest.java | 6 +-
.../VerifyEventIDGenerationInP2PDUnitTest.java | 2 +-
...ifyUpdatesFromNonInterestEndPointDUnitTest.java | 2 +-
.../versions/RegionVersionHolderJUnitTest.java | 8 +-
.../RegionVersionHolderRandomJUnitTest.java | 2 +-
.../versions/RegionVersionVectorJUnitTest.java | 1 +
.../cache/versions/TombstoneDUnitTest.java | 7 +-
.../cache/wan/AsyncEventQueueTestBase.java | 8 +-
.../internal/cache/wan/MyGatewayEventFilter.java | 6 +-
.../wan/PossibleDuplicateAsyncEventListener.java | 6 +-
...ilGatewaySenderFlushedCoordinatorJUnitTest.java | 13 +-
.../AbstractMovingAsyncEventListener.java | 8 +-
.../asyncqueue/AsyncEventListenerDUnitTest.java | 73 +-
.../AsyncEventListenerOffHeapDUnitTest.java | 6 +-
.../asyncqueue/AsyncEventQueueStatsDUnitTest.java | 13 +-
.../AsyncEventQueueValidationsJUnitTest.java | 4 +-
.../ConcurrentAsyncEventQueueDUnitTest.java | 19 +-
.../ConcurrentAsyncEventQueueOffHeapDUnitTest.java | 6 +-
.../CommonParallelAsyncEventQueueDUnitTest.java | 11 +-
...monParallelAsyncEventQueueOffHeapDUnitTest.java | 6 +-
...elGatewaySenderFlushedCoordinatorJUnitTest.java | 35 +-
.../cache/wan/serial/DestroyMessageTest.java | 5 +-
.../cache/xmlcache/AbstractEntityResolverTest.java | 12 +-
.../cache/xmlcache/CacheCreationJUnitTest.java | 6 +-
.../CacheTransactionManagerCreationTest.java | 5 +-
.../cache/xmlcache/CacheXmlParserJUnitTest.java | 43 +-
.../cache/xmlcache/CacheXmlVersionJUnitTest.java | 4 +-
.../cache/xmlcache/DefaultEntityResolver2Test.java | 3 +-
.../cache/xmlcache/RegionCreationJUnitTest.java | 4 +-
.../cache/xmlcache/XmlGeneratorUtilsJUnitTest.java | 3 +-
.../CompressionCacheConfigDUnitTest.java | 11 +-
.../CompressionCacheListenerDUnitTest.java | 29 +-
.../CompressionRegionConfigDUnitTest.java | 59 +-
.../CompressionRegionFactoryDUnitTest.java | 23 +-
.../CompressionRegionOperationsDUnitTest.java | 28 +-
.../compression/CompressionStatsDUnitTest.java | 63 +-
.../datasource/AbstractPoolCacheJUnitTest.java | 1 +
.../internal/datasource/CleanUpJUnitTest.java | 27 +-
.../ConnectionPoolCacheImplJUnitTest.java | 30 +-
.../datasource/ConnectionPoolingJUnitTest.java | 46 +-
.../datasource/DataSourceFactoryJUnitTest.java | 1 +
.../internal/datasource/RestartJUnitTest.java | 24 +-
.../geode/internal/i18n/BasicI18nJUnitTest.java | 4 +-
.../io/CompositeOutputStreamJUnitTest.java | 2 +-
...ainWithChildrenRollingFileHandlerDUnitTest.java | 14 +-
...hChildrenRollingFileHandlerIntegrationTest.java | 4 +-
.../geode/internal/jndi/ContextJUnitTest.java | 3 +-
.../internal/jta/BlockingTimeOutJUnitTest.java | 36 +-
.../org/apache/geode/internal/jta/CacheUtils.java | 26 +-
.../internal/jta/ClientServerJTADUnitTest.java | 7 +-
.../geode/internal/jta/DataSourceJTAJUnitTest.java | 146 +-
.../geode/internal/jta/ExceptionJUnitTest.java | 1 +
.../internal/jta/GlobalTransactionJUnitTest.java | 1 +
.../org/apache/geode/internal/jta/JTAUtils.java | 25 +-
.../internal/jta/JtaIntegrationJUnitTest.java | 21 +-
.../internal/jta/SetOperationJTAJUnitTest.java | 24 +-
.../internal/jta/TransactionImplJUnitTest.java | 18 +-
.../jta/TransactionManagerImplJUnitTest.java | 18 +-
.../internal/jta/TransactionTimeOutJUnitTest.java | 1 +
.../internal/jta/UserTransactionImplJUnitTest.java | 20 +-
.../geode/internal/jta/dunit/CommitThread.java | 2 +-
.../internal/jta/dunit/ExceptionsDUnitTest.java | 1 +
.../internal/jta/dunit/IdleTimeOutDUnitTest.java | 1 +
.../internal/jta/dunit/LoginTimeOutDUnitTest.java | 1 +
.../internal/jta/dunit/MaxPoolSizeDUnitTest.java | 1 +
.../geode/internal/jta/dunit/RollbackThread.java | 2 +-
.../jta/dunit/TransactionTimeOutDUnitTest.java | 1 +
.../jta/dunit/TxnManagerMultiThreadDUnitTest.java | 19 +-
.../internal/jta/dunit/TxnTimeOutDUnitTest.java | 2 +-
.../internal/jta/functional/CacheJUnitTest.java | 4 +-
.../internal/jta/functional/TestXACacheLoader.java | 2 +-
.../geode/internal/lang/ClassUtilsJUnitTest.java | 9 +-
.../internal/lang/InOutParameterJUnitTest.java | 2 +-
.../geode/internal/lang/ObjectUtilsJUnitTest.java | 2 +-
.../geode/internal/lang/StringUtilsJUnitTest.java | 15 +-
.../lang/SystemPropertyHelperJUnitTest.java | 3 +-
.../geode/internal/lang/SystemUtilsJUnitTest.java | 2 +-
.../geode/internal/lang/ThreadUtilsJUnitTest.java | 220 --
.../geode/internal/lang/ThrowableUtilsTest.java | 2 +-
.../logging/DistributedSystemLogFileJUnitTest.java | 39 +-
.../logging/LogServiceIntegrationJUnitTest.java | 2 +-
.../logging/log4j/ConfigLocatorJUnitTest.java | 2 +-
.../log4j/FastLoggerIntegrationJUnitTest.java | 14 +-
.../FastLoggerWithDefaultConfigJUnitTest.java | 2 +-
.../logging/log4j/Log4J2PerformanceTest.java | 21 +-
.../geode/internal/logging/log4j/LogLevelTest.java | 5 +-
.../log4j/LogWriterLoggerPerformanceTest.java | 21 +-
.../CustomConfigWithCacheIntegrationTest.java | 25 +-
.../net/ClientSocketFactoryIntegrationTest.java | 2 +-
.../geode/internal/net/DummySocketCreator.java | 5 +-
.../net/SSLConfigurationFactoryJUnitTest.java | 3 +-
.../internal/net/SSLSocketIntegrationTest.java | 37 +-
.../geode/internal/net/SocketCloserJUnitTest.java | 15 +-
.../net/SocketCreatorFactoryJUnitTest.java | 4 +-
.../geode/internal/net/SocketCreatorJUnitTest.java | 5 +-
.../geode/internal/net/SocketUtilsJUnitTest.java | 2 +-
.../internal/offheap/FreeListManagerTest.java | 23 +-
.../offheap/FreeListOffHeapRegionJUnitTest.java | 3 +-
.../geode/internal/offheap/InlineKeyJUnitTest.java | 27 +-
.../MemoryAllocatorFillPatternIntegrationTest.java | 21 +-
.../MemoryAllocatorFillPatternJUnitTest.java | 19 +-
.../internal/offheap/MemoryBlockNodeJUnitTest.java | 25 +-
.../internal/offheap/NullOffHeapMemoryStats.java | 2 +-
.../offheap/NullOutOfOffHeapMemoryListener.java | 2 +-
.../internal/offheap/OffHeapHelperJUnitTest.java | 2 +-
.../internal/offheap/OffHeapIndexJUnitTest.java | 25 +-
.../geode/internal/offheap/OffHeapRegionBase.java | 34 +-
.../offheap/OffHeapRegionEntryHelperJUnitTest.java | 6 +-
.../internal/offheap/OffHeapStorageJUnitTest.java | 21 +-
.../offheap/OffHeapValidationJUnitTest.java | 35 +-
.../offheap/OldFreeListOffHeapRegionJUnitTest.java | 3 +-
.../offheap/ReferenceCountHelperImplTest.java | 4 +-
.../offheap/ReferenceCountHelperJUnitTest.java | 12 +-
.../offheap/TxReleasesOffHeapOnCloseJUnitTest.java | 17 +-
.../FileProcessControllerIntegrationTest.java | 2 +
.../LocalProcessLauncherDistributedTest.java | 2 +-
.../internal/process/NativeProcessUtilsTest.java | 4 +-
.../internal/process/PidFileIntegrationTest.java | 2 +-
.../security/CallbackInstantiatorTest.java | 5 +-
.../security/LegacySecurityServiceTest.java | 3 +-
.../security/SecurityServiceFactoryTest.java | 15 +-
.../internal/security/SecurityServiceTest.java | 9 +-
.../internal/size/ObjectTraverserJUnitTest.java | 13 +-
.../statistics/FileSizeLimitIntegrationTest.java | 17 +-
.../GemFireStatSamplerIntegrationTest.java | 2 +-
.../internal/statistics/SampleCollectorTest.java | 4 +-
.../SimpleStatSamplerIntegrationTest.java | 21 +-
...chiveWithMissingResourceTypeRegressionTest.java | 7 +-
.../StatArchiveWriterReaderIntegrationTest.java | 2 +-
.../internal/statistics/StatArchiveWriterTest.java | 3 +-
.../statistics/StatMonitorHandlerTest.java | 15 +-
...MonitorHandlerWithEnabledMonitorThreadTest.java | 13 +-
.../statistics/StatSamplerIntegrationTest.java | 2 +-
.../internal/statistics/StatSamplerTestCase.java | 2 +-
.../StatTypesAreRolledOverRegressionTest.java | 2 +-
.../statistics/StatisticsDistributedTest.java | 4 +-
.../internal/statistics/StatisticsMonitorTest.java | 4 +-
.../statistics/ValueMonitorIntegrationTest.java | 31 +-
.../internal/stats50/AtomicStatsJUnitTest.java | 23 +-
.../geode/internal/tcp/ConnectionJUnitTest.java | 2 +-
.../geode/internal/tcp/ConnectionTableTest.java | 19 +-
.../apache/geode/internal/tcp/ConnectionTest.java | 9 +-
.../apache/geode/internal/util/ArrayUtilsTest.java | 4 +-
...BlobHelperWithThreadContextClassLoaderTest.java | 1 -
.../internal/util/CollectionUtilsJUnitTest.java | 13 +-
.../apache/geode/internal/util/HostNameTest.java | 7 +-
.../geode/internal/util/IOUtilsJUnitTest.java | 4 +-
.../util/concurrent/FutureResultJUnitTest.java | 13 +-
.../concurrent/cm/CountedMapLoopsJUnitTest.java | 3 +-
.../util/concurrent/cm/IntMapCheckJUnitTest.java | 1 -
.../internal/util/concurrent/cm/LoopHelpers.java | 6 +-
.../util/concurrent/cm/MapCheckJUnitTest.java | 1 -
.../util/concurrent/cm/MapLoopsJUnitTest.java | 3 +-
.../concurrent/cm/StringMapLoopsJUnitTest.java | 3 +-
.../geode/management/DLockManagementDUnitTest.java | 1 -
.../geode/management/DiskBackupStatusTest.java | 105 +
.../geode/management/DiskManagementDUnitTest.java | 2 +-
.../apache/geode/management/JMXMBeanDUnitTest.java | 2 +-
.../org/apache/geode/management/MBeanUtil.java | 20 +-
.../management/OffHeapManagementDUnitTest.java | 2 +-
.../geode/management/QueryDataDUnitTest.java | 2 +-
.../management/RegionManagementDUnitTest.java | 11 +-
.../bean/stats/AsyncEventQueueStatsJUnitTest.java | 2 +-
.../stats/DistributedSystemStatsJUnitTest.java | 23 +-
.../bean/stats/GatewayMBeanBridgeJUnitTest.java | 3 +-
.../management/bean/stats/MBeanStatsTestCase.java | 16 +-
.../bean/stats/RegionStatsJUnitTest.java | 2 +-
.../internal/CompositeBuilderViaFromTest.java | 7 +-
.../internal/CompositeBuilderViaProxyTest.java | 7 +-
.../management/internal/IdentityConverterTest.java | 3 +-
.../management/internal/JettyHelperJUnitTest.java | 2 +-
.../beans/DistributedSystemBridgeJUnitTest.java | 8 +-
.../cli/AbstractCliAroundInterceptorJUnitTest.java | 4 +-
.../cli/ClasspathScanLoadHelperJUnitTest.java | 29 +-
.../management/internal/cli/CliUtilDUnitTest.java | 481 ++---
.../geode/management/internal/cli/CliUtilTest.java | 39 +
.../internal/cli/CommandManagerJUnitTest.java | 156 +-
.../internal/cli/CommandRequestTest.java | 162 --
.../internal/cli/GfshParserAutoCompletionTest.java | 2 +-
.../internal/cli/GfshParserConverterTest.java | 10 +-
.../internal/cli/GfshParserJUnitTest.java | 9 +-
.../internal/cli/GfshParserParsingTest.java | 119 +-
.../internal/cli/HeadlessGfshIntegrationTest.java | 19 +-
.../management/internal/cli/NetstatDUnitTest.java | 38 +-
.../internal/cli/OptionAliasesParsingTest.java | 12 +-
.../internal/cli/TableBuilderJUnitTest.java | 25 +-
.../cli/commands/AlterRegionCommandDUnitTest.java | 16 +-
.../AlterRegionCommandIntegrationTest.java | 71 +
.../commands/ChangeLogLevelCommandDUnitTest.java | 85 +-
.../internal/cli/commands/CliCommandTestBase.java | 27 +-
.../cli/commands/ConcurrentDeployDUnitTest.java | 31 +-
.../internal/cli/commands/ConnectCommandTest.java | 2 +-
.../CreateDefinedIndexesCommandDUnitTest.java | 218 ++
.../commands/CreateDefinedIndexesCommandTest.java | 166 ++
.../cli/commands/CreateRegionCommandDUnitTest.java | 86 +-
.../CreateRegionCommandIntegrationTest.java | 588 +++++
.../cli/commands/CreateRegionCommandTest.java | 207 +-
...DeployCommandFunctionRegistrationDUnitTest.java | 10 +-
.../commands/DeployCommandRedeployDUnitTest.java | 24 +-
.../cli/commands/DeployWithGroupsDUnitTest.java | 70 +-
.../DescribeConfigCommandIntegrationTest.java | 70 +
.../commands/DescribeConfigCommandJUnitTest.java | 90 -
.../cli/commands/DescribeConfigCommandTest.java | 38 +
.../commands/DescribeMembersCommandDUnitTest.java | 30 +-
.../commands/DestroyGatewaySenderCommandTest.java | 108 +
.../commands/DestroyIndexCommandsDUnitTest.java | 198 ++
.../commands/DestroyRegionCommandDUnitTest.java | 87 +-
.../cli/commands/DestroyRegionCommandTest.java | 86 +-
.../cli/commands/DiskStoreCommandsJUnitTest.java | 75 +-
.../ExecuteFunctionCommandSecurityTest.java | 76 +-
.../cli/commands/ExportDataCommandTest.java | 40 +
.../cli/commands/ExportDataIntegrationTest.java | 27 +-
.../cli/commands/ExportLogsCommandTest.java | 30 +-
.../internal/cli/commands/ExportLogsDUnitTest.java | 20 +-
.../cli/commands/ExportLogsIntegrationTest.java | 6 +-
.../commands/ExportLogsInterceptorJUnitTest.java | 36 +-
.../commands/ExportLogsOnServerManagerDUnit.java | 18 +-
.../cli/commands/ExportLogsStatsDUnitTest.java | 14 +-
.../internal/cli/commands/ExportLogsTestSuite.java | 9 +-
.../ExportLogsWithMemberGroupDUnitTest.java | 10 +-
.../cli/commands/FunctionCommandsDUnitTest.java | 150 +-
.../internal/cli/commands/GcCommandDUnitTest.java | 44 +-
.../cli/commands/GemfireDataCommandsDUnitTest.java | 827 +-------
.../cli/commands/GetCommandIntegrationTest.java | 158 ++
...ionWithCacheLoaderDuringCacheMissDUnitTest.java | 390 ----
.../cli/commands/GfshCommandIntegrationTest.java | 14 +-
.../cli/commands/GfshCommandJUnitTest.java | 635 +-----
.../cli/commands/ImportDataCommandTest.java | 39 +
.../cli/commands/ImportDataIntegrationTest.java | 42 +-
.../cli/commands/IndexCommandsIntegrationTest.java | 80 +-
.../IndexCommandsShareConfigurationDUnitTest.java | 17 +-
.../ListAndDescribeDiskStoreCommandsDUnitTest.java | 6 +-
.../commands/ListAndDescribeRegionDUnitTest.java | 77 +-
.../cli/commands/ListIndexCommandDUnitTest.java | 36 +-
.../cli/commands/ListIndexCommandJUnitTest.java | 4 +-
.../cli/commands/ListMembersCommandDUnitTest.java | 18 +-
.../cli/commands/LocateEntryDUnitTest.java | 96 +
.../cli/commands/LogLevelInterceptorTest.java | 21 +-
.../cli/commands/PutCommandIntegrationTest.java | 128 ++
.../internal/cli/commands/QueryCommandTest.java | 116 +-
.../cli/commands/QueryCommandUnitTest.java | 30 -
.../cli/commands/QueueCommandsDUnitTest.java | 2 +-
.../cli/commands/RemoveCommandDUnitTest.java | 32 +-
.../cli/commands/RemoveCommandJsonDUnitTest.java | 14 +-
.../cli/commands/ShowDeadlockDUnitTest.java | 13 +-
.../cli/commands/ShowLogCommandDUnitTest.java | 59 +-
.../ShowMetricsCommandIntegrationTest.java | 171 ++
.../cli/commands/ShowMetricsCommandJUnitTest.java | 61 -
.../cli/commands/ShowMetricsDUnitTest.java | 55 +-
.../cli/commands/ShowMetricsJUnitTest.java | 62 +
.../commands/ShowMissingDiskStoresDUnitTest.java | 14 +-
.../cli/commands/ShutdownCommandDUnitTest.java | 30 +-
.../internal/cli/commands/TestCacheLoader.java | 30 +
.../internal/cli/commands/TestCacheWriter.java | 41 +
.../internal/cli/commands/TestCompressor.java | 30 +
.../internal/cli/commands/TestObjectSizer.java | 26 +
.../cli/commands/TestObjectSizerNotDeclarable.java | 25 +
.../cli/commands/TestPartitionResolver.java | 36 +
.../cli/commands/ToUpperResultCollector.java | 8 +-
.../cli/commands/VersionCommandJUnitTest.java | 84 +
.../GfshStatusCommandsIntegrationTest.java | 8 +-
.../lifecycle/StartJConsoleCommandTest.java | 5 +-
.../cli/converters/LogLevelConverterTest.java | 7 +-
.../geode/management/internal/cli/dto/Key.java | 41 +
.../geode/management/internal/cli/dto/Value.java | 30 +
.../cli/functions/CliFunctionResultTest.java | 42 +
.../CreateDefinedIndexesFunctionTest.java | 226 ++
.../functions/DataCommandFunctionJUnitTest.java | 19 +-
.../DataCommandFunctionWithPDXJUnitTest.java | 13 +-
.../DescribeDiskStoreFunctionJUnitTest.java | 14 +-
.../cli/functions/ExpirationAttrsTest.java | 51 +
.../ExportLogsFunctionIntegrationTest.java | 2 +-
.../GatewaySenderDestroyFunctionTest.java | 87 +
.../internal/cli/functions/Geode3544JUnitTest.java | 12 +-
.../functions/ListDiskStoresFunctionJUnitTest.java | 2 +-
.../cli/functions/ListIndexFunctionJUnitTest.java | 2 +-
.../cli/functions/RegionDestroyFunctionTest.java | 97 +
.../cli/functions/RegionFunctionArgsTest.java | 96 +
.../ShowMissingDiskStoresFunctionJUnitTest.java | 29 +-
.../functions/SizeExportLogsFunctionFileTest.java | 19 +-
.../cli/functions/SizeExportLogsFunctionTest.java | 2 +-
.../internal/cli/help/HelpBlockUnitTest.java | 5 +-
.../internal/cli/help/HelperUnitTest.java | 9 +-
.../internal/cli/remote/CommandExecutorTest.java | 79 +-
.../cli/remote/OnlineCommandProcessorTest.java | 6 +-
.../internal/cli/result/CommandResultTest.java | 4 +-
.../cli/shell/GfshConfigInitFileJUnitTest.java | 4 +-
.../internal/cli/shell/GfshHistoryJUnitTest.java | 11 +-
.../cli/shell/GfshMultilineCommandTest.java | 19 +-
.../internal/cli/util/BytesToStringTest.java | 3 +-
.../cli/util/ExportLogsCacheWriterUnitTest.java | 5 +-
.../internal/cli/util/HostUtilsTest.java | 5 +-
.../management/internal/cli/util/JdkToolTest.java | 9 +-
.../cli/util/LogExporterIntegrationTest.java | 2 +-
.../internal/cli/util/LogExporterTest.java | 19 +-
.../internal/cli/util/LogFilterTest.java | 11 +-
.../internal/cli/util/LogLevelExtractorTest.java | 3 +-
.../management/internal/cli/util/LogSizerTest.java | 13 +-
.../internal/configuration/ClusterConfig.java | 31 +-
.../ClusterConfigDeployJarDUnitTest.java | 36 +-
.../ClusterConfigDistributionDUnitTest.java | 47 +-
.../ClusterConfigImportDUnitTest.java | 24 +-
.../configuration/ClusterConfigTestBase.java | 2 +-
.../ClusterConfigWithSecurityDUnitTest.java | 16 +-
.../ClusterConfigurationServiceDUnitTest.java | 27 +-
...usterConfigurationServiceUsingDirDUnitTest.java | 23 +-
.../configuration/EventTestCacheWriter.java | 4 +-
.../ImportClusterConfigDistributedTest.java | 25 +-
.../ImportOldClusterConfigDUnitTest.java | 12 +-
.../domain/CacheElementJUnitTest.java | 7 +-
.../utils/XmlUtilsAddNewNodeJUnitTest.java | 56 +-
.../configuration/utils/XmlUtilsJUnitTest.java | 2 +-
.../internal/pulse/TestFunctionsDUnitTest.java | 17 +-
.../internal/pulse/TestHeapDUnitTest.java | 13 +-
.../internal/pulse/TestLocatorsDUnitTest.java | 13 +-
.../security/AccessControlMBeanJUnitTest.java | 13 +-
.../CacheServerMBeanAuthenticationJUnitTest.java | 2 +-
.../CacheServerMBeanAuthorizationJUnitTest.java | 4 +-
...acheServerMBeanWithShiroIniIntegrationTest.java | 4 +-
.../internal/security/CliCommandsSecurityTest.java | 4 +-
.../security/DataCommandsSecurityTest.java | 4 +-
.../security/DeployCommandsSecurityTest.java | 4 +-
.../security/DiskStoreMXBeanSecurityJUnitTest.java | 4 +-
.../DistributedSystemMXBeanSecurityTest.java | 4 +-
.../security/GatewayReceiverMBeanSecurityTest.java | 4 +-
.../security/GatewaySenderMBeanSecurityTest.java | 4 +-
.../security/GfshCommandsPostProcessorTest.java | 23 +-
.../security/GfshCommandsSecurityTest.java | 10 +-
.../internal/security/JavaRmiServerNameTest.java | 5 +-
.../LockServiceMBeanAuthorizationJUnitTest.java | 4 +-
.../internal/security/MBeanSecurityJUnitTest.java | 4 +-
.../ManagerMBeanAuthorizationJUnitTest.java | 4 +-
.../security/MemberMBeanSecurityJUnitTest.java | 4 +-
.../internal/security/MultiUserDUnitTest.java | 12 +-
...urityServiceWithCustomRealmIntegrationTest.java | 5 +-
...SecurityServiceWithShiroIniIntegrationTest.java | 13 +-
.../ReadOpFileAccessControllerJUnitTest.java | 38 +-
.../org/apache/geode/management/model/Item.java | 2 +-
.../org/apache/geode/management/model/Order.java | 2 +-
.../memcached/GemcachedBinaryClientJUnitTest.java | 9 +-
.../memcached/GemcachedDevelopmentJUnitTest.java | 29 +-
.../geode/pdx/AutoSerializableJUnitTest.java | 35 +-
.../org/apache/geode/pdx/ByteSourceJUnitTest.java | 4 +-
.../pdx/ClientsWithVersioningRetryDUnitTest.java | 6 +-
.../apache/geode/pdx/JSONFormatterJUnitTest.java | 6 +-
.../geode/pdx/JSONPdxClientServerDUnitTest.java | 10 +-
.../test/java/org/apache/geode/pdx/NestedPdx.java | 1 -
.../pdx/OffHeapByteBufferByteSourceJUnitTest.java | 2 +-
.../geode/pdx/OffHeapByteSourceJUnitTest.java | 6 +-
.../geode/pdx/PDXAsyncEventQueueDUnitTest.java | 14 +-
.../apache/geode/pdx/PdxAttributesJUnitTest.java | 25 +-
.../apache/geode/pdx/PdxClientServerDUnitTest.java | 15 +-
.../geode/pdx/PdxDeserializationDUnitTest.java | 27 +-
.../geode/pdx/PdxInstanceFactoryJUnitTest.java | 21 +-
.../org/apache/geode/pdx/PdxInstanceJUnitTest.java | 33 +-
.../apache/geode/pdx/PdxSerializableDUnitTest.java | 139 +-
.../apache/geode/pdx/PdxSerializableJUnitTest.java | 55 +-
.../org/apache/geode/pdx/PdxStringJUnitTest.java | 4 +-
.../apache/geode/pdx/PdxTypeExportDUnitTest.java | 15 +-
.../geode/pdx/TestObjectForJSONFormatter.java | 2 -
.../java/org/apache/geode/redis/AuthJUnitTest.java | 24 +-
.../apache/geode/redis/ConcurrentStartTest.java | 20 +-
.../org/apache/geode/redis/HashesJUnitTest.java | 22 +-
.../org/apache/geode/redis/ListsJUnitTest.java | 24 +-
.../org/apache/geode/redis/RedisServerTest.java | 13 +-
.../java/org/apache/geode/redis/SetsJUnitTest.java | 21 +-
.../apache/geode/redis/SortedSetsJUnitTest.java | 22 +-
.../org/apache/geode/redis/StringsJunitTest.java | 20 +-
.../executor/AbstractScanExecutorTest.java | 5 +-
.../CacheFactoryWithSecurityObjectTest.java | 13 +-
.../apache/geode/security/ClientAuthDUnitTest.java | 11 +-
.../security/ClientAuthenticationDUnitTest.java | 18 +-
.../security/ClientAuthenticationTestCase.java | 3 +-
.../security/ClientAuthorizationDUnitTest.java | 5 +-
.../security/ClientAuthorizationTestCase.java | 2 +-
.../security/ClientContainsKeyAuthDUnitTest.java | 11 +-
.../ClientDestroyInvalidateAuthDUnitTest.java | 13 +-
.../security/ClientDestroyRegionAuthDUnitTest.java | 9 +-
.../ClientExecuteFunctionAuthDUnitTest.java | 4 +-
.../ClientExecuteRegionFunctionAuthDUnitTest.java | 4 +-
.../geode/security/ClientGetAllAuthDUnitTest.java | 17 +-
.../security/ClientGetEntryAuthDUnitTest.java | 11 +-
.../geode/security/ClientGetPutAuthDUnitTest.java | 23 +-
.../security/ClientRegionClearAuthDUnitTest.java | 9 +-
.../ClientRegisterInterestAuthDUnitTest.java | 15 +-
.../security/ClientRemoveAllAuthDUnitTest.java | 13 +-
.../ClientUnregisterInterestAuthDUnitTest.java | 9 +-
.../ClusterConfigWithoutSecurityDUnitTest.java | 2 +-
.../security/GemFireSecurityExceptionTest.java | 1 +
.../NoShowValue1PostProcessorDUnitTest.java | 19 +-
.../geode/security/NotAuthorizedExceptionTest.java | 1 +
.../geode/security/P2PAuthenticationDUnitTest.java | 6 +-
.../PDXGfshPostProcessorOnRemoteServerTest.java | 39 +-
.../apache/geode/security/PDXPostProcessor.java | 6 +-
.../geode/security/PDXPostProcessorDUnitTest.java | 19 +-
.../geode/security/PeerAuthenticatorDUnitTest.java | 4 +-
.../PeerSecurityWithEmbeddedLocatorDUnitTest.java | 17 +-
.../geode/security/PostProcessorDUnitTest.java | 19 +-
.../security/SecurityClusterConfigDUnitTest.java | 15 +-
.../SecurityManagerLifecycleDistributedTest.java | 15 +-
.../SecurityManagerLifecycleIntegrationTest.java | 13 +-
.../SecurityWithoutClusterConfigDUnitTest.java | 18 +-
.../geode/security/SimpleSecurityManagerTest.java | 11 +-
.../security/StartServerAuthorizationTest.java | 16 +-
.../apache/geode/security/TestSecurityManager.java | 19 +-
.../generator/AuthzCredentialGenerator.java | 44 +-
.../security/generator/CredentialGenerator.java | 14 +-
.../generator/LdapUserCredentialGenerator.java | 15 +-
.../security/generator/SSLCredentialGenerator.java | 9 +-
.../UserPasswordWithExtraPropsAuthInit.java | 8 +-
.../geode/security/query/QuerySecurityBase.java | 9 +-
.../security/templates/DummyAuthorization.java | 2 +-
.../templates/FunctionSecurityPrmsHolder.java | 2 +-
.../security/templates/LdapUserAuthenticator.java | 1 +
.../geode/security/templates/PKCSAuthInit.java | 4 +-
.../security/templates/UserPasswordAuthInit.java | 4 +-
.../security/templates/UsernamePrincipal.java | 2 +-
.../geode/security/templates/XmlAuthorization.java | 27 +-
.../geode/security/templates/XmlErrorHandler.java | 4 +-
.../java/org/apache/geode/sequence/LineMapper.java | 2 +-
.../apache/geode/sequence/SelectGraphDialog.java | 14 +-
.../org/apache/geode/sequence/SequenceDiagram.java | 5 +-
.../org/apache/geode/sequence/SequencePanel.java | 3 +-
.../org/apache/geode/sequence/StateColorMap.java | 4 +-
.../java/org/apache/geode/sequence/TimeAxis.java | 3 +-
.../org/apache/geode/sequence/ZoomingPanel.java | 3 +-
.../java/org/apache/geode/test/dunit/Assert.java | 2 +-
.../apache/geode/test/dunit/DUnitBlackboard.java | 1 +
.../org/apache/geode/test/dunit/DebuggerUtils.java | 2 +-
.../geode/test/dunit/DistributedTestUtils.java | 12 +-
.../apache/geode/test/dunit/IgnoredException.java | 14 +-
.../java/org/apache/geode/test/dunit/Invoke.java | 4 +-
.../java/org/apache/geode/test/dunit/Jitter.java | 10 +-
.../apache/geode/test/dunit/LogWriterUtils.java | 17 +-
.../org/apache/geode/test/dunit/NetworkUtils.java | 10 +-
.../geode/test/dunit/SerializableCallable.java | 2 +-
.../geode/test/dunit/StoppableWaitCriterion.java | 2 +-
.../org/apache/geode/test/dunit/ThreadUtils.java | 12 +-
.../test/java/org/apache/geode/test/dunit/VM.java | 8 +-
.../java/org/apache/geode/test/dunit/Wait.java | 18 +-
.../dunit/cache/internal/JUnit4CacheTestCase.java | 2 +-
.../examples/DistributedTestCaseExampleTest.java | 1 -
.../dunit/internal/DUnitBlackboardDUnitTest.java | 11 +-
.../dunit/internal/InternalBlackboardImpl.java | 4 +-
.../test/dunit/rules/CleanupDUnitVMsRule.java | 5 +-
.../test/dunit/rules/LocatorServerStartupRule.java | 75 +-
.../apache/geode/test/dunit/rules/MemberVM.java | 25 +-
.../dunit/rules/tests/MemberStarterRuleTest.java | 2 +-
.../geode/test/dunit/standalone/ChildVM.java | 2 +-
.../geode/test/dunit/standalone/DUnitLauncher.java | 13 +-
.../test/dunit/standalone/ProcessManager.java | 16 +-
.../test/dunit/standalone/VersionManager.java | 6 +-
.../dunit/standalone/VersionManagerJUnitTest.java | 3 +-
.../geode/test/dunit/tests/BasicDUnitTest.java | 2 +-
.../test/dunit/tests/JUnit4BasicDUnitTest.java | 4 +-
...ridingGetPropertiesDisconnectsAllDUnitTest.java | 15 +-
.../java/org/apache/geode/test/fake/Fakes.java | 13 +-
.../golden/FailWithErrorInOutputJUnitTest.java | 2 +-
.../golden/FailWithExtraLineInOutputJUnitTest.java | 4 +-
...ailWithLineMissingFromEndOfOutputJUnitTest.java | 2 +-
...WithLineMissingFromMiddleOfOutputJUnitTest.java | 2 +-
.../FailWithLoggerErrorInOutputJUnitTest.java | 2 +-
.../FailWithLoggerFatalInOutputJUnitTest.java | 2 +-
.../FailWithLoggerWarnInOutputJUnitTest.java | 2 +-
.../golden/FailWithProblemInOutputTestCase.java | 2 +-
.../golden/FailWithSevereInOutputJUnitTest.java | 2 +-
.../golden/FailWithWarningInOutputJUnitTest.java | 2 +-
.../apache/geode/test/golden/GoldenComparator.java | 2 +-
.../geode/test/golden/GoldenStringComparator.java | 2 +-
.../apache/geode/test/golden/GoldenTestCase.java | 20 +-
.../apache/geode/test/golden/PassJUnitTest.java | 4 +-
.../golden/PassWithExpectedErrorJUnitTest.java | 2 +-
.../golden/PassWithExpectedProblemTestCase.java | 2 +-
.../golden/PassWithExpectedSevereJUnitTest.java | 2 +-
.../golden/PassWithExpectedWarningJUnitTest.java | 2 +-
.../geode/test/golden/RegexGoldenComparator.java | 2 +-
.../geode/test/golden/StringGoldenComparator.java | 2 +-
.../test/junit/assertions/CommandResultAssert.java | 266 +++
.../junit/assertions/CommandResultExecution.java | 35 +
.../geode/test/junit/rules/GfshCommandRule.java | 268 +++
.../geode/test/junit/rules/GfshParserRule.java | 6 +
.../test/junit/rules/GfshShellConnectionRule.java | 292 ---
.../org/apache/geode/test/junit/rules/Locator.java | 2 +
.../geode/test/junit/rules/LocatorStarterRule.java | 7 +-
.../org/apache/geode/test/junit/rules/Member.java | 1 -
.../geode/test/junit/rules/MemberStarterRule.java | 26 +
.../org/apache/geode/test/junit/rules/Server.java | 5 +-
.../geode/test/junit/rules/ServerStarterRule.java | 1 -
.../apache/geode/test/process/MainLauncher.java | 2 +-
.../geode/test/process/ProcessOutputReader.java | 2 +-
.../apache/geode/test/process/ProcessWrapper.java | 8 +-
.../test/process/ProcessWrapperJUnitTest.java | 2 +-
.../java/org/apache/geode/util/JSR166TestCase.java | 2 +-
.../java/org/apache/geode/util/test/TestUtil.java | 10 +-
.../java/org/apache/persistence/admin/Logger.java | 36 +-
.../org/apache/persistence/logging/Logger.java | 2 +-
.../persistence/logging/SimpleFormatter.java | 1 -
.../java/parReg/query/unittest/NewPortfolio.java | 6 +-
.../test/java/parReg/query/unittest/Position.java | 5 +-
.../org.springframework.shell.core.CommandMarker | 8 -
.../apache/geode/codeAnalysis/excludedClasses.txt | 386 +++-
.../org/apache/geode/codeAnalysis/openBugs.txt | 3 -
.../codeAnalysis/sanctionedDataSerializables.txt | 12 +-
.../geode/codeAnalysis/sanctionedSerializables.txt | 239 +--
.../BackupIntegrationTest.cache.xml} | 0
.../cli/commands/golden-help-offline.properties | 10 +-
.../geode/cache/client/internal/CloseCQOp.java | 6 +-
.../geode/cache/client/internal/CreateCQOp.java | 20 +-
.../cache/client/internal/CreateCQWithIROp.java | 4 +-
.../cache/client/internal/GetDurableCQsOp.java | 6 +-
.../cache/client/internal/ServerCQProxyImpl.java | 16 +-
.../geode/cache/client/internal/StopCQOp.java | 6 +-
.../cache/query/internal/cq/ClientCQImpl.java | 4 +-
.../query/internal/cq/CqAttributesMutatorImpl.java | 6 +-
.../cache/query/internal/cq/CqConflatable.java | 18 +-
.../geode/cache/query/internal/cq/CqEventImpl.java | 3 +-
.../cache/query/internal/cq/CqListenerImpl.java | 2 +-
.../geode/cache/query/internal/cq/CqQueryImpl.java | 20 +-
.../cache/query/internal/cq/CqServiceImpl.java | 14 +-
.../query/internal/cq/CqServiceStatisticsImpl.java | 6 +-
.../cache/query/internal/cq/CqServiceVsdStats.java | 24 +-
.../cache/query/internal/cq/CqStatisticsImpl.java | 12 +-
.../cache/query/internal/cq/ServerCQImpl.java | 10 +-
.../cache/tier/sockets/command/ExecuteCQ.java | 9 +-
.../cache/query/cq/dunit/CqDataDUnitTest.java | 41 +-
.../cq/dunit/CqDataOptimizedExecuteDUnitTest.java | 11 +-
.../CqDataUsingPoolOptimizedExecuteDUnitTest.java | 11 +-
.../cache/query/cq/dunit/CqPerfDUnitTest.java | 31 +-
.../query/cq/dunit/CqPerfUsingPoolDUnitTest.java | 27 +-
.../cache/query/cq/dunit/CqQueryDUnitTest.java | 60 +-
.../cq/dunit/CqQueryOptimizedExecuteDUnitTest.java | 11 +-
.../query/cq/dunit/CqQueryUsingPoolDUnitTest.java | 24 +-
.../CqQueryUsingPoolOptimizedExecuteDUnitTest.java | 11 +-
.../cq/dunit/CqResultSetUsingPoolDUnitTest.java | 37 +-
...esultSetUsingPoolOptimizedExecuteDUnitTest.java | 17 +-
.../dunit/CqSecurityAuthorizedUserDUnitTest.java | 3 -
.../cache/query/cq/dunit/CqStateDUnitTest.java | 1 -
.../cache/query/cq/dunit/CqStatsDUnitTest.java | 4 +-
.../cq/dunit/CqStatsOptimizedExecuteDUnitTest.java | 11 +-
.../query/cq/dunit/CqStatsUsingPoolDUnitTest.java | 6 +-
.../cache/query/cq/dunit/CqTimeTestListener.java | 12 +-
.../dunit/PartitionedRegionCqQueryDUnitTest.java | 12 +-
...onedRegionCqQueryOptimizedExecuteDUnitTest.java | 11 +-
.../query/cq/dunit/PrCqUsingPoolDUnitTest.java | 37 +-
.../PrCqUsingPoolOptimizedExecuteDUnitTest.java | 11 +-
.../cache/query/dunit/PdxQueryCQDUnitTest.java | 21 +-
.../query/dunit/QueryIndexUpdateRIDUnitTest.java | 35 +-
.../cache/query/dunit/QueryMonitorDUnitTest.java | 19 +-
.../cache/query/internal/cq/CqServiceUnitTest.java | 5 +-
.../cache/snapshot/ClientSnapshotDUnitTest.java | 2 +-
.../AnalyzeCQSerializablesJUnitTest.java | 3 +-
.../cache/PRDeltaPropagationDUnitTest.java | 6 +-
.../geode/internal/cache/PutAllCSDUnitTest.java | 8 +-
.../cache/RemoteCQTransactionDUnitTest.java | 23 +-
.../internal/cache/ha/CQListGIIDUnitTest.java | 18 +-
.../internal/cache/ha/HADispatcherDUnitTest.java | 33 +-
.../tier/sockets/ClientServerMiscBCDUnitTest.java | 18 +-
.../tier/sockets/ClientToServerDeltaDUnitTest.java | 17 +-
.../sockets/DeltaPropagationWithCQDUnitTest.java | 12 +-
...ltaToRegionRelationCQRegistrationDUnitTest.java | 11 +-
.../tier/sockets/DurableClientCrashDUnitTest.java | 3 +-
.../sockets/DurableClientNetDownDUnitTest.java | 5 +-
.../tier/sockets/DurableClientSimpleDUnitTest.java | 12 +-
.../cache/tier/sockets/DurableClientTestCase.java | 18 +-
.../commands/DurableClientCommandsDUnitTest.java | 2 +-
.../management/internal/pulse/TestCQDUnitTest.java | 13 +-
.../internal/pulse/TestClientsDUnitTest.java | 15 +-
.../internal/pulse/TestServerDUnitTest.java | 13 +-
.../security/CQPDXPostProcessorDUnitTest.java | 23 +-
.../geode/security/CQPostProcessorDunitTest.java | 2 +-
.../security/ClientAuthorizationCQDUnitTest.java | 4 +-
.../security/ClientAuthzObjectModDUnitTest.java | 21 +-
.../geode/security/ClientCQAuthDUnitTest.java | 2 +-
.../ClientCQPostAuthorizationDUnitTest.java | 2 +-
.../security/ClientPostAuthorizationDUnitTest.java | 2 +-
.../geode/security/ClientQueryAuthDUnitTest.java | 2 +-
.../geode/security/MultiUserAPIDUnitTest.java | 24 +-
.../security/MultiUserDurableCQAuthzDUnitTest.java | 2 +-
.../data_regions/managing_data_regions.html.md.erb | 3 +-
.../gfsh_config_troubleshooting.html.md.erb | 4 +-
.../gfsh_load_from_shared_dir.html.md.erb | 4 -
.../persisting_configurations.html.md.erb | 6 +-
.../running/change_file_spec.html.md.erb | 19 +-
.../running/deploying_config_jar_files.html.md.erb | 6 +-
.../system_requirements/host_machine.html.md.erb | 11 +-
.../file_names_and_extensions.html.md.erb | 15 +-
.../disk_storage/how_disk_stores_work.html.md.erb | 17 +-
.../monitor_tune/chapter_overview.html.md.erb | 4 +
.../disabling_tcp_syn_cookies.html.md.erb | 42 +
.../reference/topics/gfe_cache_xml.html.md.erb | 2 +-
.../gfsh/command-pages/create.html.md.erb | 6 +-
.../gfsh/command-pages/start.html.md.erb | 6 +-
geode-json/src/main/java/org/json/JSONArray.java | 6 +-
.../src/main/java/org/json/JSONException.java | 2 +-
geode-json/src/main/java/org/json/JSONObject.java | 96 +-
geode-json/src/main/java/org/json/JSONString.java | 2 +-
.../src/main/java/org/json/JSONStringer.java | 2 +-
geode-json/src/main/java/org/json/JSONTokener.java | 2 +-
.../apache/geode/test/compiler/ClassBuilder.java | 22 +-
.../test/junit/rules/ConditionalIgnoreRule.java | 1 +
.../geode/test/junit/rules/IgnoreUntilRule.java | 3 +-
.../apache/geode/test/junit/rules/RepeatRule.java | 1 +
.../geode/test/junit/rules/RestoreLocaleRule.java | 10 +-
.../apache/geode/test/junit/rules/RetryRule.java | 8 +-
.../apache/geode/test/junit/rules/RuleList.java | 8 +-
.../geode/test/junit/rules/TemporaryFileRule.java | 2 +-
.../junit/rules/UseJacksonForJsonPathRule.java | 2 +-
.../geode/test/junit/rules/gfsh/GfshExecution.java | 81 +-
.../geode/test/junit/rules/gfsh/GfshRule.java | 21 +-
.../geode/test/junit/rules/gfsh/GfshScript.java | 47 +-
.../geode/test/junit/rules/gfsh/ProcessLogger.java | 89 -
.../geode/test/junit/rules/gfsh/StreamGobbler.java | 44 -
.../test/junit/rules/gfsh/internal/OutputLine.java | 45 +
.../junit/rules/gfsh/internal/ProcessLogger.java | 105 +
.../junit/rules/gfsh/internal/StreamGobbler.java | 44 +
.../serializable/SerializableErrorCollector.java | 4 +-
.../rules/serializable/SerializableRuleList.java | 7 +-
.../serializable/SerializableTemporaryFolder.java | 4 +-
.../rules/serializable/SerializableTestName.java | 6 +-
.../rules/serializable/SerializableTimeout.java | 4 +-
.../geode/test/junit/runners/SuiteBlockRunner.java | 2 +-
.../test/junit/support/DefaultIgnoreCondition.java | 1 +
.../test/junit/rules/ExpectedTimeoutRuleTest.java | 2 +-
.../test/junit/rules/IgnoreUntilRuleTest.java | 2 +-
.../geode/test/junit/rules/RepeatRuleTest.java | 2 +-
.../test/junit/rules/RestoreLocaleRuleTest.java | 2 +-
.../junit/rules/RetryRuleGlobalWithErrorTest.java | 4 +-
.../rules/RetryRuleGlobalWithExceptionTest.java | 4 +-
.../junit/rules/RetryRuleLocalWithErrorTest.java | 2 +-
.../rules/RetryRuleLocalWithExceptionTest.java | 2 +-
.../geode/test/junit/rules/RuleListTest.java | 7 +-
.../test/junit/rules/TemporaryFileRuleTest.java | 2 +-
.../junit/rules/examples/RetryRuleExampleTest.java | 5 +-
.../junit/rules/examples/RuleAndClassRuleTest.java | 5 +-
.../SerializableExternalResourceTest.java | 9 +-
.../serializable/SerializableRuleListTest.java | 5 +-
.../SerializableTemporaryFolderTest.java | 11 +-
.../serializable/SerializableTestNameTest.java | 9 +-
.../serializable/SerializableTestWatcherTest.java | 9 +-
.../serializable/SerializableTimeoutTest.java | 11 +-
...CategoryWithParameterizedRunnerFactoryTest.java | 19 +-
.../geode/cache/lucene/FlatFormatSerializer.java | 62 +-
.../geode/cache/lucene/LuceneIndexFactory.java | 12 +-
.../geode/cache/lucene/LuceneQueryFactory.java | 5 +-
.../geode/cache/lucene/LuceneQueryProvider.java | 7 +-
.../geode/cache/lucene/LuceneResultStruct.java | 3 +-
.../geode/cache/lucene/LuceneSerializer.java | 17 +-
.../apache/geode/cache/lucene/LuceneService.java | 29 +-
.../geode/cache/lucene/LuceneServiceProvider.java | 4 +-
.../cache/lucene/PageableLuceneQueryResults.java | 6 +-
.../AbstractPartitionedRepositoryManager.java | 8 +-
.../geode/cache/lucene/internal/IndexListener.java | 5 +-
.../lucene/internal/IndexListenerAdapter.java | 5 +-
.../lucene/internal/IndexRepositoryFactory.java | 10 +-
.../cache/lucene/internal/InternalLuceneIndex.java | 4 +-
.../lucene/internal/InternalLuceneService.java | 4 +-
.../lucene/internal/LuceneBucketListener.java | 5 +-
.../cache/lucene/internal/LuceneEventListener.java | 15 +-
.../internal/LuceneIndexCreationProfile.java | 24 +-
.../lucene/internal/LuceneIndexFactoryImpl.java | 27 +-
.../internal/LuceneIndexForPartitionedRegion.java | 4 +-
.../cache/lucene/internal/LuceneIndexImpl.java | 6 +-
.../lucene/internal/LuceneIndexImplFactory.java | 4 +-
.../lucene/internal/LuceneQueryFactoryImpl.java | 4 +-
.../cache/lucene/internal/LuceneQueryImpl.java | 9 +-
.../cache/lucene/internal/LuceneRawIndex.java | 4 +-
.../lucene/internal/LuceneRawIndexFactory.java | 4 +-
.../lucene/internal/LuceneRegionListener.java | 23 +-
.../lucene/internal/LuceneResultStructImpl.java | 4 +-
.../cache/lucene/internal/LuceneServiceImpl.java | 81 +-
.../internal/PageableLuceneQueryResultsImpl.java | 6 +-
.../internal/PartitionedRepositoryManager.java | 8 +-
.../lucene/internal/RawIndexRepositoryFactory.java | 2 +-
.../internal/RawLuceneRepositoryManager.java | 2 +-
.../cache/lucene/internal/StringQueryProvider.java | 6 +-
.../lucene/internal/cli/LuceneIndexCommands.java | 101 +-
.../lucene/internal/cli/LuceneIndexDetails.java | 4 +-
.../cli/functions/LuceneCreateIndexFunction.java | 2 +-
.../cli/functions/LuceneDescribeIndexFunction.java | 2 +-
.../cli/functions/LuceneListIndexFunction.java | 2 +-
.../cli/functions/LuceneSearchIndexFunction.java | 3 +-
.../internal/directory/DumpDirectoryFiles.java | 10 +-
.../lucene/internal/directory/FileIndexInput.java | 4 +-
.../lucene/internal/directory/RegionDirectory.java | 25 +-
.../internal/distributed/CollectorManager.java | 8 +-
.../lucene/internal/distributed/EntryScore.java | 4 +-
.../distributed/LuceneFunctionContext.java | 6 +-
.../internal/distributed/LuceneQueryFunction.java | 21 +-
.../lucene/internal/distributed/TopEntries.java | 6 +-
.../internal/distributed/TopEntriesCollector.java | 4 +-
.../distributed/TopEntriesCollectorManager.java | 4 +-
.../distributed/TopEntriesFunctionCollector.java | 6 +-
.../distributed/WaitUntilFlushedFunction.java | 4 +-
.../WaitUntilFlushedFunctionContext.java | 4 +-
.../cache/lucene/internal/filesystem/ChunkKey.java | 4 +-
.../cache/lucene/internal/filesystem/File.java | 6 +-
.../internal/filesystem/FileInputStream.java | 4 +-
.../internal/filesystem/FileOutputStream.java | 4 +-
.../lucene/internal/filesystem/FileSystem.java | 7 +-
.../internal/filesystem/SeekableInputStream.java | 6 +-
.../internal/management/LuceneServiceBridge.java | 12 +-
.../internal/management/LuceneServiceMBean.java | 4 +-
.../partition/BucketTargetingFixedResolver.java | 6 +-
.../internal/partition/BucketTargetingMap.java | 6 +-
.../internal/repository/IndexRepository.java | 22 +-
.../internal/repository/IndexRepositoryImpl.java | 31 +-
.../internal/repository/IndexResultCollector.java | 6 +-
.../internal/repository/RepositoryManager.java | 6 +-
.../serializer/HeterogeneousLuceneSerializer.java | 7 +-
.../repository/serializer/PdxLuceneSerializer.java | 10 +-
.../repository/serializer/PrimitiveSerializer.java | 4 +-
.../serializer/ReflectionLuceneSerializer.java | 5 +-
.../repository/serializer/SerializerUtil.java | 6 +-
.../internal/results/LuceneGetPageFunction.java | 20 +-
.../internal/results/MapResultCollector.java | 8 +-
.../cache/lucene/internal/results/PageEntry.java | 8 +-
.../cache/lucene/internal/results/PageResults.java | 6 +-
.../lucene/internal/xml/LuceneIndexCreation.java | 21 +-
.../internal/xml/LuceneIndexXmlGenerator.java | 18 +-
.../internal/xml/LuceneServiceXmlGenerator.java | 4 +-
.../lucene/internal/xml/LuceneXmlConstants.java | 4 +-
.../cache/lucene/internal/xml/LuceneXmlParser.java | 11 +-
.../lucene/management/LuceneIndexMetrics.java | 4 +-
.../org.springframework.shell.core.CommandMarker | 2 -
.../geode/cache/lucene/EvictionDUnitTest.java | 29 +-
.../geode/cache/lucene/ExpirationDUnitTest.java | 21 +-
.../lucene/FlatFormatPdxSerializerJunitTest.java | 170 ++
.../lucene/FlatFormatSerializerJUnitTest.java | 127 +-
.../apache/geode/cache/lucene/LocalCacheRule.java | 41 +
.../lucene/LuceneCommandsSecurityDUnitTest.java | 32 +-
.../apache/geode/cache/lucene/LuceneDUnitTest.java | 5 +-
.../cache/lucene/LuceneIndexCreationDUnitTest.java | 136 +-
.../lucene/LuceneIndexCreationIntegrationTest.java | 62 +-
.../LuceneIndexCreationOffHeapIntegrationTest.java | 17 +-
.../LuceneIndexCreationOnFixedPRDUnitTest.java | 9 +-
.../cache/lucene/LuceneIndexDestroyDUnitTest.java | 35 +-
.../LuceneIndexMaintenanceIntegrationTest.java | 14 +-
.../geode/cache/lucene/LuceneIntegrationTest.java | 10 +-
.../cache/lucene/LuceneQueriesAccessorBase.java | 14 +-
.../cache/lucene/LuceneQueriesClientDUnitTest.java | 5 +-
.../geode/cache/lucene/LuceneQueriesDUnitTest.java | 17 +-
.../LuceneSearchWithRollingUpgradeDUnit.java | 119 +-
.../NestedObjectSeralizerIntegrationTest.java | 356 +++-
.../geode/cache/lucene/PaginationDUnitTest.java | 27 +-
.../geode/cache/lucene/RebalanceDUnitTest.java | 15 +-
.../lucene/RebalanceWithRedundancyDUnitTest.java | 18 +-
.../internal/LuceneEventListenerJUnitTest.java | 11 +-
.../LuceneIndexCreationProfileJUnitTest.java | 43 +-
.../internal/LuceneIndexFactoryImplJUnitTest.java | 4 +-
.../LuceneIndexForPartitionedRegionTest.java | 1 +
.../LuceneIndexRecoveryHAIntegrationTest.java | 31 +-
.../lucene/internal/LuceneIndexStatsJUnitTest.java | 10 +-
.../internal/LuceneQueryFactoryImplJUnitTest.java | 4 +-
.../lucene/internal/LuceneQueryImplJUnitTest.java | 23 +-
.../internal/LuceneRegionListenerJUnitTest.java | 7 +-
.../internal/LuceneResultStructImpJUnitTest.java | 4 +-
.../internal/LuceneServiceImplIntegrationTest.java | 27 +-
.../internal/LuceneServiceImplJUnitTest.java | 16 +-
.../PageableLuceneQueryResultsImplJUnitTest.java | 8 +-
.../PartitionedRepositoryManagerJUnitTest.java | 14 +-
.../RawLuceneRepositoryManagerJUnitTest.java | 4 +-
.../internal/StringQueryProviderJUnitTest.java | 5 +-
.../internal/cli/LuceneIndexCommandsDUnitTest.java | 167 +-
.../internal/cli/LuceneIndexCommandsJUnitTest.java | 26 +-
.../LuceneCreateIndexFunctionJUnitTest.java | 3 +-
.../LuceneDescribeIndexFunctionJUnitTest.java | 14 +-
.../LuceneSearchIndexFunctionJUnitTest.java | 8 +-
.../LuceneClusterConfigurationDUnitTest.java | 67 +-
.../directory/DumpDirectoryFilesJUnitTest.java | 14 +-
.../directory/RegionDirectoryJUnitTest.java | 7 +-
.../distributed/DistributedScoringJUnitTest.java | 4 +-
.../internal/distributed/EntryScoreJUnitTest.java | 4 +-
.../LuceneQueryFunctionContextJUnitTest.java | 4 +-
.../distributed/LuceneQueryFunctionJUnitTest.java | 27 +-
.../distributed/TopEntriesCollectorJUnitTest.java | 4 +-
.../TopEntriesFunctionCollectorJUnitTest.java | 4 +-
.../internal/distributed/TopEntriesJUnitTest.java | 4 +-
.../WaitUntilFlushedFunctionJUnitTest.java | 14 +-
.../internal/filesystem/ChunkKeyJUnitTest.java | 4 +-
.../lucene/internal/filesystem/FileJUnitTest.java | 4 +-
.../internal/filesystem/FileSystemJUnitTest.java | 6 +-
.../filesystem/FileSystemStatsJUnitTest.java | 10 +-
.../management/LuceneManagementDUnitTest.java | 25 +-
.../BucketTargetingFixedResolverTest.java | 13 +-
.../internal/partition/BucketTargetingMapTest.java | 5 +-
.../repository/IndexRepositoryImplJUnitTest.java | 10 +-
.../IndexRepositoryImplPerformanceTest.java | 6 +-
.../HeterogeneousLuceneSerializerJUnitTest.java | 4 +-
.../serializer/PdxFieldMapperJUnitTest.java | 4 +-
.../serializer/ReflectionFieldMapperJUnitTest.java | 4 +-
.../serializer/SerializerTestHelper.java | 1 +
.../internal/repository/serializer/Type1.java | 4 +-
.../internal/repository/serializer/Type2.java | 4 +-
.../results/LuceneGetPageFunctionJUnitTest.java | 11 +-
.../internal/results/PageEntryJUnitTest.java | 11 +-
.../internal/results/PageResultsJUnitTest.java | 9 +-
...uceneIndexXmlGeneratorIntegrationJUnitTest.java | 31 +-
.../xml/LuceneIndexXmlGeneratorJUnitTest.java | 12 +-
.../LuceneIndexXmlParserIntegrationJUnitTest.java | 49 +-
.../xml/LuceneIndexXmlParserJUnitTest.java | 4 +-
.../cache/lucene/test/IndexRepositorySpy.java | 8 +-
.../test/LuceneDeclarable2TestSerializer.java | 4 +-
.../cache/lucene/test/LuceneTestSerializer.java | 11 +-
.../cache/lucene/test/LuceneTestUtilities.java | 9 +-
.../com/gemstone/gemfire/GemFireException.java | 2 +-
.../execute/EmtpyRegionFunctionException.java | 10 +-
.../gemfire/cache/execute/FunctionException.java | 19 +-
.../execute/FunctionInvocationTargetException.java | 16 +-
.../cache/execute/FunctionExceptionTest.java | 9 +-
.../apache/geode/OldClientSupportDUnitTest.java | 14 +-
geode-protobuf/build.gradle | 1 +
.../tier/sockets/ClientProtocolMessageHandler.java | 37 -
.../tier/sockets/MessageExecutionContext.java | 104 -
.../internal/protocol/ProtobufCachePipeline.java | 78 -
.../internal/protocol/ProtobufLocatorPipeline.java | 55 -
.../internal/protocol/ProtobufProtocolService.java | 103 -
.../protocol/operations/OperationHandler.java | 39 -
.../protocol/protobuf/EncodingTypeTranslator.java | 66 -
.../geode/internal/protocol/protobuf/Failure.java | 48 -
.../protocol/protobuf/OperationContext.java | 67 -
.../protocol/protobuf/ProtobufOpsProcessor.java | 80 -
.../protobuf/ProtobufSerializationService.java | 55 -
.../protocol/protobuf/ProtobufStreamProcessor.java | 79 -
.../protocol/protobuf/ProtocolErrorCode.java | 41 -
.../geode/internal/protocol/protobuf/Result.java | 29 -
.../geode/internal/protocol/protobuf/Success.java | 48 -
.../operations/GetAllRequestOperationHandler.java | 106 -
.../GetAvailableServersOperationHandler.java | 62 -
.../GetRegionNamesRequestOperationHandler.java | 41 -
.../GetRegionRequestOperationHandler.java | 58 -
.../operations/GetRequestOperationHandler.java | 77 -
.../operations/PutAllRequestOperationHandler.java | 95 -
.../operations/PutRequestOperationHandler.java | 74 -
.../operations/RemoveRequestOperationHandler.java | 71 -
.../registry/OperationContextRegistry.java | 104 -
.../protocol/protobuf/security/Authenticator.java | 43 -
.../protocol/protobuf/security/Authorizer.java | 21 -
.../security/InvalidConfigAuthenticator.java | 51 -
.../protobuf/security/NoOpAuthenticator.java | 34 -
.../protocol/protobuf/security/NoOpAuthorizer.java | 27 -
.../security/ProtobufShiroAuthenticator.java | 87 -
.../protobuf/security/ProtobufShiroAuthorizer.java | 45 -
.../serializer/ProtobufProtocolSerializer.java | 43 -
.../protobuf/statistics/NoOpStatistics.java | 47 -
.../statistics/ProtobufClientStatistics.java | 31 -
.../statistics/ProtobufClientStatisticsImpl.java | 15 +-
.../protobuf/utilities/ProtobufPrimitiveTypes.java | 49 -
.../utilities/ProtobufRequestUtilities.java | 118 --
.../utilities/ProtobufResponseUtilities.java | 61 -
.../protobuf/utilities/ProtobufUtilities.java | 288 ---
.../exception/UnknownProtobufPrimitiveType.java | 24 -
.../protobuf/v1/EncodingTypeTranslator.java | 68 +
.../protobuf/v1/ProtobufCachePipeline.java | 60 +
.../protobuf/v1/ProtobufLocatorPipeline.java | 58 +
.../protobuf/v1/ProtobufOperationContext.java | 38 +
.../protocol/protobuf/v1/ProtobufOpsProcessor.java | 82 +
.../protobuf/v1/ProtobufProtocolService.java | 67 +
.../protobuf/v1/ProtobufSerializationService.java | 55 +
.../protobuf/v1/ProtobufStreamProcessor.java | 79 +
.../operations/GetAllRequestOperationHandler.java | 111 +
.../GetAvailableServersOperationHandler.java | 63 +
.../GetRegionNamesRequestOperationHandler.java | 42 +
.../GetRegionRequestOperationHandler.java | 59 +
.../v1/operations/GetRequestOperationHandler.java | 78 +
.../HandshakeRequestOperationHandler.java | 64 +
.../operations/PutAllRequestOperationHandler.java | 98 +
.../v1/operations/PutRequestOperationHandler.java | 77 +
.../operations/RemoveRequestOperationHandler.java | 73 +
.../AuthenticationRequestOperationHandler.java | 83 +
.../registry/ProtobufOperationContextRegistry.java | 121 ++
.../v1/serializer/ProtobufProtocolSerializer.java | 42 +
...onnectionShiroAuthenticatingStateProcessor.java | 56 +
.../ProtobufConnectionHandshakeStateProcessor.java | 57 +
.../v1/utilities/ProtobufPrimitiveTypes.java | 49 +
.../v1/utilities/ProtobufRequestUtilities.java | 118 ++
.../v1/utilities/ProtobufResponseUtilities.java | 64 +
.../protobuf/v1/utilities/ProtobufUtilities.java | 282 +++
.../exception/UnknownProtobufPrimitiveType.java | 24 +
.../protocol/serializer/ProtocolSerializer.java | 34 -
.../serialization/SerializationService.java | 34 -
.../internal/serialization/SerializationType.java | 32 -
.../geode/internal/serialization/TypeCodec.java | 36 -
.../internal/serialization/codec/JSONCodec.java | 39 -
.../UnsupportedEncodingTypeException.java | 31 -
.../registry/SerializationCodecRegistry.java | 67 -
.../CodecAlreadyRegisteredForTypeException.java | 28 -
.../CodecNotRegisteredForTypeException.java | 27 -
.../src/main/proto/authentication_API.proto | 25 -
geode-protobuf/src/main/proto/basicTypes.proto | 88 -
geode-protobuf/src/main/proto/clientProtocol.proto | 76 -
geode-protobuf/src/main/proto/region_API.proto | 95 -
geode-protobuf/src/main/proto/server_API.proto | 32 -
geode-protobuf/src/main/proto/v1/basicTypes.proto | 88 +
.../src/main/proto/v1/clientProtocol.proto | 78 +
.../src/main/proto/v1/connection_API.proto | 45 +
geode-protobuf/src/main/proto/v1/region_API.proto | 95 +
geode-protobuf/src/main/proto/v1/server_API.proto | 32 +
...nal.cache.client.protocol.ClientProtocolService | 1 +
...ternal.cache.tier.sockets.ClientProtocolService | 1 -
...g.apache.geode.internal.serialization.TypeCodec | 1 -
.../GenericProtocolServerConnectionTest.java | 3 +-
.../protocol/AuthenticationIntegrationTest.java | 339 ---
.../protocol/AuthorizationIntegrationTest.java | 212 --
.../geode/internal/protocol/MessageUtil.java | 74 -
.../apache/geode/internal/protocol/OpsHandler.java | 21 -
.../protocol/ProtobufProtocolServiceJUnitTest.java | 37 -
.../internal/protocol/TestExecutionContext.java | 32 +
.../acceptance/CacheConnectionJUnitTest.java | 270 ---
.../CacheConnectionTimeoutJUnitTest.java | 163 --
.../acceptance/CacheMaxConnectionJUnitTest.java | 238 ---
.../acceptance/CacheOperationsJUnitTest.java | 410 ----
.../acceptance/LocatorConnectionDUnitTest.java | 262 ---
...TypeToSerializationTypeTranslatorJUnitTest.java | 6 +-
.../ProtobufShiroAuthenticatorJUnitTest.java | 117 -
.../protobuf/ProtobufStreamProcessorTest.java | 20 +-
.../protobuf/ProtobufTestExecutionContext.java | 32 -
.../GetAllRequestOperationHandlerJUnitTest.java | 182 --
...tAvailableServersOperationHandlerJUnitTest.java | 112 -
...egionNamesRequestOperationHandlerJUnitTest.java | 98 -
.../GetRegionRequestOperationHandlerJUnitTest.java | 102 -
.../GetRequestOperationHandlerJUnitTest.java | 138 --
.../operations/OperationHandlerJUnitTest.java | 38 -
.../PutAllRequestOperationHandlerJUnitTest.java | 135 --
.../PutRequestOperationHandlerJUnitTest.java | 136 --
.../RemoveRequestOperationHandlerJUnitTest.java | 127 --
.../utilities/ProtobufUtilitiesJUnitTest.java | 159 --
.../protobuf/v1/AuthenticationIntegrationTest.java | 347 +++
.../protobuf/v1/AuthorizationIntegrationTest.java | 223 ++
.../protobuf/v1/HandshakeIntegrationTest.java | 125 ++
.../internal/protocol/protobuf/v1/MessageUtil.java | 71 +
.../v1/ProtobufProtocolServiceJUnitTest.java | 37 +
.../v1/acceptance/CacheConnectionJUnitTest.java | 286 +++
.../CacheConnectionTimeoutJUnitTest.java | 164 ++
.../v1/acceptance/CacheMaxConnectionJUnitTest.java | 249 +++
.../v1/acceptance/CacheOperationsJUnitTest.java | 407 ++++
.../v1/acceptance/LocatorConnectionDUnitTest.java | 264 +++
.../GetAllRequestOperationHandlerJUnitTest.java | 183 ++
...tAvailableServersOperationHandlerJUnitTest.java | 114 +
...egionNamesRequestOperationHandlerJUnitTest.java | 104 +
.../GetRegionRequestOperationHandlerJUnitTest.java | 105 +
.../GetRequestOperationHandlerJUnitTest.java | 144 ++
.../HandshakeRequestOperationHandlerJUnitTest.java | 175 ++
.../v1/operations/OperationHandlerJUnitTest.java | 38 +
.../PutAllRequestOperationHandlerJUnitTest.java | 135 ++
.../PutRequestOperationHandlerJUnitTest.java | 143 ++
.../RemoveRequestOperationHandlerJUnitTest.java | 131 ++
.../v1/serialization/codec/JSONCodecJUnitTest.java | 231 ++
.../registry/CodecRegistryJUnitTest.java | 49 +
.../ProtobufProtocolSerializerJUnitTest.java | 75 +
.../v1/utilities/ProtobufUtilitiesJUnitTest.java | 160 ++
.../ProtobufProtocolSerializerJUnitTest.java | 75 -
.../serialization/codec/JSONCodecJUnitTest.java | 229 --
.../registry/CodecRegistryJUnitTest.java | 49 -
.../{ => protobuf/v1}/acceptance/default.keystore | Bin
.../tools/pulse/internal/PulseAppListener.java | 14 +-
.../controllers/ExceptionHandlingAdvice.java | 4 +-
.../internal/controllers/PulseController.java | 36 +-
.../geode/tools/pulse/internal/data/Cluster.java | 19 +-
.../tools/pulse/internal/data/DataBrowser.java | 28 +-
.../tools/pulse/internal/data/IClusterUpdater.java | 8 +-
.../tools/pulse/internal/data/JMXDataUpdater.java | 50 +-
.../pulse/internal/data/JmxManagerFinder.java | 16 +-
.../tools/pulse/internal/data/PulseConfig.java | 6 +-
.../tools/pulse/internal/data/PulseVersion.java | 4 +-
.../tools/pulse/internal/data/Repository.java | 12 +-
.../internal/security/GemFireAuthentication.java | 7 +-
.../security/GemFireAuthenticationProvider.java | 10 +-
.../pulse/internal/security/LogoutHandler.java | 23 +-
.../internal/service/ClusterDetailsService.java | 16 +-
.../service/ClusterDiskThroughputService.java | 9 +-
.../internal/service/ClusterGCPausesService.java | 11 +-
.../service/ClusterKeyStatisticsService.java | 11 +-
.../internal/service/ClusterMemberService.java | 24 +-
.../service/ClusterMembersRGraphService.java | 28 +-
.../service/ClusterMemoryUsageService.java | 11 +-
.../internal/service/ClusterRegionService.java | 22 +-
.../internal/service/ClusterRegionsService.java | 28 +-
.../service/ClusterSelectedRegionService.java | 22 +-
.../ClusterSelectedRegionsMemberService.java | 19 +-
.../internal/service/ClusterWANInfoService.java | 14 +-
.../service/MemberAsynchEventQueuesService.java | 11 +-
.../internal/service/MemberClientsService.java | 13 +-
.../internal/service/MemberDetailsService.java | 16 +-
.../service/MemberDiskThroughputService.java | 11 +-
.../internal/service/MemberGCPausesService.java | 11 +-
.../internal/service/MemberGatewayHubService.java | 18 +-
.../internal/service/MemberHeapUsageService.java | 11 +-
.../service/MemberKeyStatisticsService.java | 11 +-
.../internal/service/MemberRegionsService.java | 16 +-
.../pulse/internal/service/MembersListService.java | 11 +-
.../tools/pulse/internal/service/PulseService.java | 4 +-
.../internal/service/PulseServiceFactory.java | 2 +-
.../internal/service/PulseVersionService.java | 9 +-
.../internal/service/QueryStatisticsService.java | 4 +-
.../internal/service/SystemAlertsService.java | 13 +-
.../tools/pulse/internal/util/ConnectionUtil.java | 2 +-
.../tools/pulse/internal/util/IPAddressUtil.java | 4 +-
.../geode/tools/pulse/internal/util/TimeUtils.java | 10 +-
.../src/main/webapp/WEB-INF/spring-security.xml | 1 +
.../controllers/PulseControllerJUnitTest.java | 12 +-
.../tools/pulse/internal/PulseAppListenerTest.java | 3 +-
.../data/JMXDataUpdaterGetDoubleAttributeTest.java | 5 +-
.../internal/security/LogoutHandlerUnitTest.java | 103 +
.../pulse/testbed/GemFireDistributedSystem.java | 8 +-
.../tools/pulse/testbed/PropMockDataUpdater.java | 37 +-
.../org/apache/geode/tools/pulse/tests/Server.java | 19 +-
.../tools/pulse/tests/junit/BaseServiceTest.java | 19 +-
.../junit/ClusterSelectedRegionServiceTest.java | 3 +-
.../ClusterSelectedRegionsMemberServiceTest.java | 3 +-
.../tests/junit/MemberGatewayHubServiceTest.java | 3 +-
.../pulse/tests/rules/ScreenshotOnFailureRule.java | 9 +-
.../geode/tools/pulse/tests/rules/ServerRule.java | 13 +-
.../tools/pulse/tests/rules/WebDriverRule.java | 4 +-
.../pulse/tests/ui/PulseAnonymousUserTest.java | 9 +-
.../geode/tools/pulse/tests/ui/PulseAuthTest.java | 9 +-
.../tools/pulse/tests/ui/PulseAutomatedTest.java | 10 +-
.../geode/tools/pulse/tests/ui/PulseBase.java | 17 +-
.../tools/pulse/tests/ui/PulseNoAuthTest.java | 9 +-
.../org/apache/geode/cache/util/AutoBalancer.java | 10 +-
.../util/AutoBalancerIntegrationJUnitTest.java | 35 +-
.../client/internal/GatewaySenderBatchOp.java | 16 +-
.../geode/cache/client/internal/SenderProxy.java | 2 +-
.../internal/locator/wan/LocatorDiscovery.java | 11 +-
.../client/internal/locator/wan/LocatorHelper.java | 14 +-
.../locator/wan/LocatorMembershipListenerImpl.java | 25 +-
.../locator/wan/RemoteLocatorJoinRequest.java | 6 +-
.../locator/wan/RemoteLocatorJoinResponse.java | 6 +-
.../locator/wan/RemoteLocatorPingRequest.java | 2 +-
.../locator/wan/RemoteLocatorPingResponse.java | 2 +-
.../internal/locator/wan/RemoteLocatorRequest.java | 2 +-
.../locator/wan/RemoteLocatorResponse.java | 2 +-
.../locator/wan/WanLocatorDiscovererImpl.java | 13 +-
.../internal/cache/wan/GatewayReceiverImpl.java | 4 +-
.../wan/GatewaySenderEventRemoteDispatcher.java | 1 -
...currentParallelGatewaySenderEventProcessor.java | 2 +-
.../RemoteParallelGatewaySenderEventProcessor.java | 2 +-
.../RemoteSerialGatewaySenderEventProcessor.java | 4 +-
...tewayReceiverAutoConnectionSourceDUnitTest.java | 13 +-
.../cache/wan/WANRollingUpgradeDUnitTest.java | 66 +-
.../AnalyzeWANSerializablesJUnitTest.java | 3 +-
.../internal/cache/UpdateVersionDUnitTest.java | 24 +-
.../cache/wan/AckReaderThreadJUnitTest.java | 17 +-
.../cache/wan/Simple2CacheServerDUnitTest.java | 17 +-
.../geode/internal/cache/wan/WANTestBase.java | 166 +-
.../ConcurrentParallelGatewaySenderDUnitTest.java | 14 +-
...rrentParallelGatewaySenderOffHeapDUnitTest.java | 6 +-
...ParallelGatewaySenderOperation_1_DUnitTest.java | 25 +-
...ParallelGatewaySenderOperation_2_DUnitTest.java | 15 +-
...rentSerialGatewaySenderOperationsDUnitTest.java | 13 +-
...ialGatewaySenderOperationsOffHeapDUnitTest.java | 6 +-
.../ConcurrentWANPropagation_1_DUnitTest.java | 22 +-
.../ConcurrentWANPropagation_2_DUnitTest.java | 13 +-
.../misc/CommonParallelGatewaySenderDUnitTest.java | 19 +-
...ommonParallelGatewaySenderOffHeapDUnitTest.java | 6 +-
.../NewWANConcurrencyCheckForDestroyDUnitTest.java | 13 +-
.../wan/misc/NewWanAuthenticationDUnitTest.java | 4 +-
.../cache/wan/misc/PDXNewWanDUnitTest.java | 26 +-
...atedRegion_ParallelWANPersistenceDUnitTest.java | 9 +-
...atedRegion_ParallelWANPropagationDUnitTest.java | 11 +-
.../cache/wan/misc/WANConfigurationJUnitTest.java | 29 +-
.../internal/cache/wan/misc/WANSSLDUnitTest.java | 11 +-
.../cache/wan/misc/WanAutoDiscoveryDUnitTest.java | 78 +-
.../cache/wan/misc/WanValidationsDUnitTest.java | 36 +-
...lGatewaySenderOperation_2_OffHeapDUnitTest.java | 9 +-
...lGatewaySenderOperation_2_OffHeapDUnitTest.java | 9 +-
...lelGatewaySenderOperationsOffHeapDUnitTest.java | 9 +-
...GatewaySenderQueueOverflowOffHeapDUnitTest.java | 9 +-
.../ParallelWANConflationOffHeapDUnitTest.java | 9 +-
...stenceEnabledGatewaySenderOffHeapDUnitTest.java | 9 +-
...ANPropagationConcurrentOpsOffHeapDUnitTest.java | 9 +-
.../ParallelWANPropagationOffHeapDUnitTest.java | 9 +-
.../SerialGatewaySenderQueueOffHeapDUnitTest.java | 9 +-
...stenceEnabledGatewaySenderOffHeapDUnitTest.java | 9 +-
.../SerialWANPropagationOffHeapDUnitTest.java | 3 +-
...pagation_PartitionedRegionOffHeapDUnitTest.java | 3 +-
...ParallelGatewaySenderOperation_2_DUnitTest.java | 11 +-
.../ParallelGatewaySenderOperationsDUnitTest.java | 2 +-
...arallelGatewaySenderQueueOverflowDUnitTest.java | 2 +-
.../parallel/ParallelWANConflationDUnitTest.java | 17 +-
...ANPersistenceEnabledGatewaySenderDUnitTest.java | 19 +-
...rallelWANPropagationConcurrentOpsDUnitTest.java | 17 +-
.../parallel/ParallelWANPropagationDUnitTest.java | 27 +-
.../ParallelWANPropagationLoopBackDUnitTest.java | 11 +-
.../wan/parallel/ParallelWANStatsDUnitTest.java | 124 +-
...lGatewaySenderDistributedDeadlockDUnitTest.java | 11 +-
.../SerialGatewaySenderEventListenerDUnitTest.java | 12 +-
.../SerialGatewaySenderOperationsDUnitTest.java | 21 +-
.../serial/SerialGatewaySenderQueueDUnitTest.java | 2 +-
...ANPersistenceEnabledGatewaySenderDUnitTest.java | 19 +-
.../wan/serial/SerialWANPropagationDUnitTest.java | 12 +-
.../SerialWANPropagationLoopBackDUnitTest.java | 11 +-
...lWANPropagation_PartitionedRegionDUnitTest.java | 11 +-
.../SerialWANPropagationsFeatureDUnitTest.java | 9 +-
.../cache/wan/serial/SerialWANStatsDUnitTest.java | 24 +-
...teAndDestroyGatewaySenderCommandsDUnitTest.java | 348 +--
.../CreateGatewayReceiverCommandDUnitTest.java | 634 +++---
.../CreateGatewaySenderCommandDUnitTest.java | 73 +-
.../DestroyGatewaySenderCommandDUnitTest.java | 73 +-
.../PauseGatewaySenderCommandDUnitTest.java | 261 ++-
.../ResumeGatewaySenderCommandDUnitTest.java | 336 +--
.../StartGatewayReceiverCommandDUnitTest.java | 256 ++-
.../StartGatewaySenderCommandDUnitTest.java | 264 ++-
.../StatusGatewayReceiverCommandDUnitTest.java | 185 +-
.../StatusGatewaySenderCommandDUnitTest.java | 263 ++-
.../StopGatewayReceiverCommandDUnitTest.java | 264 ++-
.../StopGatewaySenderCommandDUnitTest.java | 264 ++-
.../cache/wan/wancommand/WANCommandTestBase.java | 559 -----
.../cache/wan/wancommand/WANCommandUtils.java | 339 +++
.../wan/wancommand/WanCommandListDUnitTest.java | 248 ++-
.../geode/management/WANManagementDUnitTest.java | 20 +-
.../ClusterConfigurationDUnitTest.java | 511 -----
...rConfigurationIndexWithFromClauseDUnitTest.java | 16 +-
.../WANClusterConfigurationDUnitTest.java | 156 ++
.../internal/pulse/TestRemoteClusterDUnitTest.java | 14 +-
.../web/controllers/AbstractBaseController.java | 62 +-
.../web/controllers/BaseControllerAdvice.java | 16 +-
.../web/controllers/FunctionAccessController.java | 6 +-
.../web/controllers/PdxBasedCrudController.java | 8 +-
.../web/controllers/QueryAccessController.java | 12 +-
.../web/controllers/support/QueryResultTypes.java | 2 +-
.../web/controllers/support/RegionData.java | 22 +-
.../web/controllers/support/RegionEntryData.java | 9 +-
.../internal/web/controllers/support/UpdateOp.java | 1 -
.../exception/DataTypeNotSupportedException.java | 7 +-
.../web/exception/GemfireRestException.java | 6 +-
.../web/exception/MalformedJsonException.java | 2 +-
.../web/exception/RegionNotFoundException.java | 2 +-
.../web/exception/ResourceNotFoundException.java | 2 +-
.../CustomMappingJackson2HttpMessageConverter.java | 2 +-
.../web/security/GeodeAuthenticationProvider.java | 15 +-
.../internal/web/security/RestSecurityService.java | 4 +-
.../internal/web/swagger/config/SwaggerConfig.java | 3 +-
.../geode/rest/internal/web/util/ArrayUtils.java | 2 +-
.../rest/internal/web/util/DateTimeUtils.java | 3 +-
.../rest/internal/web/util/IdentifiableUtils.java | 2 +-
.../geode/rest/internal/web/util/JsonWriter.java | 27 +-
.../geode/rest/internal/web/util/NumberUtils.java | 4 +-
.../rest/internal/web/util/ValidationUtils.java | 3 +-
.../AbstractBaseControllerJUnitTest.java | 5 +-
.../web/controllers/support/RegionDataTest.java | 3 +-
.../cli/commands/AlterRuntimeCommandDUnitTest.java | 206 +-
.../commands/ClusterConfigurationDUnitTest.java | 27 +-
.../cli/commands/CommandOverHttpDUnitTest.java | 12 +-
.../internal/cli/commands/CommandOverHttpTest.java | 23 +-
.../commands/ConnectCommandIntegrationTest.java | 10 +-
.../cli/commands/ConnectCommandWithSSLTest.java | 70 +-
.../commands/ConnectCommandWithSecurityTest.java | 22 +-
.../commands/DescribeConfigCommandDUnitTest.java | 19 +-
...xecuteFunctionCommandWithSecurityDUnitTest.java | 14 +-
.../cli/commands/ExportConfigCommandDUnitTest.java | 18 +-
.../ExportLogsOverHttpIntegrationTest.java | 9 +-
.../commands/ExportLogsStatsOverHttpDUnitTest.java | 17 +-
.../FunctionCommandsOverHttpDUnitTest.java | 7 +-
.../cli/commands/IndexCommandOverHttpTest.java | 4 +-
.../ListIndexCommandOverHttpDUnitTest.java | 7 +-
.../security/GfshCommandsOverHttpSecurityTest.java | 5 +-
.../internal/security/LogNoPasswordTest.java | 8 +-
.../support/LoginHandlerInterceptorJUnitTest.java | 2 +-
...inHandlerInterceptorRequestHeaderJUnitTest.java | 9 +-
.../web/domain/QueryParameterSourceJUnitTest.java | 8 +-
...lizableObjectHttpMessageConverterJUnitTest.java | 2 +-
.../HttpOperationInvokerMBeanOperationTest.java | 8 +-
.../shell/HttpOperationInvokerSecurityTest.java | 14 +-
.../internal/web/util/ConvertUtilsJUnitTest.java | 10 +-
settings.gradle | 2 +
5207 files changed, 133689 insertions(+), 141752 deletions(-)
create mode 100644 ci/docker/Dockerfile
create mode 100644 ci/docker/cache_dependencies.sh
create mode 100644 ci/pipelines/develop.yml
create mode 100644 ci/pipelines/docker-images.yml
create mode 100644 ci/pipelines/meta.yml
create mode 100755 ci/scripts/build.sh
create mode 100644 geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandWithJsonTest.java
create mode 100644 geode-assembly/src/test/java/org/apache/geode/tools/pulse/PulseSecurityIntegrationTest.java
create mode 100644 geode-client-protocol/build.gradle
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/ClientProtocolMessageHandler.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/Failure.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/MessageExecutionContext.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/OperationContext.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/ProtocolErrorCode.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/Result.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/Success.java
rename {geode-protobuf => geode-client-protocol}/src/main/java/org/apache/geode/internal/protocol/exception/InvalidProtocolMessageException.java (100%)
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/operations/OperationHandler.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/serializer/ProtocolSerializer.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/security/exception/IncompatibleAuthenticationMechanismsException.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/SerializationService.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/SerializationType.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/TypeCodec.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/codec/JSONCodec.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/exception/UnsupportedEncodingTypeException.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/registry/SerializationCodecRegistry.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/registry/exception/CodecAlreadyRegisteredForTypeException.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/serialization/registry/exception/CodecNotRegisteredForTypeException.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/ConnectionAuthenticatingStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/ConnectionHandshakingStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/ConnectionShiroAuthorizingStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/ConnectionStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/LegacySecurityConnectionStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/NoSecurityConnectionStateProcessor.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/state/exception/ConnectionStateException.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/statistics/NoOpStatistics.java
create mode 100644 geode-client-protocol/src/main/java/org/apache/geode/internal/protocol/statistics/ProtocolClientStatistics.java
create mode 100644 geode-client-protocol/src/main/resources/META-INF/services/org.apache.geode.internal.protocol.serialization.TypeCodec
delete mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcSynchronousWriter.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcWriter.java
delete mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcSynchronousWriterIntegrationTest.java
delete mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcSynchronousWriterTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterIntegrationTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterTest.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/BackupDataStoreHelper.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/BackupDataStoreResult.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/FinishBackupRequest.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/FinishBackupResponse.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/FlushToDiskRequest.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/FlushToDiskResponse.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/PrepareBackupRequest.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/admin/internal/PrepareBackupResponse.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/VersionDescription.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/AbstractDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/AbstractLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/AbstractOplogDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/BackupLock.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/BackupManager.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/DiskEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/HasDiskRegion.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/InternalDistributedRegion.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/LatestLastAccessTimeMessage.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/LatestLastAccessTimeOperation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/LatestLastAccessTimeReplyProcessor.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/LeafRegionEntry.cpp
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/OffHeapRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsDiskRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMStatsRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinDiskRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VMThinRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedStatsRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinLRURegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntry.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeap.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapIntKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapLongKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapObjectKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey1.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapStringKey2.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/VersionedThinRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupDataStoreHelper.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupDataStoreResult.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupInspector.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupLock.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupManager.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupOperation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupReplyProcessor.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupResponse.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupResultCollector.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupUtil.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackup.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupFactory.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupOperation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FinishBackupRequest.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDisk.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskFactory.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskOperation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskProcessor.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskRequest.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/FlushToDiskResponse.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackup.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupFactory.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupOperation.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/PrepareBackupRequest.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/RestoreScript.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/ScriptGenerator.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/UnixBackupInspector.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/UnixScriptGenerator.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/WindowsBackupInspector.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/backup/WindowsScriptGenerator.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/client/protocol/ClientProtocolProcessor.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/client/protocol/ClientProtocolService.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/client/protocol/ClientProtocolServiceLoader.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/client/protocol/exception/ServiceLoadingFailureException.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/client/protocol/exception/ServiceVersionNotFoundException.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractOplogDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/LeafRegionEntry.cpp
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/OffHeapRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsDiskRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMStatsRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinDiskRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VMThinRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsDiskRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedStatsRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinDiskRegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinLRURegionEntryOffHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntry.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryHeapUUIDKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeap.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapIntKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapLongKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapObjectKey.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapStringKey1.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapStringKey2.java
create mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/entries/VersionedThinRegionEntryOffHeapUUIDKey.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/BackupInspector.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/RestoreScript.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/ScriptGenerator.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/UnixBackupInspector.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/UnixScriptGenerator.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/WindowsBackupInspector.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/persistence/WindowsScriptGenerator.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolProcessor.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolService.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolServiceLoader.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServiceLoadingFailureException.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/lang/ThreadUtils.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/BackupStatus.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/BackupStatusImpl.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/DiskBackupStatusImpl.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DataCommandUtil.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMetricsInterceptor.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CliException.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/CreateSubregionException.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/EntityNotFoundException.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/IndexNotFoundException.java
create mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/exceptions/UserErrorException.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/util/DiskStoreNotFoundException.java
delete mode 100644 geode-core/src/main/java/org/apache/geode/management/internal/cli/util/MemberNotFoundException.java
create mode 100644 geode-core/src/test/java/org/apache/geode/cache/ExpirationAttributesTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/cache/query/internal/parse/OQLParserTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionEntryTest.java
delete mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/BackupDUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/BackupJUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/Bug48182JUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/DestroyEntryWithConcurrentOperationJUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/IncrementalBackupDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/PREntryIdleExpirationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationTest.java
create mode 100755 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupInspectorIntegrationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupIntegrationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupLockTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupPrepareAndFinishMsgDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupReplyProcessorTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupFactoryTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupOperationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FinishBackupRequestTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskFactoryTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskOperationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/FlushToDiskRequestTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/PartitionedBackupPrepareAndFinishMsgDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupFactoryTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupOperationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/PrepareBackupRequestTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/ReplicateBackupPrepareAndFinishMsgDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/UnixScriptGeneratorTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/backup/WindowsScriptGeneratorTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/entries/AbstractRegionEntryTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/extension/ExtensionClusterConfigurationDUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/BackupInspectorIntegrationTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/BackupPrepareAndFinishMsgDUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/PartitionedBackupPrepareAndFinishMsgDUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/ReplicateBackupPrepareAndFinishMsgDUnitTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/UnixScriptGeneratorTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/cache/persistence/WindowsScriptGeneratorTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/internal/lang/ThreadUtilsJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/DiskBackupStatusTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/CliUtilTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/CommandRequestTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/AlterRegionCommandIntegrationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDefinedIndexesCommandDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateDefinedIndexesCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandIntegrationTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommandIntegrationTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommandJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DestroyGatewaySenderCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DestroyIndexCommandsDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ExportDataCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandIntegrationTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandOnRegionWithCacheLoaderDuringCacheMissDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ImportDataCommandTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/LocateEntryDUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandIntegrationTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueryCommandUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandIntegrationTest.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestCacheLoader.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestCacheWriter.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestCompressor.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestObjectSizer.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestObjectSizerNotDeclarable.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/TestPartitionResolver.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/VersionCommandJUnitTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/dto/Key.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/dto/Value.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/CliFunctionResultTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/CreateDefinedIndexesFunctionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/ExpirationAttrsTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunctionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/RegionDestroyFunctionTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/RegionFunctionArgsTest.java
create mode 100644 geode-core/src/test/java/org/apache/geode/test/junit/assertions/CommandResultAssert.java
create mode 100644 geode-core/src/test/java/org/apache/geode/test/junit/assertions/CommandResultExecution.java
create mode 100644 geode-core/src/test/java/org/apache/geode/test/junit/rules/GfshCommandRule.java
delete mode 100644 geode-core/src/test/java/org/apache/geode/test/junit/rules/GfshShellConnectionRule.java
delete mode 100644 geode-core/src/test/resources/META-INF/services/org.springframework.shell.core.CommandMarker
rename geode-core/src/test/resources/org/apache/geode/internal/cache/{BackupJUnitTest.cache.xml => backup/BackupIntegrationTest.cache.xml} (100%)
create mode 100644 geode-docs/managing/monitor_tune/disabling_tcp_syn_cookies.html.md.erb
delete mode 100644 geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/ProcessLogger.java
delete mode 100644 geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/StreamGobbler.java
create mode 100644 geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/internal/OutputLine.java
create mode 100644 geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/internal/ProcessLogger.java
create mode 100644 geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/internal/StreamGobbler.java
delete mode 100644 geode-lucene/src/main/resources/META-INF/services/org.springframework.shell.core.CommandMarker
create mode 100644 geode-lucene/src/test/java/org/apache/geode/cache/lucene/FlatFormatPdxSerializerJunitTest.java
create mode 100644 geode-lucene/src/test/java/org/apache/geode/cache/lucene/LocalCacheRule.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProtocolMessageHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/cache/tier/sockets/MessageExecutionContext.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/ProtobufCachePipeline.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/ProtobufLocatorPipeline.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/ProtobufProtocolService.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/operations/OperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/EncodingTypeTranslator.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/Failure.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/OperationContext.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/ProtobufOpsProcessor.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/ProtobufSerializationService.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/ProtobufStreamProcessor.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/ProtocolErrorCode.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/Result.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/Success.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/GetAllRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/GetAvailableServersOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/GetRegionNamesRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/GetRegionRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/GetRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/PutAllRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/PutRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/operations/RemoveRequestOperationHandler.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/registry/OperationContextRegistry.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/Authenticator.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/Authorizer.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/InvalidConfigAuthenticator.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/NoOpAuthenticator.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/NoOpAuthorizer.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/ProtobufShiroAuthenticator.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/security/ProtobufShiroAuthorizer.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/serializer/ProtobufProtocolSerializer.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/statistics/NoOpStatistics.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/statistics/ProtobufClientStatistics.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/utilities/ProtobufPrimitiveTypes.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/utilities/ProtobufRequestUtilities.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/utilities/ProtobufResponseUtilities.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/utilities/ProtobufUtilities.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/utilities/exception/UnknownProtobufPrimitiveType.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/EncodingTypeTranslator.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufCachePipeline.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufLocatorPipeline.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOperationContext.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOpsProcessor.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufProtocolService.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufSerializationService.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufStreamProcessor.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandler.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandler.java
create 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/registry/ProtobufOperationContextRegistry.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/serializer/ProtobufProtocolSerializer.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/ConnectionShiroAuthenticatingStateProcessor.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/state/ProtobufConnectionHandshakeStateProcessor.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufPrimitiveTypes.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufResponseUtilities.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilities.java
create mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/exception/UnknownProtobufPrimitiveType.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/protocol/serializer/ProtocolSerializer.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/SerializationService.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/SerializationType.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/TypeCodec.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/codec/JSONCodec.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/exception/UnsupportedEncodingTypeException.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/registry/SerializationCodecRegistry.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/registry/exception/CodecAlreadyRegisteredForTypeException.java
delete mode 100644 geode-protobuf/src/main/java/org/apache/geode/internal/serialization/registry/exception/CodecNotRegisteredForTypeException.java
delete mode 100644 geode-protobuf/src/main/proto/authentication_API.proto
delete mode 100644 geode-protobuf/src/main/proto/basicTypes.proto
delete mode 100644 geode-protobuf/src/main/proto/clientProtocol.proto
delete mode 100644 geode-protobuf/src/main/proto/region_API.proto
delete mode 100644 geode-protobuf/src/main/proto/server_API.proto
create mode 100644 geode-protobuf/src/main/proto/v1/basicTypes.proto
create mode 100644 geode-protobuf/src/main/proto/v1/clientProtocol.proto
create mode 100644 geode-protobuf/src/main/proto/v1/connection_API.proto
create mode 100644 geode-protobuf/src/main/proto/v1/region_API.proto
create mode 100644 geode-protobuf/src/main/proto/v1/server_API.proto
create mode 100644 geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.internal.cache.client.protocol.ClientProtocolService
delete mode 100644 geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.internal.cache.tier.sockets.ClientProtocolService
delete mode 100644 geode-protobuf/src/main/resources/META-INF/services/org.apache.geode.internal.serialization.TypeCodec
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/AuthenticationIntegrationTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/AuthorizationIntegrationTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/MessageUtil.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/OpsHandler.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/ProtobufProtocolServiceJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/TestExecutionContext.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheConnectionJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheConnectionTimeoutJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheMaxConnectionJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/CacheOperationsJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/acceptance/LocatorConnectionDUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/ProtobufShiroAuthenticatorJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/ProtobufTestExecutionContext.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/GetAllRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/GetAvailableServersOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/GetRegionRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/GetRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/OperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/PutAllRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/PutRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/operations/RemoveRequestOperationHandlerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/utilities/ProtobufUtilitiesJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/AuthenticationIntegrationTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/AuthorizationIntegrationTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/HandshakeIntegrationTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/MessageUtil.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufProtocolServiceJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheConnectionJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheConnectionTimeoutJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheMaxConnectionJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheOperationsJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionDUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/OperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandlerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/serialization/codec/JSONCodecJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/serialization/registry/CodecRegistryJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/serializer/ProtobufProtocolSerializerJUnitTest.java
create mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilitiesJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/protocol/serializer/ProtobufProtocolSerializerJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/serialization/codec/JSONCodecJUnitTest.java
delete mode 100644 geode-protobuf/src/test/java/org/apache/geode/internal/serialization/registry/CodecRegistryJUnitTest.java
rename geode-protobuf/src/test/resources/org/apache/geode/internal/protocol/{ => protobuf/v1}/acceptance/default.keystore (100%)
create mode 100644 geode-pulse/src/test/java/org/apache/geode/tools/pulse/internal/security/LogoutHandlerUnitTest.java
delete mode 100644 geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WANCommandTestBase.java
create mode 100644 geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WANCommandUtils.java
delete mode 100644 geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java
create mode 100644 geode-wan/src/test/java/org/apache/geode/management/internal/configuration/WANClusterConfigurationDUnitTest.java
--
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].
[geode] 01/01: GEODE-3781: add geode-connectors module
Posted by kl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
klund pushed a commit to branch feature/GEODE-3781
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 69337aaa6bca5274cced16a4a776b6f04709b761
Author: Anil <ag...@pivotal.io>
AuthorDate: Mon Oct 23 12:01:58 2017 -0700
GEODE-3781: add geode-connectors module
Introduce new PDX JDBC Connector Service
* GEODE-3782: implement JdbcWriter
* GEODE-3783: implement JdbcAsyncWriter
* GEODE-3823: implement JdbcLoader
---
geode-assembly/build.gradle | 6 +-
geode-connectors/build.gradle | 32 ++
.../geode/connectors/jdbc/JdbcAsyncWriter.java | 107 ++++++
.../apache/geode/connectors/jdbc/JdbcLoader.java | 54 +++
.../apache/geode/connectors/jdbc/JdbcWriter.java | 102 ++++++
.../jdbc/internal/AbstractJdbcCallback.java | 63 ++++
.../connectors/jdbc/internal/ColumnValue.java | 44 +++
.../jdbc/internal/ConnectionConfiguration.java | 84 +++++
.../jdbc/internal/ConnectionManager.java | 193 +++++++++++
.../internal/InternalJdbcConnectorService.java | 30 ++
.../jdbc/internal/JdbcConnectorService.java | 92 ++++++
.../jdbc/internal/PreparedStatementCache.java | 104 ++++++
.../connectors/jdbc/internal/RegionMapping.java | 118 +++++++
.../geode/connectors/jdbc/internal/SqlHandler.java | 187 +++++++++++
.../jdbc/internal/SqlStatementFactory.java | 78 +++++
.../jdbc/internal/xml/ConnectionConfigBuilder.java | 48 +++
.../connectors/jdbc/internal/xml/ElementType.java | 131 ++++++++
.../xml/JdbcConnectorServiceXmlGenerator.java | 130 ++++++++
.../xml/JdbcConnectorServiceXmlParser.java | 57 ++++
.../internal/xml/JdbcServiceConfiguration.java | 60 ++++
.../jdbc/internal/xml/RegionMappingBuilder.java | 65 ++++
.../org.apache.geode.internal.cache.CacheService | 1 +
....apache.geode.internal.cache.xmlcache.XmlParser | 1 +
.../org/apache/geode/connectors/jdbc/Employee.java | 54 +++
.../jdbc/JdbcAsyncWriterIntegrationTest.java | 254 ++++++++++++++
.../geode/connectors/jdbc/JdbcAsyncWriterTest.java | 93 ++++++
.../connectors/jdbc/JdbcLoaderIntegrationTest.java | 105 ++++++
.../geode/connectors/jdbc/JdbcLoaderTest.java | 44 +++
.../connectors/jdbc/JdbcWriterIntegrationTest.java | 234 +++++++++++++
.../geode/connectors/jdbc/JdbcWriterTest.java | 119 +++++++
.../jdbc/internal/AbstractJdbcCallbackTest.java | 73 +++++
.../connectors/jdbc/internal/ColumnValueTest.java | 57 ++++
.../jdbc/internal/ConnectionConfigurationTest.java | 63 ++++
.../jdbc/internal/ConnectionManagerUnitTest.java | 252 ++++++++++++++
.../jdbc/internal/JdbcConnectorServiceTest.java | 88 +++++
.../jdbc/internal/PreparedStatementCacheTest.java | 82 +++++
.../jdbc/internal/RegionMappingTest.java | 108 ++++++
.../connectors/jdbc/internal/SqlHandlerTest.java | 365 +++++++++++++++++++++
.../jdbc/internal/SqlStatementFactoryTest.java | 81 +++++
.../jdbc/internal/TestConfigService.java | 54 +++
.../jdbc/internal/TestableConnectionManager.java | 22 ++
.../internal/xml/ConnectionConfigBuilderTest.java | 46 +++
.../jdbc/internal/xml/ElementTypeTest.java | 216 ++++++++++++
...onnectorServiceXmlGeneratorIntegrationTest.java | 195 +++++++++++
.../xml/JdbcConnectorServiceXmlGeneratorTest.java | 33 ++
.../JdbcConnectorServiceXmlIntegrationTest.java | 116 +++++++
.../xml/JdbcConnectorServiceXmlParserTest.java | 106 ++++++
.../internal/xml/JdbcServiceConfigurationTest.java | 136 ++++++++
.../internal/xml/RegionMappingBuilderTest.java | 54 +++
.../java/org/apache/geode/test/fake/Fakes.java | 5 +-
settings.gradle | 1 +
51 files changed, 4841 insertions(+), 2 deletions(-)
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index 4615a6b..542ab45 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -59,6 +59,7 @@ dependencies {
archives project(':geode-client-protocol')
archives project(':geode-json')
archives project(':geode-core')
+ archives project(':geode-connectors')
archives project(':geode-lucene')
archives project(':geode-old-client-support')
archives project(':geode-protobuf')
@@ -362,7 +363,10 @@ distributions {
from project(":geode-lucene").configurations.runtime
from project(":geode-lucene").configurations.archives.allArtifacts.files
-
+
+ from project(":geode-connectors").configurations.runtime
+ from project(":geode-connectors").configurations.archives.allArtifacts.files
+
from project(":geode-old-client-support").configurations.runtime
from project(":geode-old-client-support").configurations.archives.allArtifacts.files
diff --git a/geode-connectors/build.gradle b/geode-connectors/build.gradle
new file mode 100644
index 0000000..b11f352
--- /dev/null
+++ b/geode-connectors/build.gradle
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+dependencies {
+ compile project(':geode-core')
+ compile project(':geode-common')
+
+ testCompile project(':geode-junit')
+
+ //Connectors test framework.
+ testRuntime 'org.apache.derby:derby:' + project.'derby.version'
+ testCompile 'com.pholser:junit-quickcheck-core:' + project.'junit-quickcheck.version'
+ testCompile 'com.pholser:junit-quickcheck-generators:' + project.'junit-quickcheck.version'
+ testCompile files(project(':geode-core').sourceSets.test.output)
+ testCompile project(':geode-old-versions')
+}
+
+integrationTest.forkEvery 0
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriter.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriter.java
new file mode 100644
index 0000000..465e1c6
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriter.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.apache.logging.log4j.Logger;
+
+import org.apache.geode.CopyHelper;
+import org.apache.geode.annotations.Experimental;
+import org.apache.geode.cache.asyncqueue.AsyncEvent;
+import org.apache.geode.cache.asyncqueue.AsyncEventListener;
+import org.apache.geode.cache.query.internal.DefaultQuery;
+import org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.pdx.PdxInstance;
+
+/**
+ * This class provides write behind cache semantics for a JDBC data source using AsyncEventListener.
+ *
+ * @since Geode 1.4
+ */
+@Experimental
+public class JdbcAsyncWriter extends AbstractJdbcCallback implements AsyncEventListener {
+ private static final Logger logger = LogService.getLogger();
+
+ private AtomicLong totalEvents = new AtomicLong();
+ private AtomicLong successfulEvents = new AtomicLong();
+
+ @SuppressWarnings("unused")
+ public JdbcAsyncWriter() {
+ super();
+ }
+
+ // Constructor for test purposes only
+ JdbcAsyncWriter(SqlHandler sqlHandler) {
+ super(sqlHandler);
+ }
+
+ @Override
+ public boolean processEvents(List<AsyncEvent> events) {
+ changeTotalEvents(events.size());
+
+ if (!events.isEmpty()) {
+ checkInitialized((InternalCache) events.get(0).getRegion().getRegionService());
+ }
+
+ DefaultQuery.setPdxReadSerialized(true);
+ try {
+ for (AsyncEvent event : events) {
+ try {
+ getSqlHandler().write(event.getRegion(), event.getOperation(), event.getKey(),
+ getPdxInstance(event));
+ changeSuccessfulEvents(1);
+ } catch (RuntimeException ex) {
+ logger.error("Exception processing event {}", event, ex);
+ }
+ }
+ } finally {
+ DefaultQuery.setPdxReadSerialized(false);
+ }
+
+ return true;
+ }
+
+ long getTotalEvents() {
+ return totalEvents.get();
+ }
+
+ long getSuccessfulEvents() {
+ return successfulEvents.get();
+ }
+
+ private void changeSuccessfulEvents(long delta) {
+ successfulEvents.addAndGet(delta);
+ }
+
+ private void changeTotalEvents(long delta) {
+ totalEvents.addAndGet(delta);
+ }
+
+ /**
+ * precondition: DefaultQuery.setPdxReadSerialized(true)
+ */
+ private PdxInstance getPdxInstance(AsyncEvent event) {
+ Object value = event.getDeserializedValue();
+ if (!(value instanceof PdxInstance)) {
+ value = CopyHelper.copy(value);
+ }
+ return (PdxInstance) value;
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcLoader.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcLoader.java
new file mode 100644
index 0000000..f3ba9a5
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcLoader.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import org.apache.geode.annotations.Experimental;
+import org.apache.geode.cache.CacheLoader;
+import org.apache.geode.cache.CacheLoaderException;
+import org.apache.geode.cache.LoaderHelper;
+import org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalCache;
+
+/**
+ * This class provides loading from a data source using JDBC.
+ *
+ * @since Geode 1.4
+ */
+@Experimental
+public class JdbcLoader<K, V> extends AbstractJdbcCallback implements CacheLoader<K, V> {
+
+ @SuppressWarnings("unused")
+ public JdbcLoader() {
+ super();
+ }
+
+ // Constructor for test purposes only
+ JdbcLoader(SqlHandler sqlHandler) {
+ super(sqlHandler);
+ }
+
+ /**
+ * @return this method always returns a PdxInstance. It does not matter what the V generic
+ * parameter is set to.
+ */
+ @Override
+ public V load(LoaderHelper<K, V> helper) throws CacheLoaderException {
+ // The following cast to V is to keep the compiler happy
+ // but is erased at runtime and no actual cast happens.
+ checkInitialized((InternalCache) helper.getRegion().getRegionService());
+ return (V) getSqlHandler().read(helper.getRegion(), helper.getKey());
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcWriter.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcWriter.java
new file mode 100644
index 0000000..c901d3d
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/JdbcWriter.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import org.apache.geode.CopyHelper;
+import org.apache.geode.annotations.Experimental;
+import org.apache.geode.cache.CacheWriter;
+import org.apache.geode.cache.CacheWriterException;
+import org.apache.geode.cache.EntryEvent;
+import org.apache.geode.cache.RegionEvent;
+import org.apache.geode.cache.SerializedCacheValue;
+import org.apache.geode.cache.query.internal.DefaultQuery;
+import org.apache.geode.connectors.jdbc.internal.AbstractJdbcCallback;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.pdx.PdxInstance;
+
+/**
+ * This class provides synchronous write through to a data source using JDBC.
+ *
+ * @since Geode 1.4
+ */
+@Experimental
+public class JdbcWriter<K, V> extends AbstractJdbcCallback implements CacheWriter<K, V> {
+
+ @SuppressWarnings("unused")
+ public JdbcWriter() {
+ super();
+ }
+
+ // Constructor for test purposes only
+ JdbcWriter(SqlHandler sqlHandler) {
+ super(sqlHandler);
+ }
+
+
+ @Override
+ public void beforeUpdate(EntryEvent<K, V> event) throws CacheWriterException {
+ checkInitialized((InternalCache) event.getRegion().getRegionService());
+ getSqlHandler().write(event.getRegion(), event.getOperation(), event.getKey(),
+ getPdxNewValue(event));
+ }
+
+ @Override
+ public void beforeCreate(EntryEvent<K, V> event) throws CacheWriterException {
+ checkInitialized((InternalCache) event.getRegion().getRegionService());
+ getSqlHandler().write(event.getRegion(), event.getOperation(), event.getKey(),
+ getPdxNewValue(event));
+ }
+
+ @Override
+ public void beforeDestroy(EntryEvent<K, V> event) throws CacheWriterException {
+ checkInitialized((InternalCache) event.getRegion().getRegionService());
+ getSqlHandler().write(event.getRegion(), event.getOperation(), event.getKey(),
+ getPdxNewValue(event));
+ }
+
+ @Override
+ public void beforeRegionDestroy(RegionEvent<K, V> event) throws CacheWriterException {
+ // this event is not sent to JDBC
+ }
+
+ @Override
+ public void beforeRegionClear(RegionEvent<K, V> event) throws CacheWriterException {
+ // this event is not sent to JDBC
+ }
+
+ private PdxInstance getPdxNewValue(EntryEvent<K, V> event) {
+ DefaultQuery.setPdxReadSerialized(true);
+ try {
+ Object newValue = event.getNewValue();
+ if (!(newValue instanceof PdxInstance)) {
+ SerializedCacheValue<V> serializedNewValue = event.getSerializedNewValue();
+ if (serializedNewValue != null) {
+ newValue = serializedNewValue.getDeserializedValue();
+ } else {
+ newValue = CopyHelper.copy(newValue);
+ }
+ if (newValue != null && !(newValue instanceof PdxInstance)) {
+ String valueClassName = newValue == null ? "null" : newValue.getClass().getName();
+ throw new IllegalArgumentException(getClass().getSimpleName()
+ + " only supports PDX values; newValue is " + valueClassName);
+ }
+ }
+ return (PdxInstance) newValue;
+ } finally {
+ DefaultQuery.setPdxReadSerialized(false);
+ }
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallback.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallback.java
new file mode 100644
index 0000000..478edd0
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallback.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.util.Properties;
+
+import org.apache.geode.cache.CacheCallback;
+import org.apache.geode.internal.cache.InternalCache;
+
+public abstract class AbstractJdbcCallback implements CacheCallback {
+
+ private volatile SqlHandler sqlHandler;
+
+ protected AbstractJdbcCallback() {
+ // nothing
+ }
+
+ protected AbstractJdbcCallback(SqlHandler sqlHandler) {
+ this.sqlHandler = sqlHandler;
+ }
+
+ @Override
+ public void close() {
+ if (sqlHandler != null) {
+ sqlHandler.close();
+ }
+ }
+
+ @Override
+ public void init(Properties props) {
+ // nothing
+ }
+
+ protected SqlHandler getSqlHandler() {
+ return sqlHandler;
+ }
+
+ protected void checkInitialized(InternalCache cache) {
+ if (sqlHandler == null) {
+ initialize(cache);
+ }
+ }
+
+ private synchronized void initialize(InternalCache cache) {
+ if (sqlHandler == null) {
+ InternalJdbcConnectorService service = cache.getService(InternalJdbcConnectorService.class);
+ ConnectionManager manager = new ConnectionManager(service);
+ sqlHandler = new SqlHandler(manager);
+ }
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ColumnValue.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ColumnValue.java
new file mode 100644
index 0000000..c3f44d0
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ColumnValue.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+class ColumnValue {
+ private final boolean isKey;
+ private final String columnName;
+ private final Object value;
+
+ ColumnValue(boolean isKey, String columnName, Object value) {
+ this.isKey = isKey;
+ this.columnName = columnName;
+ this.value = value;
+ }
+
+ boolean isKey() {
+ return isKey;
+ }
+
+ String getColumnName() {
+ return columnName;
+ }
+
+ Object getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return "ColumnValue [isKey=" + isKey + ", columnName=" + columnName + ", value=" + value + "]";
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfiguration.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfiguration.java
new file mode 100644
index 0000000..fa3807d
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfiguration.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+public class ConnectionConfiguration {
+
+ private final String name;
+ private final String url;
+ private final String user;
+ private final String password;
+
+ public ConnectionConfiguration(String name, String url, String user, String password) {
+ this.name = name;
+ this.url = url;
+ this.user = user;
+ this.password = password;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ ConnectionConfiguration that = (ConnectionConfiguration) o;
+
+ if (name != null ? !name.equals(that.name) : that.name != null) {
+ return false;
+ }
+ if (url != null ? !url.equals(that.url) : that.url != null) {
+ return false;
+ }
+ if (user != null ? !user.equals(that.user) : that.user != null) {
+ return false;
+ }
+ return password != null ? password.equals(that.password) : that.password == null;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = name != null ? name.hashCode() : 0;
+ result = 31 * result + (url != null ? url.hashCode() : 0);
+ result = 31 * result + (user != null ? user.hashCode() : 0);
+ result = 31 * result + (password != null ? password.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "ConnectionConfiguration{" + "name='" + name + '\'' + ", url='" + url + '\'' + ", user='"
+ + user + '\'' + ", password='" + password + '\'' + '}';
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionManager.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionManager.java
new file mode 100644
index 0000000..d382112
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/ConnectionManager.java
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import org.apache.geode.cache.Operation;
+import org.apache.geode.pdx.PdxInstance;
+
+class ConnectionManager {
+
+ private final InternalJdbcConnectorService configService;
+ private final Map<String, Connection> connectionMap = new ConcurrentHashMap<>();
+ private final ConcurrentMap<String, String> tableToPrimaryKeyMap = new ConcurrentHashMap<>();
+ private final ThreadLocal<PreparedStatementCache> preparedStatementCache = new ThreadLocal<>();
+
+ ConnectionManager(InternalJdbcConnectorService configService) {
+ this.configService = configService;
+ }
+
+ RegionMapping getMappingForRegion(String regionName) {
+ return configService.getMappingForRegion(regionName);
+ }
+
+ Connection getConnection(ConnectionConfiguration config) {
+ Connection connection = connectionMap.get(config.getName());
+ try {
+ if (connection != null && !connection.isClosed()) {
+ return connection;
+ }
+ } catch (SQLException ignore) {
+ // If isClosed throws fall through and connect again
+ }
+ return getNewConnection(config);
+ }
+
+ <K> List<ColumnValue> getColumnToValueList(ConnectionConfiguration config,
+ RegionMapping regionMapping, K key, PdxInstance value, Operation operation) {
+ String keyColumnName = getKeyColumnName(config, regionMapping.getTableName());
+ ColumnValue keyColumnValue = new ColumnValue(true, keyColumnName, key);
+
+ if (operation.isDestroy() || operation.isGet()) {
+ return Collections.singletonList(keyColumnValue);
+ }
+
+ List<ColumnValue> result = createColumnValueList(regionMapping, value, keyColumnName);
+ result.add(keyColumnValue);
+ return result;
+ }
+
+ void close() {
+ connectionMap.values().forEach(this::close);
+ }
+
+ String getKeyColumnName(ConnectionConfiguration connectionConfig, String tableName) {
+ return tableToPrimaryKeyMap.computeIfAbsent(tableName,
+ k -> computeKeyColumnName(connectionConfig, k));
+ }
+
+ ConnectionConfiguration getConnectionConfig(String connectionConfigName) {
+ return configService.getConnectionConfig(connectionConfigName);
+ }
+
+ PreparedStatement getPreparedStatement(Connection connection, List<ColumnValue> columnList,
+ String tableName, Operation operation, int pdxTypeId) {
+ PreparedStatementCache statementCache = preparedStatementCache.get();
+
+ if (statementCache == null) {
+ statementCache = new PreparedStatementCache();
+ preparedStatementCache.set(statementCache);
+ }
+
+ return statementCache.getPreparedStatement(connection, columnList, tableName, operation,
+ pdxTypeId);
+ }
+
+ // package protected for testing purposes only
+ Connection getSQLConnection(ConnectionConfiguration config) throws SQLException {
+ return DriverManager.getConnection(config.getUrl(), config.getUser(), config.getPassword());
+ }
+
+ private synchronized Connection getNewConnection(ConnectionConfiguration config) {
+ Connection connection;
+ try {
+ connection = getSQLConnection(config);
+ } catch (SQLException e) {
+ // TODO: consider a different exception
+ throw new IllegalStateException("Could not connect to " + config.getUrl(), e);
+ }
+ connectionMap.put(config.getName(), connection);
+ return connection;
+ }
+
+ private List<ColumnValue> createColumnValueList(RegionMapping regionMapping, PdxInstance value,
+ String keyColumnName) {
+ List<ColumnValue> result = new ArrayList<>();
+ for (String fieldName : value.getFieldNames()) {
+ String columnName = regionMapping.getColumnNameForField(fieldName);
+ if (columnName.equalsIgnoreCase(keyColumnName)) {
+ continue;
+ }
+ ColumnValue columnValue = new ColumnValue(false, columnName, value.getField(fieldName));
+ result.add(columnValue);
+ }
+ return result;
+ }
+
+ private String computeKeyColumnName(ConnectionConfiguration connectionConfig, String tableName) {
+ // TODO: check config for key column
+ String key = null;
+ try {
+ Connection connection = getConnection(connectionConfig);
+ DatabaseMetaData metaData = connection.getMetaData();
+ ResultSet tables = metaData.getTables(null, null, "%", null);
+
+ String realTableName = getTableNameFromMetaData(tableName, tables);
+ key = getPrimaryKeyColumnNameFromMetaData(realTableName, metaData);
+
+ } catch (SQLException e) {
+ handleSQLException(e);
+ }
+ return key;
+ }
+
+ private String getTableNameFromMetaData(String tableName, ResultSet tables) throws SQLException {
+ String realTableName = null;
+ while (tables.next()) {
+ String name = tables.getString("TABLE_NAME");
+ if (name.equalsIgnoreCase(tableName)) {
+ if (realTableName != null) {
+ throw new IllegalStateException("Duplicate tables that match region name");
+ }
+ realTableName = name;
+ }
+ }
+
+ if (realTableName == null) {
+ throw new IllegalStateException("no table was found that matches " + tableName);
+ }
+ return realTableName;
+ }
+
+ private String getPrimaryKeyColumnNameFromMetaData(String tableName, DatabaseMetaData metaData)
+ throws SQLException {
+ ResultSet primaryKeys = metaData.getPrimaryKeys(null, null, tableName);
+ if (!primaryKeys.next()) {
+ throw new IllegalStateException(
+ "The table " + tableName + " does not have a primary key column.");
+ }
+ String key = primaryKeys.getString("COLUMN_NAME");
+ if (primaryKeys.next()) {
+ throw new IllegalStateException(
+ "The table " + tableName + " has more than one primary key column.");
+ }
+ return key;
+ }
+
+ private void handleSQLException(SQLException e) {
+ throw new IllegalStateException("NYI: handleSQLException", e);
+ }
+
+ private void close(Connection connection) {
+ if (connection != null) {
+ try {
+ connection.close();
+ } catch (SQLException ignore) {
+ }
+ }
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/InternalJdbcConnectorService.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/InternalJdbcConnectorService.java
new file mode 100644
index 0000000..d0bd167
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/InternalJdbcConnectorService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.internal.cache.CacheService;
+import org.apache.geode.internal.cache.extension.Extension;
+
+public interface InternalJdbcConnectorService extends Extension<Cache>, CacheService {
+ void addOrUpdateConnectionConfig(ConnectionConfiguration config);
+
+ void addOrUpdateRegionMapping(RegionMapping mapping);
+
+ ConnectionConfiguration getConnectionConfig(String connectionName);
+
+ RegionMapping getMappingForRegion(String regionName);
+
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorService.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorService.java
new file mode 100644
index 0000000..9af7aeb
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorService.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlGenerator;
+import org.apache.geode.internal.cache.CacheService;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.extension.Extensible;
+import org.apache.geode.internal.cache.xmlcache.XmlGenerator;
+import org.apache.geode.management.internal.beans.CacheServiceMBeanBase;
+
+public class JdbcConnectorService implements InternalJdbcConnectorService {
+
+ private final Map<String, ConnectionConfiguration> connectionsByName = new ConcurrentHashMap<>();
+ private final Map<String, RegionMapping> mappingsByRegion = new ConcurrentHashMap<>();
+ private volatile InternalCache cache;
+ private boolean registered;
+
+ public ConnectionConfiguration getConnectionConfig(String connectionName) {
+ return connectionsByName.get(connectionName);
+ }
+
+ public RegionMapping getMappingForRegion(String regionName) {
+ return mappingsByRegion.get(regionName);
+ }
+
+ @Override
+ public void addOrUpdateConnectionConfig(ConnectionConfiguration config) {
+ registerAsExtension();
+ connectionsByName.put(config.getName(), config);
+ }
+
+ @Override
+ public void addOrUpdateRegionMapping(RegionMapping mapping) {
+ registerAsExtension();
+ mappingsByRegion.put(mapping.getRegionName(), mapping);
+ }
+
+ @Override
+ public void init(Cache cache) {
+ this.cache = (InternalCache) cache;
+ }
+
+ private synchronized void registerAsExtension() {
+ if (!registered) {
+ cache.getExtensionPoint().addExtension(this);
+ registered = true;
+ }
+ }
+
+ @Override
+ public Class<? extends CacheService> getInterface() {
+ return InternalJdbcConnectorService.class;
+ }
+
+ @Override
+ public CacheServiceMBeanBase getMBean() {
+ return null;
+ }
+
+ @Override
+ public XmlGenerator<Cache> getXmlGenerator() {
+ return new JdbcConnectorServiceXmlGenerator(connectionsByName.values(),
+ mappingsByRegion.values());
+ }
+
+ @Override
+ public void beforeCreate(Extensible<Cache> source, Cache cache) {
+ // nothing
+ }
+
+ @Override
+ public void onCreate(Extensible<Cache> source, Extensible<Cache> target) {
+ // nothing
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCache.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCache.java
new file mode 100644
index 0000000..bcc6700
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCache.java
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.geode.cache.Operation;
+
+class PreparedStatementCache {
+
+ private SqlStatementFactory statementFactory = new SqlStatementFactory();
+ // TODO: if connection lost, we will still keep the statement. Make LRU?
+ private Map<StatementKey, PreparedStatement> statements = new HashMap<>();
+
+ PreparedStatement getPreparedStatement(Connection connection, List<ColumnValue> columnList,
+ String tableName, Operation operation, int pdxTypeId) {
+ StatementKey key = new StatementKey(pdxTypeId, operation, tableName);
+ return statements.computeIfAbsent(key, k -> {
+ String sqlStr = getSqlString(tableName, columnList, operation);
+ PreparedStatement statement = null;
+ try {
+ statement = connection.prepareStatement(sqlStr);
+ } catch (SQLException e) {
+ handleSQLException(e);
+ }
+ return statement;
+ });
+ }
+
+ private String getSqlString(String tableName, List<ColumnValue> columnList, Operation operation) {
+ if (operation.isCreate()) {
+ return statementFactory.createInsertSqlString(tableName, columnList);
+ } else if (operation.isUpdate()) {
+ return statementFactory.createUpdateSqlString(tableName, columnList);
+ } else if (operation.isDestroy()) {
+ return statementFactory.createDestroySqlString(tableName, columnList);
+ } else if (operation.isGet()) {
+ return statementFactory.createSelectQueryString(tableName, columnList);
+ } else {
+ throw new IllegalArgumentException("unsupported operation " + operation);
+ }
+ }
+
+ private void handleSQLException(SQLException e) {
+ throw new IllegalStateException("NYI: handleSQLException", e);
+ }
+
+ private static class StatementKey {
+ private final int pdxTypeId;
+ private final Operation operation;
+ private final String tableName;
+
+ StatementKey(int pdxTypeId, Operation operation, String tableName) {
+ this.pdxTypeId = pdxTypeId;
+ this.operation = operation;
+ this.tableName = tableName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ StatementKey that = (StatementKey) o;
+
+ if (pdxTypeId != that.pdxTypeId) {
+ return false;
+ }
+ if (operation != null ? !operation.equals(that.operation) : that.operation != null) {
+ return false;
+ }
+ return tableName != null ? tableName.equals(that.tableName) : that.tableName == null;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = pdxTypeId;
+ result = 31 * result + (operation != null ? operation.hashCode() : 0);
+ result = 31 * result + (tableName != null ? tableName.hashCode() : 0);
+ return result;
+ }
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/RegionMapping.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/RegionMapping.java
new file mode 100644
index 0000000..327775c
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/RegionMapping.java
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.util.Collections;
+import java.util.Map;
+
+public class RegionMapping {
+ private final String regionName;
+ private final String pdxClassName;
+ private final String tableName;
+ private final String connectionConfigName;
+ private final boolean primaryKeyInValue;
+ private final Map<String, String> fieldToColumnMap;
+
+ public RegionMapping(String regionName, String pdxClassName, String tableName,
+ String connectionConfigName, boolean primaryKeyInValue,
+ Map<String, String> fieldToColumnMap) {
+ this.regionName = regionName;
+ this.pdxClassName = pdxClassName;
+ this.tableName = tableName;
+ this.connectionConfigName = connectionConfigName;
+ this.primaryKeyInValue = primaryKeyInValue;
+ this.fieldToColumnMap = fieldToColumnMap;
+ }
+
+ public String getConnectionConfigName() {
+ return connectionConfigName;
+ }
+
+ public String getRegionName() {
+ return regionName;
+ }
+
+ public String getPdxClassName() {
+ return pdxClassName;
+ }
+
+ public String getTableName() {
+ return tableName;
+ }
+
+ public boolean isPrimaryKeyInValue() {
+ return primaryKeyInValue;
+ }
+
+ public String getColumnNameForField(String fieldName) {
+ String columnName = fieldToColumnMap.get(fieldName);
+ return columnName != null ? columnName : fieldName;
+ }
+
+ public Map<String, String> getFieldToColumnMap() {
+ return Collections.unmodifiableMap(fieldToColumnMap);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ RegionMapping that = (RegionMapping) o;
+
+ if (primaryKeyInValue != that.primaryKeyInValue) {
+ return false;
+ }
+ if (regionName != null ? !regionName.equals(that.regionName) : that.regionName != null) {
+ return false;
+ }
+ if (pdxClassName != null ? !pdxClassName.equals(that.pdxClassName)
+ : that.pdxClassName != null) {
+ return false;
+ }
+ if (tableName != null ? !tableName.equals(that.tableName) : that.tableName != null) {
+ return false;
+ }
+ if (connectionConfigName != null ? !connectionConfigName.equals(that.connectionConfigName)
+ : that.connectionConfigName != null) {
+ return false;
+ }
+ return fieldToColumnMap != null ? fieldToColumnMap.equals(that.fieldToColumnMap)
+ : that.fieldToColumnMap == null;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = regionName != null ? regionName.hashCode() : 0;
+ result = 31 * result + (pdxClassName != null ? pdxClassName.hashCode() : 0);
+ result = 31 * result + (tableName != null ? tableName.hashCode() : 0);
+ result = 31 * result + (connectionConfigName != null ? connectionConfigName.hashCode() : 0);
+ result = 31 * result + (primaryKeyInValue ? 1 : 0);
+ result = 31 * result + (fieldToColumnMap != null ? fieldToColumnMap.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "RegionMapping{" + "regionName='" + regionName + '\'' + ", pdxClassName='" + pdxClassName
+ + '\'' + ", tableName='" + tableName + '\'' + ", connectionConfigName='"
+ + connectionConfigName + '\'' + ", primaryKeyInValue=" + primaryKeyInValue
+ + ", fieldToColumnMap=" + fieldToColumnMap + '}';
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlHandler.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlHandler.java
new file mode 100644
index 0000000..b73698c
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlHandler.java
@@ -0,0 +1,187 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.apache.geode.cache.Operation;
+import org.apache.geode.cache.Region;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.pdx.PdxInstanceFactory;
+import org.apache.geode.pdx.internal.PdxInstanceImpl;
+
+public class SqlHandler {
+ private ConnectionManager manager;
+
+ public SqlHandler(ConnectionManager manager) {
+ this.manager = manager;
+ }
+
+ public void close() {
+ manager.close();
+ }
+
+ public <K, V> PdxInstance read(Region<K, V> region, K key) {
+ if (key == null) {
+ throw new IllegalArgumentException("Key for query cannot be null");
+ }
+
+ RegionMapping regionMapping = manager.getMappingForRegion(region.getName());
+ ConnectionConfiguration connectionConfig =
+ manager.getConnectionConfig(regionMapping.getConnectionConfigName());
+
+ List<ColumnValue> columnList =
+ manager.getColumnToValueList(connectionConfig, regionMapping, key, null, Operation.GET);
+ String tableName = regionMapping.getTableName();
+ PreparedStatement statement = manager.getPreparedStatement(
+ manager.getConnection(connectionConfig), columnList, tableName, Operation.GET, 0);
+ PdxInstanceFactory factory = getPdxInstanceFactory(region, regionMapping);
+ String keyColumnName = manager.getKeyColumnName(connectionConfig, tableName);
+ return executeReadStatement(statement, columnList, factory, regionMapping, keyColumnName);
+ }
+
+ private <K, V> PdxInstanceFactory getPdxInstanceFactory(Region<K, V> region,
+ RegionMapping regionMapping) {
+ InternalCache cache = (InternalCache) region.getRegionService();
+ String valueClassName = regionMapping.getPdxClassName();
+ PdxInstanceFactory factory;
+ if (valueClassName != null) {
+ factory = cache.createPdxInstanceFactory(valueClassName);
+ } else {
+ factory = cache.createPdxInstanceFactory("no class", false);
+ }
+ return factory;
+ }
+
+ private PdxInstance executeReadStatement(PreparedStatement statement,
+ List<ColumnValue> columnList, PdxInstanceFactory factory, RegionMapping regionMapping,
+ String keyColumnName) {
+ PdxInstance pdxInstance = null;
+ synchronized (statement) {
+ try {
+ setValuesInStatement(statement, columnList);
+ ResultSet resultSet = statement.executeQuery();
+ if (resultSet.next()) {
+
+ ResultSetMetaData metaData = resultSet.getMetaData();
+ int ColumnsNumber = metaData.getColumnCount();
+ for (int i = 1; i <= ColumnsNumber; i++) {
+ Object columnValue = resultSet.getObject(i);
+ String columnName = metaData.getColumnName(i);
+ String fieldName = mapColumnNameToFieldName(columnName);
+ if (regionMapping.isPrimaryKeyInValue()
+ || !keyColumnName.equalsIgnoreCase(columnName)) {
+ factory.writeField(fieldName, columnValue, Object.class);
+ }
+ }
+ if (resultSet.next()) {
+ throw new IllegalStateException(
+ "Multiple rows returned for query: " + resultSet.getStatement().toString());
+ }
+ pdxInstance = factory.create();
+ }
+ } catch (SQLException e) {
+ handleSQLException(e);
+ } finally {
+ clearStatementParameters(statement);
+ }
+ }
+ return pdxInstance;
+ }
+
+ private void setValuesInStatement(PreparedStatement statement, List<ColumnValue> columnList)
+ throws SQLException {
+ int index = 0;
+ for (ColumnValue columnValue : columnList) {
+ index++;
+ statement.setObject(index, columnValue.getValue());
+ }
+ }
+
+ private String mapColumnNameToFieldName(String columnName) {
+ return columnName.toLowerCase();
+ }
+
+ public <K, V> void write(Region<K, V> region, Operation operation, K key, PdxInstance value) {
+ if (value == null && operation != Operation.DESTROY) {
+ throw new IllegalArgumentException("PdxInstance cannot be null for non-destroy operations");
+ }
+ RegionMapping regionMapping = manager.getMappingForRegion(region.getName());
+ final String tableName = regionMapping.getTableName();
+ ConnectionConfiguration connectionConfig =
+ manager.getConnectionConfig(regionMapping.getConnectionConfigName());
+ List<ColumnValue> columnList =
+ manager.getColumnToValueList(connectionConfig, regionMapping, key, value, operation);
+
+ int pdxTypeId = value == null ? 0 : ((PdxInstanceImpl) value).getPdxType().getTypeId();
+ PreparedStatement statement = manager.getPreparedStatement(
+ manager.getConnection(connectionConfig), columnList, tableName, operation, pdxTypeId);
+ int updateCount = executeWriteStatement(statement, columnList, operation, false);
+
+ // Destroy action not guaranteed to modify any database rows
+ if (operation.isDestroy()) {
+ return;
+ }
+
+ if (updateCount <= 0) {
+ Operation upsertOp = getOppositeOperation(operation);
+ PreparedStatement upsertStatement = manager.getPreparedStatement(
+ manager.getConnection(connectionConfig), columnList, tableName, upsertOp, pdxTypeId);
+ updateCount = executeWriteStatement(upsertStatement, columnList, upsertOp, true);
+ }
+
+ if (updateCount != 1) {
+ throw new IllegalStateException("Unexpected updateCount " + updateCount);
+ }
+ }
+
+ private Operation getOppositeOperation(Operation operation) {
+ return operation.isUpdate() ? Operation.CREATE : Operation.UPDATE;
+ }
+
+ private int executeWriteStatement(PreparedStatement statement, List<ColumnValue> columnList,
+ Operation operation, boolean handleException) {
+ int updateCount = 0;
+ synchronized (statement) {
+ try {
+ setValuesInStatement(statement, columnList);
+ updateCount = statement.executeUpdate();
+ } catch (SQLException e) {
+ if (handleException || operation.isDestroy()) {
+ handleSQLException(e);
+ }
+ } finally {
+ clearStatementParameters(statement);
+ }
+ }
+ return updateCount;
+ }
+
+ private void clearStatementParameters(PreparedStatement statement) {
+ try {
+ statement.clearParameters();
+ } catch (SQLException ignore) {
+ }
+ }
+
+ private void handleSQLException(SQLException e) {
+ throw new IllegalStateException("NYI: handleSQLException", e);
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactory.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactory.java
new file mode 100644
index 0000000..d5367ef
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactory.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import java.util.List;
+
+class SqlStatementFactory {
+
+ String createSelectQueryString(String tableName, List<ColumnValue> columnList) {
+ assert columnList.size() == 1;
+ ColumnValue keyCV = columnList.get(0);
+ assert keyCV.isKey();
+ return "SELECT * FROM " + tableName + " WHERE " + keyCV.getColumnName() + " = ?";
+ }
+
+ String createDestroySqlString(String tableName, List<ColumnValue> columnList) {
+ assert columnList.size() == 1;
+ ColumnValue keyCV = columnList.get(0);
+ assert keyCV.isKey();
+ return "DELETE FROM " + tableName + " WHERE " + keyCV.getColumnName() + " = ?";
+ }
+
+ String createUpdateSqlString(String tableName, List<ColumnValue> columnList) {
+ StringBuilder query = new StringBuilder("UPDATE " + tableName + " SET ");
+ int idx = 0;
+ for (ColumnValue column : columnList) {
+ if (!column.isKey()) {
+ idx++;
+ if (idx > 1) {
+ query.append(", ");
+ }
+ query.append(column.getColumnName());
+ query.append(" = ?");
+ }
+ }
+ for (ColumnValue column : columnList) {
+ if (column.isKey()) {
+ query.append(" WHERE ");
+ query.append(column.getColumnName());
+ query.append(" = ?");
+ // currently only support simple primary key with one column
+ break;
+ }
+ }
+ return query.toString();
+ }
+
+ String createInsertSqlString(String tableName, List<ColumnValue> columnList) {
+ StringBuilder columnNames = new StringBuilder("INSERT INTO " + tableName + " (");
+ StringBuilder columnValues = new StringBuilder(" VALUES (");
+ int columnCount = columnList.size();
+ int idx = 0;
+ for (ColumnValue column : columnList) {
+ idx++;
+ columnNames.append(column.getColumnName());
+ columnValues.append('?');
+ if (idx != columnCount) {
+ columnNames.append(", ");
+ columnValues.append(",");
+ }
+ }
+ columnNames.append(")");
+ columnValues.append(")");
+ return columnNames.append(columnValues).toString();
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilder.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilder.java
new file mode 100644
index 0000000..34d61ad
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilder.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+
+class ConnectionConfigBuilder {
+ private String name;
+ private String url;
+ private String user;
+ private String password;
+
+ ConnectionConfigBuilder withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ ConnectionConfigBuilder withUrl(String url) {
+ this.url = url;
+ return this;
+ }
+
+ ConnectionConfigBuilder withUser(String user) {
+ this.user = user;
+ return this;
+ }
+
+ ConnectionConfigBuilder withPassword(String password) {
+ this.password = password;
+ return this;
+ }
+
+ ConnectionConfiguration build() {
+ return new ConnectionConfiguration(name, url, user, password);
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java
new file mode 100644
index 0000000..580910c
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import java.util.Stack;
+
+import org.xml.sax.Attributes;
+
+import org.apache.geode.cache.CacheXmlException;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.xmlcache.CacheCreation;
+
+enum ElementType {
+ CONNECTION_SERVICE("connector-service") {
+ @Override
+ void startElement(Stack<Object> stack, Attributes attributes) {
+ if (!(stack.peek() instanceof CacheCreation)) {
+ throw new CacheXmlException(
+ "jdbc <connector-service> elements must occur within <cache> elements");
+ }
+ CacheCreation cacheCreation = (CacheCreation) stack.peek();
+ JdbcServiceConfiguration serviceConfig = new JdbcServiceConfiguration();
+ cacheCreation.getExtensionPoint().addExtension(serviceConfig);
+ stack.push(serviceConfig);
+ }
+
+ @Override
+ void endElement(Stack<Object> stack) {
+ stack.pop();
+ }
+ },
+ CONNECTION("connection") {
+ @Override
+ void startElement(Stack<Object> stack, Attributes attributes) {
+ if (!(stack.peek() instanceof JdbcServiceConfiguration)) {
+ throw new CacheXmlException(
+ "jdbc <connection> elements must occur within <connector-service> elements");
+ }
+ ConnectionConfigBuilder connectionConfig = new ConnectionConfigBuilder()
+ .withName(attributes.getValue(JdbcConnectorServiceXmlParser.NAME))
+ .withUrl(attributes.getValue(JdbcConnectorServiceXmlParser.URL))
+ .withUser(attributes.getValue(JdbcConnectorServiceXmlParser.USER))
+ .withPassword(attributes.getValue(JdbcConnectorServiceXmlParser.PASSWORD));
+ stack.push(connectionConfig);
+ }
+
+ @Override
+ void endElement(Stack<Object> stack) {
+ ConnectionConfiguration config = ((ConnectionConfigBuilder) stack.pop()).build();
+ JdbcServiceConfiguration connectorService = (JdbcServiceConfiguration) stack.peek();
+ connectorService.addConnectionConfig(config);
+ }
+ },
+ REGION_MAPPING("region-mapping") {
+ @Override
+ void startElement(Stack<Object> stack, Attributes attributes) {
+ if (!(stack.peek() instanceof JdbcServiceConfiguration)) {
+ throw new CacheXmlException(
+ "jdbc <region-mapping> elements must occur within <connector-service> elements");
+ }
+ RegionMappingBuilder mapping = new RegionMappingBuilder()
+ .withRegionName(attributes.getValue(JdbcConnectorServiceXmlParser.REGION))
+ .withConnectionConfigName(
+ attributes.getValue(JdbcConnectorServiceXmlParser.CONNECTION_NAME))
+ .withTableName(attributes.getValue(JdbcConnectorServiceXmlParser.TABLE))
+ .withPdxClassName(attributes.getValue(JdbcConnectorServiceXmlParser.PDX_CLASS))
+ .withPrimaryKeyInValue(
+ attributes.getValue(JdbcConnectorServiceXmlParser.PRIMARY_KEY_IN_VALUE));
+ stack.push(mapping);
+ }
+
+ @Override
+ void endElement(Stack<Object> stack) {
+ RegionMapping mapping = ((RegionMappingBuilder) stack.pop()).build();
+ JdbcServiceConfiguration connectorService = (JdbcServiceConfiguration) stack.peek();
+ connectorService.addRegionMapping(mapping);
+ }
+ },
+ FIELD_MAPPING("field-mapping") {
+ @Override
+ void startElement(Stack<Object> stack, Attributes attributes) {
+ if (!(stack.peek() instanceof RegionMappingBuilder)) {
+ throw new CacheXmlException(
+ "jdbc <field-mapping> elements must occur within <region-mapping> elements");
+ }
+ RegionMappingBuilder mapping = (RegionMappingBuilder) stack.peek();
+ String fieldName = attributes.getValue(JdbcConnectorServiceXmlParser.FIELD_NAME);
+ String columnName = attributes.getValue(JdbcConnectorServiceXmlParser.COLUMN_NAME);
+ mapping.withFieldToColumnMapping(fieldName, columnName);
+ }
+
+ @Override
+ void endElement(Stack<Object> stack) {}
+ };
+
+ private String typeName;
+
+ ElementType(String typeName) {
+ this.typeName = typeName;
+ }
+
+ static ElementType getTypeFromName(String typeName) {
+ for (ElementType type : ElementType.values()) {
+ if (type.typeName.equals(typeName))
+ return type;
+ }
+ throw new IllegalArgumentException("Invalid type '" + typeName + "'");
+ }
+
+ String getTypeName() {
+ return typeName;
+ }
+
+ abstract void startElement(Stack<Object> stack, Attributes attributes);
+
+ abstract void endElement(Stack<Object> stack);
+
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGenerator.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGenerator.java
new file mode 100644
index 0000000..867dd7f
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGenerator.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.COLUMN_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.CONNECTION_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.FIELD_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAMESPACE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PASSWORD;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PDX_CLASS;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PRIMARY_KEY_IN_VALUE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.REGION;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.TABLE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.URL;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.USER;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.xmlcache.CacheXmlGenerator;
+import org.apache.geode.internal.cache.xmlcache.XmlGenerator;
+import org.apache.geode.internal.cache.xmlcache.XmlGeneratorUtils;
+
+public class JdbcConnectorServiceXmlGenerator implements XmlGenerator<Cache> {
+ private static final AttributesImpl EMPTY = new AttributesImpl();
+ static final String PREFIX = "jdbc";
+
+ private final Collection<ConnectionConfiguration> connections;
+ private final Collection<RegionMapping> mappings;
+
+ public JdbcConnectorServiceXmlGenerator(Collection<ConnectionConfiguration> connections,
+ Collection<RegionMapping> mappings) {
+ this.connections = connections != null ? connections : Collections.emptyList();
+ this.mappings = mappings != null ? mappings : Collections.emptyList();
+ }
+
+ @Override
+ public String getNamespaceUri() {
+ return NAMESPACE;
+ }
+
+ @Override
+ public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException {
+ final ContentHandler handler = cacheXmlGenerator.getContentHandler();
+
+ handler.startPrefixMapping(PREFIX, NAMESPACE);
+ XmlGeneratorUtils.startElement(handler, PREFIX, ElementType.CONNECTION_SERVICE.getTypeName(),
+ EMPTY);
+ for (ConnectionConfiguration connection : connections) {
+ outputConnectionConfiguration(handler, connection);
+ }
+ for (RegionMapping mapping : mappings) {
+ outputRegionMapping(handler, mapping);
+ }
+ XmlGeneratorUtils.endElement(handler, PREFIX, ElementType.CONNECTION_SERVICE.getTypeName());
+ }
+
+ /**
+ * For testing only
+ */
+ Collection<ConnectionConfiguration> getConnections() {
+ return connections;
+ }
+
+ /**
+ * For testing only
+ */
+ Collection<RegionMapping> getMappings() {
+ return mappings;
+ }
+
+ private void outputConnectionConfiguration(ContentHandler handler, ConnectionConfiguration config)
+ throws SAXException {
+ AttributesImpl attributes = new AttributesImpl();
+ XmlGeneratorUtils.addAttribute(attributes, NAME, config.getName());
+ XmlGeneratorUtils.addAttribute(attributes, URL, config.getUrl());
+ XmlGeneratorUtils.addAttribute(attributes, USER, config.getUser());
+ XmlGeneratorUtils.addAttribute(attributes, PASSWORD, config.getPassword());
+ XmlGeneratorUtils.emptyElement(handler, PREFIX, ElementType.CONNECTION.getTypeName(),
+ attributes);
+ }
+
+ private void outputRegionMapping(ContentHandler handler, RegionMapping mapping)
+ throws SAXException {
+ AttributesImpl attributes = new AttributesImpl();
+ XmlGeneratorUtils.addAttribute(attributes, CONNECTION_NAME, mapping.getConnectionConfigName());
+ XmlGeneratorUtils.addAttribute(attributes, REGION, mapping.getRegionName());
+ XmlGeneratorUtils.addAttribute(attributes, TABLE, mapping.getTableName());
+ XmlGeneratorUtils.addAttribute(attributes, PDX_CLASS, mapping.getPdxClassName());
+ XmlGeneratorUtils.addAttribute(attributes, PRIMARY_KEY_IN_VALUE,
+ Boolean.toString(mapping.isPrimaryKeyInValue()));
+
+ XmlGeneratorUtils.startElement(handler, PREFIX, ElementType.REGION_MAPPING.getTypeName(),
+ attributes);
+ addFieldMappings(handler, mapping.getFieldToColumnMap());
+ XmlGeneratorUtils.endElement(handler, PREFIX, ElementType.REGION_MAPPING.getTypeName());
+ }
+
+ private void addFieldMappings(ContentHandler handler, Map<String, String> fieldMappings)
+ throws SAXException {
+ for (Map.Entry<String, String> fieldMapping : fieldMappings.entrySet()) {
+ AttributesImpl fieldAttributes = new AttributesImpl();
+ XmlGeneratorUtils.addAttribute(fieldAttributes, FIELD_NAME, fieldMapping.getKey());
+ XmlGeneratorUtils.addAttribute(fieldAttributes, COLUMN_NAME, fieldMapping.getValue());
+ XmlGeneratorUtils.emptyElement(handler, PREFIX, ElementType.FIELD_MAPPING.getTypeName(),
+ fieldAttributes);
+ }
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java
new file mode 100644
index 0000000..7caaa1d
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+import org.apache.geode.internal.cache.xmlcache.AbstractXmlParser;
+
+public class JdbcConnectorServiceXmlParser extends AbstractXmlParser {
+ static final String NAMESPACE = "http://geode.apache.org/schema/jdbc-connector";
+ static final String NAME = "name";
+ static final String URL = "url";
+ static final String USER = "user";
+ static final String PASSWORD = "password";
+ static final String REGION = "region";
+ static final String CONNECTION_NAME = "connection-name";
+ static final String TABLE = "table";
+ static final String PDX_CLASS = "pdx-class";
+ static final String FIELD_NAME = "field-name";
+ static final String COLUMN_NAME = "column-name";
+ static final String PRIMARY_KEY_IN_VALUE = "primary-key-in-value";
+
+ @Override
+ public String getNamespaceUri() {
+ return NAMESPACE;
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attributes)
+ throws SAXException {
+ if (!NAMESPACE.equals(uri)) {
+ return;
+ }
+ ElementType.getTypeFromName(localName).startElement(stack, attributes);
+ }
+
+ @Override
+ public void endElement(String uri, String localName, String qName) throws SAXException {
+ if (!NAMESPACE.equals(uri)) {
+ return;
+ }
+ ElementType.getTypeFromName(localName).endElement(stack);
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfiguration.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfiguration.java
new file mode 100644
index 0000000..2892334
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfiguration.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.InternalJdbcConnectorService;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.extension.Extensible;
+import org.apache.geode.internal.cache.extension.Extension;
+import org.apache.geode.internal.cache.xmlcache.XmlGenerator;
+
+public class JdbcServiceConfiguration implements Extension<Cache> {
+
+ private final List<ConnectionConfiguration> connections = new ArrayList<>();
+ private final List<RegionMapping> mappings = new ArrayList<>();
+
+ void addConnectionConfig(ConnectionConfiguration config) {
+ connections.add(config);
+ }
+
+ void addRegionMapping(RegionMapping mapping) {
+ mappings.add(mapping);
+ }
+
+ @Override
+ public XmlGenerator<Cache> getXmlGenerator() {
+ return new JdbcConnectorServiceXmlGenerator(connections, mappings);
+ }
+
+ @Override
+ public void beforeCreate(Extensible<Cache> source, Cache cache) {
+ // nothing
+ }
+
+ @Override
+ public void onCreate(Extensible<Cache> source, Extensible<Cache> target) {
+ InternalCache internalCache = (InternalCache) target;
+ InternalJdbcConnectorService service =
+ internalCache.getService(InternalJdbcConnectorService.class);
+ connections.forEach(connection -> service.addOrUpdateConnectionConfig(connection));
+ mappings.forEach(mapping -> service.addOrUpdateRegionMapping(mapping));
+ }
+}
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilder.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilder.java
new file mode 100644
index 0000000..b4adcaf
--- /dev/null
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilder.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+
+class RegionMappingBuilder {
+
+ private String regionName;
+ private String pdxClassName;
+ private String tableName;
+ private String connectionConfigName;
+ private boolean primaryKeyInValue;
+ private final Map<String, String> fieldToColumnMap = new HashMap<>();
+
+ RegionMappingBuilder withRegionName(String regionName) {
+ this.regionName = regionName;
+ return this;
+ }
+
+ RegionMappingBuilder withPdxClassName(String pdxClassName) {
+ this.pdxClassName = pdxClassName;
+ return this;
+ }
+
+ RegionMappingBuilder withTableName(String tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+ RegionMappingBuilder withConnectionConfigName(String connectionConfigName) {
+ this.connectionConfigName = connectionConfigName;
+ return this;
+ }
+
+ RegionMappingBuilder withPrimaryKeyInValue(String primaryKeyInValue) {
+ this.primaryKeyInValue = Boolean.parseBoolean(primaryKeyInValue);
+ return this;
+ }
+
+ RegionMappingBuilder withFieldToColumnMapping(String fieldName, String columnMapping) {
+ this.fieldToColumnMap.put(fieldName, columnMapping);
+ return this;
+ }
+
+ RegionMapping build() {
+ return new RegionMapping(regionName, pdxClassName, tableName, connectionConfigName,
+ primaryKeyInValue, fieldToColumnMap);
+ }
+}
diff --git a/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.CacheService b/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.CacheService
new file mode 100644
index 0000000..bc91015
--- /dev/null
+++ b/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.CacheService
@@ -0,0 +1 @@
+org.apache.geode.connectors.jdbc.internal.JdbcConnectorService
\ No newline at end of file
diff --git a/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.xmlcache.XmlParser b/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.xmlcache.XmlParser
new file mode 100644
index 0000000..9fbc42a
--- /dev/null
+++ b/geode-connectors/src/main/resources/META-INF/services/org.apache.geode.internal.cache.xmlcache.XmlParser
@@ -0,0 +1 @@
+org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser
\ No newline at end of file
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/Employee.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/Employee.java
new file mode 100644
index 0000000..82e2e90
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/Employee.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import org.apache.geode.pdx.PdxReader;
+import org.apache.geode.pdx.PdxSerializable;
+import org.apache.geode.pdx.PdxWriter;
+
+@SuppressWarnings("unused")
+public class Employee implements PdxSerializable {
+ private String name;
+ private int age;
+
+ public Employee() {
+ // nothing
+ }
+
+ Employee(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+
+ String getName() {
+ return name;
+ }
+
+ int getAge() {
+ return age;
+ }
+
+ @Override
+ public void toData(PdxWriter writer) {
+ writer.writeString("name", this.name);
+ writer.writeInt("age", this.age);
+ }
+
+ @Override
+ public void fromData(PdxReader reader) {
+ this.name = reader.readString("name");
+ this.age = reader.readInt("age");
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterIntegrationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterIntegrationTest.java
new file mode 100644
index 0000000..1655bd9
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterIntegrationTest.java
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.concurrent.TimeUnit;
+
+import org.awaitility.Awaitility;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.connectors.jdbc.internal.TestConfigService;
+import org.apache.geode.connectors.jdbc.internal.TestableConnectionManager;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class JdbcAsyncWriterIntegrationTest {
+
+ private static final String DB_NAME = "DerbyDB";
+ private static final String REGION_TABLE_NAME = "employees";
+ private static final String CONNECTION_URL = "jdbc:derby:memory:" + DB_NAME + ";create=true";
+
+ private Cache cache;
+ private Region<String, PdxInstance> employees;
+ private Connection connection;
+ private Statement statement;
+ private JdbcAsyncWriter jdbcWriter;
+ private PdxInstance pdxEmployee1;
+ private PdxInstance pdxEmployee2;
+ private Employee employee1;
+ private Employee employee2;
+
+ @Before
+ public void setup() throws Exception {
+ cache = new CacheFactory().setPdxReadSerialized(false).create();
+ employees = createRegionWithJDBCAsyncWriter(REGION_TABLE_NAME);
+ connection = DriverManager.getConnection(CONNECTION_URL);
+ statement = connection.createStatement();
+ statement.execute("Create Table " + REGION_TABLE_NAME
+ + " (id varchar(10) primary key not null, name varchar(10), age int)");
+ pdxEmployee1 = cache.createPdxInstanceFactory(Employee.class.getName())
+ .writeString("name", "Emp1").writeInt("age", 55).create();
+ pdxEmployee2 = cache.createPdxInstanceFactory(Employee.class.getName())
+ .writeString("name", "Emp2").writeInt("age", 21).create();
+ employee1 = (Employee) pdxEmployee1.getObject();
+ employee2 = (Employee) pdxEmployee2.getObject();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ cache.close();
+ closeDB();
+ }
+
+ private void closeDB() throws Exception {
+ if (statement == null) {
+ statement = connection.createStatement();
+ }
+ statement.execute("Drop table " + REGION_TABLE_NAME);
+ statement.close();
+
+ if (connection != null) {
+ connection.close();
+ }
+ }
+
+ @Test
+ public void validateJDBCAsyncWriterTotalEvents() {
+ employees.put("1", pdxEmployee1);
+ employees.put("2", pdxEmployee2);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getTotalEvents()).isEqualTo(2));
+ }
+
+ @Test
+ public void canInsertIntoTable() throws Exception {
+ employees.put("1", pdxEmployee1);
+ employees.put("2", pdxEmployee2);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(2));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertRecordMatchesEmployee(resultSet, "2", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void verifyThatPdxFieldNamedSameAsPrimaryKeyIsIgnored() throws Exception {
+ PdxInstance pdx1 = cache.createPdxInstanceFactory("Employee").writeString("name", "Emp1")
+ .writeInt("age", 55).writeInt("id", 3).create();
+ employees.put("1", pdx1);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(1));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void putNonPdxInstanceFails() {
+ Region nonPdxEmployees = this.employees;
+ nonPdxEmployees.put("1", "non pdx instance");
+
+ awaitUntil(() -> assertThat(jdbcWriter.getTotalEvents()).isEqualTo(1));
+
+ assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(0);
+ }
+
+ @Test
+ public void putNonPdxInstanceThatIsPdxSerializable() throws SQLException {
+ Region nonPdxEmployees = this.employees;
+ Employee value = new Employee("Emp2", 22);
+ nonPdxEmployees.put("2", value);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(1));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "2", value);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canDestroyFromTable() throws Exception {
+ employees.put("1", pdxEmployee1);
+ employees.put("2", pdxEmployee2);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(2));
+
+ employees.destroy("1");
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(3));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "2", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canUpdateTable() throws Exception {
+ employees.put("1", pdxEmployee1);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(1));
+
+ employees.put("1", pdxEmployee2);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(2));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canUpdateBecomeInsert() throws Exception {
+ employees.put("1", pdxEmployee1);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(1));
+
+ statement.execute("delete from " + REGION_TABLE_NAME + " where id = '1'");
+ validateTableRowCount(0);
+
+ employees.put("1", pdxEmployee2);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(2));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canInsertBecomeUpdate() throws Exception {
+ statement.execute("Insert into " + REGION_TABLE_NAME + " values('1', 'bogus', 11)");
+ validateTableRowCount(1);
+
+ employees.put("1", pdxEmployee1);
+
+ awaitUntil(() -> assertThat(jdbcWriter.getSuccessfulEvents()).isEqualTo(1));
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ private void awaitUntil(final Runnable supplier) {
+ Awaitility.await().atMost(30, TimeUnit.SECONDS).until(supplier);
+ }
+
+ private void assertRecordMatchesEmployee(ResultSet resultSet, String key, Employee employee)
+ throws SQLException {
+ assertThat(resultSet.next()).isTrue();
+ assertThat(resultSet.getString("id")).isEqualTo(key);
+ assertThat(resultSet.getString("name")).isEqualTo(employee.getName());
+ assertThat(resultSet.getObject("age")).isEqualTo(employee.getAge());
+ }
+
+ private Region<String, PdxInstance> createRegionWithJDBCAsyncWriter(String regionName) {
+ jdbcWriter = new JdbcAsyncWriter(createSqlHandler());
+ cache.createAsyncEventQueueFactory().setBatchSize(1).setBatchTimeInterval(1)
+ .create("jdbcAsyncQueue", jdbcWriter);
+
+ RegionFactory<String, PdxInstance> regionFactory = cache.createRegionFactory(REPLICATE);
+ regionFactory.addAsyncEventQueueId("jdbcAsyncQueue");
+ return regionFactory.create(regionName);
+ }
+
+ private void validateTableRowCount(int expected) throws Exception {
+ ResultSet resultSet = statement.executeQuery("select count(*) from " + REGION_TABLE_NAME);
+ resultSet.next();
+ int size = resultSet.getInt(1);
+ assertThat(size).isEqualTo(expected);
+ }
+
+ private SqlHandler createSqlHandler() {
+ return new SqlHandler(new TestableConnectionManager(TestConfigService.getTestConfigService()));
+ }
+
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterTest.java
new file mode 100644
index 0000000..ef285dd
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcAsyncWriterTest.java
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.asyncqueue.AsyncEvent;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalRegion;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcAsyncWriterTest {
+
+ private SqlHandler sqlHandler;
+ private JdbcAsyncWriter writer;
+
+ @Before
+ public void setup() {
+ sqlHandler = mock(SqlHandler.class);
+ writer = new JdbcAsyncWriter(sqlHandler);
+ }
+
+ @Test
+ public void throwsNullPointerExceptionIfGivenNullList() {
+ assertThatThrownBy(() -> writer.processEvents(null)).isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ public void doesNothingIfEventListIsEmpty() {
+ writer.processEvents(Collections.emptyList());
+
+ verifyZeroInteractions(sqlHandler);
+ assertThat(writer.getSuccessfulEvents()).isZero();
+ assertThat(writer.getTotalEvents()).isZero();
+ }
+
+ @Test
+ public void writesAProvidedEvent() {
+ writer.processEvents(Collections.singletonList(createMockEvent()));
+
+ verify(sqlHandler, times(1)).write(any(), any(), any(), any());
+ assertThat(writer.getSuccessfulEvents()).isEqualTo(1);
+ assertThat(writer.getTotalEvents()).isEqualTo(1);
+ }
+
+ @Test
+ public void writesMultipleProvidedEvents() {
+ List<AsyncEvent> events = new ArrayList<>();
+ events.add(createMockEvent());
+ events.add(createMockEvent());
+ events.add(createMockEvent());
+
+ writer.processEvents(events);
+
+ verify(sqlHandler, times(3)).write(any(), any(), any(), any());
+ assertThat(writer.getSuccessfulEvents()).isEqualTo(3);
+ assertThat(writer.getTotalEvents()).isEqualTo(3);
+ }
+
+ private AsyncEvent createMockEvent() {
+ AsyncEvent event = mock(AsyncEvent.class);
+ when(event.getRegion()).thenReturn(mock(InternalRegion.class));
+ return event;
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderIntegrationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderIntegrationTest.java
new file mode 100644
index 0000000..3905531
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderIntegrationTest.java
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.connectors.jdbc.internal.TestConfigService;
+import org.apache.geode.connectors.jdbc.internal.TestableConnectionManager;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class JdbcLoaderIntegrationTest {
+
+ private static final String DB_NAME = "DerbyDB";
+ private static final String REGION_TABLE_NAME = "employees";
+ private static final String CONNECTION_URL = "jdbc:derby:memory:" + DB_NAME + ";create=true";
+
+ private Cache cache;
+ private Connection connection;
+ private Statement statement;
+
+ @Before
+ public void setup() throws Exception {
+ cache = new CacheFactory().setPdxReadSerialized(false).create();
+ connection = DriverManager.getConnection(CONNECTION_URL);
+ statement = connection.createStatement();
+ statement.execute("Create Table " + REGION_TABLE_NAME
+ + " (id varchar(10) primary key not null, name varchar(10), age int)");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ cache.close();
+ closeDB();
+ }
+
+ private void closeDB() throws Exception {
+ if (statement == null) {
+ statement = connection.createStatement();
+ }
+ statement.execute("Drop table " + REGION_TABLE_NAME);
+ statement.close();
+
+ if (connection != null) {
+ connection.close();
+ }
+ }
+
+ @Test
+ public void verifySimpleGet() throws SQLException {
+ statement.execute("Insert into " + REGION_TABLE_NAME + " values('1', 'Emp1', 21)");
+ Region<String, PdxInstance> region = createRegionWithJDBCLoader(REGION_TABLE_NAME);
+ PdxInstance pdx = region.get("1");
+
+ assertThat(pdx.getField("name")).isEqualTo("Emp1");
+ assertThat(pdx.getField("age")).isEqualTo(21);
+ }
+
+ @Test
+ public void verifySimpleMiss() throws SQLException {
+ Region<String, PdxInstance> region = createRegionWithJDBCLoader(REGION_TABLE_NAME);
+ PdxInstance pdx = region.get("1");
+ assertThat(pdx).isNull();
+ }
+
+ private SqlHandler createSqlHandler() {
+ return new SqlHandler(new TestableConnectionManager(TestConfigService.getTestConfigService()));
+ }
+
+ private Region<String, PdxInstance> createRegionWithJDBCLoader(String regionName) {
+ JdbcLoader<String, PdxInstance> jdbcLoader = new JdbcLoader<>(createSqlHandler());
+ RegionFactory<String, PdxInstance> rf = cache.createRegionFactory(RegionShortcut.REPLICATE);
+ rf.setCacheLoader(jdbcLoader);
+ return rf.create(regionName);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderTest.java
new file mode 100644
index 0000000..8b08587
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcLoaderTest.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.LoaderHelper;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalRegion;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcLoaderTest {
+
+ @Test
+ public void loadReadsFromSqlHandler() {
+ SqlHandler sqlHandler = mock(SqlHandler.class);
+ JdbcLoader<Object, Object> loader = new JdbcLoader<>(sqlHandler);
+ LoaderHelper loaderHelper = mock(LoaderHelper.class);
+ when(loaderHelper.getRegion()).thenReturn(mock(InternalRegion.class));
+ loader.load(loaderHelper);
+ verify(sqlHandler, times(1)).read(any(), any());
+ }
+
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterIntegrationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterIntegrationTest.java
new file mode 100644
index 0000000..e26b3ee
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterIntegrationTest.java
@@ -0,0 +1,234 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static com.googlecode.catchexception.CatchException.catchException;
+import static com.googlecode.catchexception.CatchException.caughtException;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.connectors.jdbc.internal.TestConfigService;
+import org.apache.geode.connectors.jdbc.internal.TestableConnectionManager;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class JdbcWriterIntegrationTest {
+
+ private static final String DB_NAME = "DerbyDB";
+ private static final String REGION_TABLE_NAME = "employees";
+ private static final String CONNECTION_URL = "jdbc:derby:memory:" + DB_NAME + ";create=true";
+
+ private Cache cache;
+ private Region<String, PdxInstance> employees;
+ private Connection connection;
+ private Statement statement;
+ private JdbcWriter jdbcWriter;
+ private PdxInstance pdx1;
+ private PdxInstance pdx2;
+ private Employee employee1;
+ private Employee employee2;
+
+ @Before
+ public void setup() throws Exception {
+ cache = new CacheFactory().setPdxReadSerialized(false).create();
+ employees = createRegionWithJDBCSynchronousWriter(REGION_TABLE_NAME);
+ connection = DriverManager.getConnection(CONNECTION_URL);
+ statement = connection.createStatement();
+ statement.execute("Create Table " + REGION_TABLE_NAME
+ + " (id varchar(10) primary key not null, name varchar(10), age int)");
+ pdx1 = cache.createPdxInstanceFactory(Employee.class.getName()).writeString("name", "Emp1")
+ .writeInt("age", 55).create();
+ pdx2 = cache.createPdxInstanceFactory(Employee.class.getName()).writeString("name", "Emp2")
+ .writeInt("age", 21).create();
+ employee1 = (Employee) pdx1.getObject();
+ employee2 = (Employee) pdx2.getObject();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ cache.close();
+ closeDB();
+ }
+
+ private void closeDB() throws Exception {
+ if (statement == null) {
+ statement = connection.createStatement();
+ }
+ statement.execute("Drop table " + REGION_TABLE_NAME);
+ statement.close();
+
+ if (connection != null) {
+ connection.close();
+ }
+ }
+
+ @Test
+ public void canInsertIntoTable() throws Exception {
+ employees.put("1", pdx1);
+ employees.put("2", pdx2);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertRecordMatchesEmployee(resultSet, "2", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canPutAllInsertIntoTable() throws Exception {
+ Map<String, PdxInstance> putAllMap = new HashMap<>();
+ putAllMap.put("1", pdx1);
+ putAllMap.put("2", pdx2);
+ employees.putAll(putAllMap);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertRecordMatchesEmployee(resultSet, "2", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void verifyThatPdxFieldNamedSameAsPrimaryKeyIsIgnored() throws Exception {
+ PdxInstance pdxInstanceWithId = cache.createPdxInstanceFactory(Employee.class.getName())
+ .writeString("name", "Emp1").writeInt("age", 55).writeInt("id", 3).create();
+ employees.put("1", pdxInstanceWithId);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", (Employee) pdxInstanceWithId.getObject());
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void putNonPdxInstanceFails() {
+ Region nonPdxEmployees = this.employees;
+ catchException(nonPdxEmployees).put("1", "non pdx instance");
+ assertThat((Exception) caughtException()).isInstanceOf(IllegalArgumentException.class);
+ }
+
+ @Test
+ public void putNonPdxInstanceThatIsPdxSerializable() throws SQLException {
+ Region nonPdxEmployees = this.employees;
+ Employee value = new Employee("Emp2", 22);
+ nonPdxEmployees.put("2", value);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "2", value);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canDestroyFromTable() throws Exception {
+ employees.put("1", pdx1);
+ employees.put("2", pdx2);
+
+ employees.destroy("1");
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "2", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canUpdateTable() throws Exception {
+ employees.put("1", pdx1);
+ employees.put("1", pdx2);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canUpdateBecomeInsert() throws Exception {
+ employees.put("1", pdx1);
+
+ statement.execute("delete from " + REGION_TABLE_NAME + " where id = '1'");
+ validateTableRowCount(0);
+
+ employees.put("1", pdx2);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee2);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ @Test
+ public void canInsertBecomeUpdate() throws Exception {
+ statement.execute("Insert into " + REGION_TABLE_NAME + " values('1', 'bogus', 11)");
+ validateTableRowCount(1);
+
+ employees.put("1", pdx1);
+
+ ResultSet resultSet =
+ statement.executeQuery("select * from " + REGION_TABLE_NAME + " order by id asc");
+ assertRecordMatchesEmployee(resultSet, "1", employee1);
+ assertThat(resultSet.next()).isFalse();
+ }
+
+ private Region<String, PdxInstance> createRegionWithJDBCSynchronousWriter(String regionName) {
+ jdbcWriter = new JdbcWriter(createSqlHandler());
+ jdbcWriter.init(new Properties());
+
+ RegionFactory<String, PdxInstance> regionFactory =
+ cache.createRegionFactory(RegionShortcut.REPLICATE);
+ regionFactory.setCacheWriter(jdbcWriter);
+ return regionFactory.create(regionName);
+ }
+
+ private void validateTableRowCount(int expected) throws Exception {
+ ResultSet resultSet = statement.executeQuery("select count(*) from " + REGION_TABLE_NAME);
+ resultSet.next();
+ int size = resultSet.getInt(1);
+ assertThat(size).isEqualTo(expected);
+ }
+
+ private SqlHandler createSqlHandler() {
+ return new SqlHandler(new TestableConnectionManager(TestConfigService.getTestConfigService()));
+ }
+
+ private void assertRecordMatchesEmployee(ResultSet resultSet, String key, Employee employee)
+ throws SQLException {
+ assertThat(resultSet.next()).isTrue();
+ assertThat(resultSet.getString("id")).isEqualTo(key);
+ assertThat(resultSet.getString("name")).isEqualTo(employee.getName());
+ assertThat(resultSet.getObject("age")).isEqualTo(employee.getAge());
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterTest.java
new file mode 100644
index 0000000..1767c63
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/JdbcWriterTest.java
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc;
+
+import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.EntryEvent;
+import org.apache.geode.cache.RegionEvent;
+import org.apache.geode.cache.SerializedCacheValue;
+import org.apache.geode.connectors.jdbc.internal.SqlHandler;
+import org.apache.geode.internal.cache.InternalRegion;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcWriterTest {
+
+ private EntryEvent<Object, Object> entryEvent;
+ private PdxInstance pdxInstance;
+ private SqlHandler sqlHandler;
+
+ @Before
+ public void setUp() {
+ entryEvent = mock(EntryEvent.class);
+ pdxInstance = mock(PdxInstance.class);
+ SerializedCacheValue<Object> serializedNewValue = mock(SerializedCacheValue.class);
+ sqlHandler = mock(SqlHandler.class);
+
+ when(entryEvent.getRegion()).thenReturn(mock(InternalRegion.class));
+ when(entryEvent.getSerializedNewValue()).thenReturn(serializedNewValue);
+ when(serializedNewValue.getDeserializedValue()).thenReturn(pdxInstance);
+
+ }
+
+ @Test
+ public void beforeUpdateWithPdxInstanceWritesToSqlHandler() {
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHandler);
+
+ writer.beforeUpdate(entryEvent);
+
+ verify(sqlHandler, times(1)).write(any(), any(), any(), eq(pdxInstance));
+ }
+
+ @Test
+ public void beforeUpdateWithoutPdxInstanceWritesToSqlHandler() {
+ EntryEvent<Object, Object> entryEvent = mock(EntryEvent.class);
+ Object value = new Object();
+ SerializedCacheValue<Object> serializedNewValue = mock(SerializedCacheValue.class);
+ SqlHandler sqlHander = mock(SqlHandler.class);
+
+ when(entryEvent.getRegion()).thenReturn(mock(InternalRegion.class));
+ when(entryEvent.getSerializedNewValue()).thenReturn(serializedNewValue);
+ when(serializedNewValue.getDeserializedValue()).thenReturn(value);
+
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHander);
+
+ assertThatThrownBy(() -> writer.beforeUpdate(entryEvent))
+ .isInstanceOf(IllegalArgumentException.class);
+ }
+
+ @Test
+ public void beforeCreateWithPdxInstanceWritesToSqlHandler() {
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHandler);
+
+ writer.beforeCreate(entryEvent);
+
+ verify(sqlHandler, times(1)).write(any(), any(), any(), eq(pdxInstance));
+ }
+
+ @Test
+ public void beforeDestroyWithPdxInstanceWritesToSqlHandler() {
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHandler);
+
+ writer.beforeDestroy(entryEvent);
+
+ verify(sqlHandler, times(1)).write(any(), any(), any(), eq(pdxInstance));
+ }
+
+ @Test
+ public void beforeRegionDestroyDoesNotWriteToSqlHandler() {
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHandler);
+
+ writer.beforeRegionDestroy(mock(RegionEvent.class));
+
+ verifyZeroInteractions(sqlHandler);
+ }
+
+ @Test
+ public void beforeRegionClearDoesNotWriteToSqlHandler() {
+ JdbcWriter<Object, Object> writer = new JdbcWriter<>(sqlHandler);
+
+ writer.beforeRegionClear(mock(RegionEvent.class));
+
+ verifyZeroInteractions(sqlHandler);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallbackTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallbackTest.java
new file mode 100644
index 0000000..2199ebc
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/AbstractJdbcCallbackTest.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class AbstractJdbcCallbackTest {
+
+ private AbstractJdbcCallback jdbcCallback;
+ private SqlHandler sqlHandler;
+
+ @Before
+ public void setUp() throws Exception {
+ sqlHandler = mock(SqlHandler.class);
+ jdbcCallback = new AbstractJdbcCallback(sqlHandler) {};
+ }
+
+ @Test
+ public void closesSqlHandler() throws Exception {
+ jdbcCallback.close();
+ verify(sqlHandler, times(1)).close();
+ }
+
+ @Test
+ public void returnsCorrectSqlHander() throws Exception {
+ assertThat(jdbcCallback.getSqlHandler()).isSameAs(sqlHandler);
+ }
+
+ @Test
+ public void checkInitializedDoesNothingIfInitialized() {
+ jdbcCallback.checkInitialized(mock(InternalCache.class));
+ assertThat(jdbcCallback.getSqlHandler()).isSameAs(sqlHandler);
+ }
+
+ @Test
+ public void initializedSqlHandlerIfNoneExists() {
+ jdbcCallback = new AbstractJdbcCallback() {};
+ InternalCache cache = mock(InternalCache.class);
+ InternalJdbcConnectorService service = mock(InternalJdbcConnectorService.class);
+ when(cache.getService(any())).thenReturn(service);
+ assertThat(jdbcCallback.getSqlHandler()).isNull();
+
+ jdbcCallback.checkInitialized(cache);
+
+ assertThat(jdbcCallback.getSqlHandler()).isNotNull();
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ColumnValueTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ColumnValueTest.java
new file mode 100644
index 0000000..a7468fa
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ColumnValueTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class ColumnValueTest {
+ private static final String COLUMN_NAME = "columnName";
+ private static final Object VALUE = new Object();
+
+ private ColumnValue value;
+
+ @Before
+ public void setup() {
+ value = new ColumnValue(true, COLUMN_NAME, VALUE);
+ }
+
+ @Test
+ public void isKeyReturnsCorrectValue() {
+ assertThat(value.isKey()).isTrue();
+ }
+
+ @Test
+ public void hasCorrectColumnName() {
+ assertThat(value.getColumnName()).isEqualTo(COLUMN_NAME);
+ }
+
+ @Test
+ public void hasCorrectValue() {
+ assertThat(value.getValue()).isSameAs(VALUE);
+ }
+
+ @Test
+ public void toStringContainsAllVariables() {
+ assertThat(value.toString()).contains(Boolean.toString(true)).contains(COLUMN_NAME)
+ .contains(VALUE.toString());
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfigurationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfigurationTest.java
new file mode 100644
index 0000000..639e278
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionConfigurationTest.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class ConnectionConfigurationTest {
+
+ @Test
+ public void initiatedWithNullValues() {
+ ConnectionConfiguration config = new ConnectionConfiguration(null, null, null, null);
+ assertThat(config.getName()).isNull();
+ assertThat(config.getUrl()).isNull();
+ assertThat(config.getUser()).isNull();
+ assertThat(config.getPassword()).isNull();
+ }
+
+ @Test
+ public void hasCorrectName() {
+ String name = "name";
+ ConnectionConfiguration config = new ConnectionConfiguration(name, null, null, null);
+ assertThat(config.getName()).isEqualTo(name);
+ }
+
+ @Test
+ public void hasCorrectUrl() {
+ String url = "url";
+ ConnectionConfiguration config = new ConnectionConfiguration(null, url, null, null);
+ assertThat(config.getUrl()).isEqualTo(url);
+ }
+
+ @Test
+ public void hasCorrectUser() {
+ String user = "user";
+ ConnectionConfiguration config = new ConnectionConfiguration(null, null, user, null);
+ assertThat(config.getUser()).isEqualTo(user);
+ }
+
+ @Test
+ public void hasCorrectPassword() {
+ String password = "password";
+ ConnectionConfiguration config = new ConnectionConfiguration(null, null, null, password);
+ assertThat(config.getPassword()).isEqualTo(password);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionManagerUnitTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionManagerUnitTest.java
new file mode 100644
index 0000000..8358d1c
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/ConnectionManagerUnitTest.java
@@ -0,0 +1,252 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
+
+import org.apache.geode.cache.Operation;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class ConnectionManagerUnitTest {
+ private static final String REGION_NAME = "testRegion";
+ private static final String TABLE_NAME = "testTable";
+ private static final String CONFIG_NAME = "configName";
+ private static final String KEY_COLUMN = "keyColumn";
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ private JdbcConnectorService configService;
+ private ConnectionManager manager;
+ private Connection connection;
+ private ConnectionConfiguration connectionConfig;
+ private RegionMapping mapping;
+ private Object key = new Object();
+ private PdxInstance value = mock(PdxInstance.class);
+
+
+ @Before
+ public void setup() throws Exception {
+ configService = mock(JdbcConnectorService.class);
+ manager = spy(new ConnectionManager(configService));
+ connection = mock(Connection.class);
+
+ connectionConfig = getTestConnectionConfig("name", "url", null, null);
+ doReturn(connection).when(manager).getSQLConnection(connectionConfig);
+
+ mapping = mock(RegionMapping.class);
+ when(mapping.getTableName()).thenReturn(TABLE_NAME);
+ }
+
+ @Test
+ public void getsCorrectMapping() {
+ manager.getMappingForRegion(REGION_NAME);
+ verify(configService).getMappingForRegion(REGION_NAME);
+ }
+
+ @Test
+ public void getsCorrectConnectionConfig() {
+ manager.getConnectionConfig(CONFIG_NAME);
+ verify(configService).getConnectionConfig(CONFIG_NAME);
+ }
+
+ @Test
+ public void retrievesANewConnection() throws Exception {
+ Connection returnedConnection = manager.getConnection(connectionConfig);
+ assertThat(returnedConnection).isNotNull().isSameAs(connection);
+ }
+
+ @Test
+ public void retrievesSameConnectionForSameConnectionConfig() throws Exception {
+ Connection returnedConnection = manager.getConnection(connectionConfig);
+ Connection secondReturnedConnection = manager.getConnection(connectionConfig);
+ assertThat(returnedConnection).isNotNull().isSameAs(connection);
+ assertThat(secondReturnedConnection).isNotNull().isSameAs(connection);
+ }
+
+ @Test
+ public void retrievesDifferentConnectionForEachConfig() throws Exception {
+ Connection secondConnection = mock(Connection.class);
+ ConnectionConfiguration secondConnectionConfig =
+ getTestConnectionConfig("newName", "url", null, null);
+ doReturn(secondConnection).when(manager).getSQLConnection(secondConnectionConfig);
+
+ Connection returnedConnection = manager.getConnection(connectionConfig);
+ Connection secondReturnedConnection = manager.getConnection(secondConnectionConfig);
+ assertThat(returnedConnection).isNotNull().isSameAs(connection);
+ assertThat(secondReturnedConnection).isNotNull().isSameAs(secondConnection);
+ assertThat(returnedConnection).isNotSameAs(secondReturnedConnection);
+ }
+
+ @Test
+ public void retrievesANewConnectionIfCachedOneIsClosed() throws Exception {
+ manager.getConnection(connectionConfig);
+ when(connection.isClosed()).thenReturn(true);
+
+ Connection secondConnection = mock(Connection.class);
+ doReturn(secondConnection).when(manager).getSQLConnection(connectionConfig);
+ Connection secondReturnedConnection = manager.getConnection(connectionConfig);
+ assertThat(secondReturnedConnection).isSameAs(secondConnection);
+ }
+
+ @Test
+ public void closesAllConnections() throws Exception {
+ Connection secondConnection = mock(Connection.class);
+ ConnectionConfiguration secondConnectionConfig =
+ getTestConnectionConfig("newName", "url", null, null);
+
+ doReturn(secondConnection).when(manager).getSQLConnection(secondConnectionConfig);
+ manager.getConnection(connectionConfig);
+ manager.getConnection(secondConnectionConfig);
+
+ manager.close();
+ verify(connection).close();
+ verify(secondConnection).close();
+ }
+
+ @Test
+ public void returnsCorrectColumnForDestroy() throws Exception {
+ ResultSet primaryKeys = getPrimaryKeysMetadData();
+ when(primaryKeys.next()).thenReturn(true).thenReturn(false);
+
+ List<ColumnValue> columnValueList =
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.DESTROY);
+ assertThat(columnValueList).hasSize(1);
+ assertThat(columnValueList.get(0).getColumnName()).isEqualTo(KEY_COLUMN);
+ }
+
+ @Test
+ public void returnsCorrectColumnForGet() throws Exception {
+ ResultSet primaryKeys = getPrimaryKeysMetadData();
+ when(primaryKeys.next()).thenReturn(true).thenReturn(false);
+
+ List<ColumnValue> columnValueList =
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ assertThat(columnValueList).hasSize(1);
+ assertThat(columnValueList.get(0).getColumnName()).isEqualTo(KEY_COLUMN);
+ }
+
+ @Test
+ public void throwsExceptionIfTableHasCompositePrimaryKey() throws Exception {
+ ResultSet primaryKeys = getPrimaryKeysMetadData();
+ when(primaryKeys.next()).thenReturn(true);
+
+ thrown.expect(IllegalStateException.class);
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ }
+
+ @Test
+ public void throwsExceptionWhenTwoTablesHasCaseInsensitiveSameName() throws Exception {
+ DatabaseMetaData metadata = mock(DatabaseMetaData.class);
+ when(connection.getMetaData()).thenReturn(metadata);
+ ResultSet resultSet = mock(ResultSet.class);
+ when(resultSet.next()).thenReturn(true).thenReturn(true).thenReturn(false);
+ when(resultSet.getString("TABLE_NAME")).thenReturn(TABLE_NAME);
+ when(resultSet.getString("TABLE_NAME")).thenReturn(TABLE_NAME.toUpperCase());
+ when(metadata.getTables(any(), any(), any(), any())).thenReturn(resultSet);
+
+ thrown.expect(IllegalStateException.class);
+ thrown.expectMessage("Duplicate tables that match region name");
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ }
+
+ @Test
+ public void throwsExceptionWhenDesiredTableNotFound() throws Exception {
+ DatabaseMetaData metadata = mock(DatabaseMetaData.class);
+ when(connection.getMetaData()).thenReturn(metadata);
+ ResultSet resultSet = mock(ResultSet.class);
+ when(resultSet.next()).thenReturn(true).thenReturn(false);
+ when(resultSet.getString("TABLE_NAME")).thenReturn("otherTable");
+ when(metadata.getTables(any(), any(), any(), any())).thenReturn(resultSet);
+
+ thrown.expect(IllegalStateException.class);
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ }
+
+ @Test
+ public void throwsExceptionWhenNoPrimaryKeyInTable() throws Exception {
+ ResultSet primaryKeys = getPrimaryKeysMetadData();
+ when(primaryKeys.next()).thenReturn(false);
+
+ thrown.expect(IllegalStateException.class);
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ }
+
+ @Test
+ public void throwsExceptionWhenFailsToGetTableMetadata() throws Exception {
+ when(connection.getMetaData()).thenThrow(SQLException.class);
+
+ thrown.expect(IllegalStateException.class);
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.GET);
+ }
+
+ @Test
+ public void returnsCorrectColumnsForUpsertOperations() throws Exception {
+ ResultSet primaryKeys = getPrimaryKeysMetadData();
+ when(primaryKeys.next()).thenReturn(true).thenReturn(false);
+
+ String nonKeyColumn = "otherColumn";
+ when(mapping.getColumnNameForField(KEY_COLUMN)).thenReturn(KEY_COLUMN);
+ when(mapping.getColumnNameForField(nonKeyColumn)).thenReturn(nonKeyColumn);
+ when(value.getFieldNames()).thenReturn(Arrays.asList(KEY_COLUMN, nonKeyColumn));
+
+ List<ColumnValue> columnValueList =
+ manager.getColumnToValueList(connectionConfig, mapping, key, value, Operation.UPDATE);
+ assertThat(columnValueList).hasSize(2);
+ assertThat(columnValueList.get(0).getColumnName()).isEqualTo(nonKeyColumn);
+ assertThat(columnValueList.get(1).getColumnName()).isEqualTo(KEY_COLUMN);
+ }
+
+ private ConnectionConfiguration getTestConnectionConfig(String name, String url, String user,
+ String password) {
+ ConnectionConfiguration config = new ConnectionConfiguration(name, url, user, password);
+ return config;
+ }
+
+ private ResultSet getPrimaryKeysMetadData() throws SQLException {
+ DatabaseMetaData metadata = mock(DatabaseMetaData.class);
+ when(connection.getMetaData()).thenReturn(metadata);
+ ResultSet resultSet = mock(ResultSet.class);
+ when(resultSet.next()).thenReturn(true).thenReturn(false);
+ when(resultSet.getString("TABLE_NAME")).thenReturn(TABLE_NAME);
+ when(metadata.getTables(any(), any(), any(), any())).thenReturn(resultSet);
+ ResultSet primaryKeys = mock(ResultSet.class);
+ when(metadata.getPrimaryKeys(any(), any(), anyString())).thenReturn(primaryKeys);
+ when(primaryKeys.getString("COLUMN_NAME")).thenReturn(KEY_COLUMN);
+ return primaryKeys;
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorServiceTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorServiceTest.java
new file mode 100644
index 0000000..d91e4df
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/JdbcConnectorServiceTest.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.extension.ExtensionPoint;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcConnectorServiceTest {
+ private static final String TEST_CONFIG_NAME = "testConfig";
+ private static final String TEST_REGION_NAME = "testRegion";
+
+ private JdbcConnectorService service = new JdbcConnectorService();
+
+ @Before
+ public void setup() {
+ InternalCache cache = mock(InternalCache.class);
+ when(cache.getExtensionPoint()).thenReturn(mock(ExtensionPoint.class));
+ service.init(cache);
+ }
+
+ @Test
+ public void returnsNoConfigIfEmpty() {
+ assertThat(service.getConnectionConfig("foo")).isNull();
+ }
+
+ @Test
+ public void returnsNoMappingIfEmpty() {
+ assertThat(service.getMappingForRegion("foo")).isNull();
+ }
+
+ @Test
+ public void returnsCorrectConfig() {
+ ConnectionConfiguration config = mock(ConnectionConfiguration.class);
+ when(config.getName()).thenReturn(TEST_CONFIG_NAME);
+ service.addOrUpdateConnectionConfig(config);
+
+ assertThat(service.getConnectionConfig(TEST_CONFIG_NAME)).isSameAs(config);
+ }
+
+ @Test
+ public void doesNotReturnConfigWithDifferentName() {
+ ConnectionConfiguration config = mock(ConnectionConfiguration.class);
+ when(config.getName()).thenReturn("theOtherConfig");
+ service.addOrUpdateConnectionConfig(config);
+
+ assertThat(service.getConnectionConfig(TEST_CONFIG_NAME)).isNull();
+ }
+
+ @Test
+ public void returnsCorrectMapping() {
+ RegionMapping mapping = mock(RegionMapping.class);
+ when(mapping.getRegionName()).thenReturn(TEST_REGION_NAME);
+ service.addOrUpdateRegionMapping(mapping);
+
+ assertThat(service.getMappingForRegion(TEST_REGION_NAME)).isSameAs(mapping);
+ }
+
+ @Test
+ public void doesNotReturnMappingForDifferentRegion() {
+ RegionMapping mapping = mock(RegionMapping.class);
+ when(mapping.getRegionName()).thenReturn("theOtherMapping");
+ service.addOrUpdateRegionMapping(mapping);
+
+ assertThat(service.getMappingForRegion(TEST_REGION_NAME)).isNull();
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCacheTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCacheTest.java
new file mode 100644
index 0000000..ed78310
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/PreparedStatementCacheTest.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
+
+import org.apache.geode.cache.Operation;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class PreparedStatementCacheTest {
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ private PreparedStatementCache cache;
+ private Connection connection;
+ private List<ColumnValue> values = new ArrayList<>();
+
+ @Before
+ public void setup() throws SQLException {
+ cache = new PreparedStatementCache();
+ connection = mock(Connection.class);
+ when(connection.prepareStatement(any())).thenReturn(mock(PreparedStatement.class));
+ values.add(mock(ColumnValue.class));
+ }
+
+ @Test
+ public void returnsSameStatementForIdenticalInputs() throws Exception {
+ cache.getPreparedStatement(connection, values, "table1", Operation.UPDATE, 1);
+ cache.getPreparedStatement(connection, values, "table1", Operation.UPDATE, 1);
+ verify(connection, times(1)).prepareStatement(any());
+ }
+
+ @Test
+ public void returnsDifferentStatementForNonIdenticalInputs() throws Exception {
+ cache.getPreparedStatement(connection, values, "table1", Operation.UPDATE, 1);
+ cache.getPreparedStatement(connection, values, "table2", Operation.UPDATE, 1);
+ verify(connection, times(2)).prepareStatement(any());
+ }
+
+ @Test()
+ public void throwsExceptionIfPreparingStatementFails() throws Exception {
+ when(connection.prepareStatement(any())).thenThrow(SQLException.class);
+ thrown.expect(IllegalStateException.class);
+ cache.getPreparedStatement(connection, values, "table1", Operation.UPDATE, 1);
+ }
+
+ @Test
+ public void throwsExceptionIfInvalidOperationGiven() throws Exception {
+ thrown.expect(IllegalArgumentException.class);
+ cache.getPreparedStatement(connection, values, "table1", Operation.REGION_CLOSE, 1);
+
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java
new file mode 100644
index 0000000..1c7201c
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class RegionMappingTest {
+
+ @Test
+ public void initiatedWithNullValues() {
+ RegionMapping mapping = new RegionMapping(null, null, null, null, false, null);
+ assertThat(mapping.getTableName()).isNull();
+ assertThat(mapping.getRegionName()).isNull();
+ assertThat(mapping.getConnectionConfigName()).isNull();
+ assertThat(mapping.getPdxClassName()).isNull();
+ }
+
+ @Test
+ public void hasCorrectTableName() {
+ String name = "name";
+ RegionMapping mapping = new RegionMapping(null, null, name, null, false, null);
+ assertThat(mapping.getTableName()).isEqualTo(name);
+ }
+
+ @Test
+ public void hasCorrectRegionName() {
+ String name = "name";
+ RegionMapping mapping = new RegionMapping(name, null, null, null, false, null);
+ assertThat(mapping.getRegionName()).isEqualTo(name);
+ }
+
+ @Test
+ public void hasCorrectConfigName() {
+ String name = "name";
+ RegionMapping mapping = new RegionMapping(null, null, null, name, false, null);
+ assertThat(mapping.getConnectionConfigName()).isEqualTo(name);
+ }
+
+ @Test
+ public void hasCorrectPdxClassName() {
+ String name = "name";
+ RegionMapping mapping = new RegionMapping(null, name, null, null, false, null);
+ assertThat(mapping.getPdxClassName()).isEqualTo(name);
+ }
+
+ @Test
+ public void primaryKeyInValueSetCorrectly() {
+ RegionMapping mapping = new RegionMapping(null, null, null, null, true, null);
+ assertThat(mapping.isPrimaryKeyInValue()).isTrue();
+ }
+
+ @Test
+ public void returnsFieldNameIfColumnNotMapped() {
+ String fieldName = "myField";
+ Map<String, String> fieldMap = new HashMap<>();
+ fieldMap.put("otherField", "column");
+ RegionMapping mapping = new RegionMapping(null, null, null, null, true, fieldMap);
+ assertThat(mapping.getColumnNameForField(fieldName)).isEqualTo(fieldName);
+ }
+
+ @Test
+ public void returnsMappedColumnNameForField() {
+ String fieldName = "myField";
+ String columnName = "myColumn";
+ Map<String, String> fieldMap = new HashMap<>();
+ fieldMap.put(fieldName, columnName);
+ RegionMapping mapping = new RegionMapping(null, null, null, null, true, fieldMap);
+ assertThat(mapping.getColumnNameForField(fieldName)).isEqualTo(columnName);
+ }
+
+ @Test
+ public void returnsAllMappings() {
+ String fieldName1 = "myField1";
+ String columnName1 = "myColumn1";
+ String fieldName2 = "myField2";
+ String columnName2 = "myColumn2";
+ Map<String, String> fieldMap = new HashMap<>();
+ fieldMap.put(fieldName1, columnName1);
+ fieldMap.put(fieldName2, columnName2);
+ RegionMapping mapping = new RegionMapping(null, null, null, null, true, fieldMap);
+
+ assertThat(mapping.getFieldToColumnMap().size()).isEqualTo(2);
+ assertThat(mapping.getFieldToColumnMap()).containsOnlyKeys(fieldName1, fieldName2);
+ assertThat(mapping.getFieldToColumnMap()).containsEntry(fieldName1, columnName1)
+ .containsEntry(fieldName2, columnName2);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlHandlerTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlHandlerTest.java
new file mode 100644
index 0000000..7cd623b
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlHandlerTest.java
@@ -0,0 +1,365 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
+
+import org.apache.geode.cache.Operation;
+import org.apache.geode.cache.Region;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.pdx.PdxInstanceFactory;
+import org.apache.geode.pdx.internal.PdxInstanceImpl;
+import org.apache.geode.pdx.internal.PdxType;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class SqlHandlerTest {
+ private static final String REGION_NAME = "testRegion";
+ private static final String TABLE_NAME = "testTable";
+ private static final Object COLUMN_VALUE_1 = new Object();
+ private static final String COLUMN_NAME_1 = "columnName1";
+ private static final Object COLUMN_VALUE_2 = new Object();
+ private static final String COLUMN_NAME_2 = "columnName2";
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ private ConnectionManager manager;
+ private Region region;
+ private InternalCache cache;
+ private SqlHandler handler;
+ private PreparedStatement statement;
+ private RegionMapping regionMapping;
+ private PdxInstanceImpl value;
+
+ @Before
+ public void setup() throws Exception {
+ manager = mock(ConnectionManager.class);
+ region = mock(Region.class);
+ cache = mock(InternalCache.class);
+ when(region.getRegionService()).thenReturn(cache);
+ handler = new SqlHandler(manager);
+ value = mock(PdxInstanceImpl.class);
+ when(value.getPdxType()).thenReturn(mock(PdxType.class));
+ setupManagerMock();
+ }
+
+ @Test
+ public void readReturnsNullIfNoKeyProvided() {
+ thrown.expect(IllegalArgumentException.class);
+ handler.read(region, null);
+ }
+
+ @Test
+ public void usesPdxFactoryForClassWhenExists() throws Exception {
+ setupEmptyResultSet();
+ String pdxClassName = "classname";
+ when(regionMapping.getPdxClassName()).thenReturn(pdxClassName);
+ handler.read(region, new Object());
+
+ verify(cache).createPdxInstanceFactory(pdxClassName);
+ verifyNoMoreInteractions(cache);
+ }
+
+ @Test
+ public void readClearsPreparedStatementWhenFinished() throws Exception {
+ setupEmptyResultSet();
+ handler.read(region, new Object());
+ verify(statement).clearParameters();
+ }
+
+ @Test
+ public void usesPbxFactoryForNoPbxClassWhenClassNonExistent() throws Exception {
+ setupEmptyResultSet();
+ handler.read(region, new Object());
+
+ verify(cache).createPdxInstanceFactory("no class", false);
+ verifyNoMoreInteractions(cache);
+ }
+
+ @Test
+ public void readReturnsNullIfNoResultsReturned() throws Exception {
+ setupEmptyResultSet();
+ assertThat(handler.read(region, new Object())).isNull();
+ }
+
+ @Test
+ public void throwsExceptionIfQueryFails() throws Exception {
+ when(statement.executeQuery()).thenThrow(SQLException.class);
+
+ thrown.expect(IllegalStateException.class);
+ handler.read(region, new Object());
+ }
+
+ @Test
+ public void readReturnsDataFromAllResultColumns() throws Exception {
+ ResultSet result = mock(ResultSet.class);
+ setupResultSet(result);
+ when(result.next()).thenReturn(true).thenReturn(false);
+ when(statement.executeQuery()).thenReturn(result);
+
+ when(manager.getKeyColumnName(any(), anyString())).thenReturn("key");
+ PdxInstanceFactory factory = mock(PdxInstanceFactory.class);
+ when(cache.createPdxInstanceFactory(anyString(), anyBoolean())).thenReturn(factory);
+
+ String filedName1 = COLUMN_NAME_1.toLowerCase();
+ String filedName2 = COLUMN_NAME_2.toLowerCase();
+ handler.read(region, new Object());
+ verify(factory).writeField(filedName1, COLUMN_VALUE_1, Object.class);
+ verify(factory).writeField(filedName2, COLUMN_VALUE_2, Object.class);
+ verify(factory).create();
+ }
+
+ @Test
+ public void readResultOmitsKeyColumnIfNotInValue() throws Exception {
+ ResultSet result = mock(ResultSet.class);
+ setupResultSet(result);
+ when(result.next()).thenReturn(true).thenReturn(false);
+ when(statement.executeQuery()).thenReturn(result);
+
+ when(manager.getKeyColumnName(any(), anyString())).thenReturn(COLUMN_NAME_1);
+ PdxInstanceFactory factory = mock(PdxInstanceFactory.class);
+ when(cache.createPdxInstanceFactory(anyString(), anyBoolean())).thenReturn(factory);
+
+ String filedName2 = COLUMN_NAME_2.toLowerCase();
+ handler.read(region, new Object());
+ verify(factory).writeField(filedName2, COLUMN_VALUE_2, Object.class);
+ verify(factory, times(1)).writeField(any(), any(), any());
+ verify(factory).create();
+ }
+
+ @Test
+ public void throwsExceptionIfMoreThatOneResultReturned() throws Exception {
+ ResultSet result = mock(ResultSet.class);
+ setupResultSet(result);
+ when(result.next()).thenReturn(true);
+ when(result.getStatement()).thenReturn(mock(PreparedStatement.class));
+ when(statement.executeQuery()).thenReturn(result);
+
+ when(manager.getKeyColumnName(any(), anyString())).thenReturn("key");
+ when(cache.createPdxInstanceFactory(anyString(), anyBoolean()))
+ .thenReturn(mock(PdxInstanceFactory.class));
+
+ thrown.expect(IllegalStateException.class);
+ handler.read(region, new Object());
+ }
+
+ @Test
+ public void writeThrowsExceptionIfValueIsNullAndNotDoingDestroy() {
+ thrown.expect(IllegalArgumentException.class);
+ handler.write(region, Operation.UPDATE, new Object(), null);
+ }
+
+ @Test
+ public void insertActionSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenReturn(1);
+ handler.write(region, Operation.CREATE, new Object(), value);
+ verify(statement).setObject(1, COLUMN_VALUE_1);
+ verify(statement).setObject(2, COLUMN_VALUE_2);
+ }
+
+ @Test
+ public void updateActionSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenReturn(1);
+ handler.write(region, Operation.UPDATE, new Object(), value);
+ verify(statement).setObject(1, COLUMN_VALUE_1);
+ verify(statement).setObject(2, COLUMN_VALUE_2);
+ }
+
+ @Test
+ public void destroyActionSucceeds() throws Exception {
+ List<ColumnValue> columnList = new ArrayList<>();
+ columnList.add(new ColumnValue(true, COLUMN_NAME_1, COLUMN_VALUE_1));
+ when(manager.getColumnToValueList(any(), any(), any(), any(), any())).thenReturn(columnList);
+ when(statement.executeUpdate()).thenReturn(1);
+ handler.write(region, Operation.DESTROY, new Object(), value);
+ verify(statement).setObject(1, COLUMN_VALUE_1);
+ verify(statement, times(1)).setObject(anyInt(), any());
+ }
+
+ @Test
+ public void destroyActionThatRemovesNoRowCompletesUnexceptionally() throws Exception {
+ List<ColumnValue> columnList = new ArrayList<>();
+ columnList.add(new ColumnValue(true, COLUMN_NAME_1, COLUMN_VALUE_1));
+ when(manager.getColumnToValueList(any(), any(), any(), any(), any())).thenReturn(columnList);
+ when(statement.executeUpdate()).thenReturn(0);
+ handler.write(region, Operation.DESTROY, new Object(), value);
+ verify(statement).setObject(1, COLUMN_VALUE_1);
+ verify(statement, times(1)).setObject(anyInt(), any());
+ }
+
+ @Test
+ public void destroyThrowExceptionWhenFail() throws Exception {
+ List<ColumnValue> columnList = new ArrayList<>();
+ columnList.add(new ColumnValue(true, COLUMN_NAME_1, COLUMN_VALUE_1));
+ when(manager.getColumnToValueList(any(), any(), any(), any(), any())).thenReturn(columnList);
+ when(statement.executeUpdate()).thenThrow(SQLException.class);
+
+ thrown.expect(IllegalStateException.class);
+ handler.write(region, Operation.DESTROY, new Object(), value);
+ }
+
+ @Test
+ public void preparedStatementClearedAfterExecution() throws Exception {
+ when(statement.executeUpdate()).thenReturn(1);
+ handler.write(region, Operation.CREATE, new Object(), value);
+ verify(statement).clearParameters();
+ }
+
+ @Test
+ public void whenInsertFailsUpdateSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenReturn(0);
+
+ PreparedStatement updateStatement = mock(PreparedStatement.class);
+ when(updateStatement.executeUpdate()).thenReturn(1);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement)
+ .thenReturn(updateStatement);
+
+ handler.write(region, Operation.CREATE, new Object(), value);
+ verify(statement).executeUpdate();
+ verify(updateStatement).executeUpdate();
+ verify(statement).clearParameters();
+ verify(updateStatement).clearParameters();
+ }
+
+ @Test
+ public void whenUpdateFailsInsertSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenReturn(0);
+
+ PreparedStatement insertStatement = mock(PreparedStatement.class);
+ when(insertStatement.executeUpdate()).thenReturn(1);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement)
+ .thenReturn(insertStatement);
+
+ handler.write(region, Operation.UPDATE, new Object(), value);
+ verify(statement).executeUpdate();
+ verify(insertStatement).executeUpdate();
+ verify(statement).clearParameters();
+ verify(insertStatement).clearParameters();
+ }
+
+ @Test
+ public void whenInsertFailsWithExceptionUpdateSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenThrow(SQLException.class);
+
+ PreparedStatement updateStatement = mock(PreparedStatement.class);
+ when(updateStatement.executeUpdate()).thenReturn(1);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement)
+ .thenReturn(updateStatement);
+
+ handler.write(region, Operation.CREATE, new Object(), value);
+ verify(statement).executeUpdate();
+ verify(updateStatement).executeUpdate();
+ verify(statement).clearParameters();
+ verify(updateStatement).clearParameters();
+ }
+
+ @Test
+ public void whenUpdateFailsWithExceptionInsertSucceeds() throws Exception {
+ when(statement.executeUpdate()).thenThrow(SQLException.class);
+
+ PreparedStatement insertStatement = mock(PreparedStatement.class);
+ when(insertStatement.executeUpdate()).thenReturn(1);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement)
+ .thenReturn(insertStatement);
+
+ handler.write(region, Operation.UPDATE, new Object(), value);
+ verify(statement).executeUpdate();
+ verify(insertStatement).executeUpdate();
+ verify(statement).clearParameters();
+ verify(insertStatement).clearParameters();
+ }
+
+ @Test
+ public void whenBothInsertAndUpdateFailExceptionIsThrown() throws Exception {
+ when(statement.executeUpdate()).thenThrow(SQLException.class);
+
+ PreparedStatement insertStatement = mock(PreparedStatement.class);
+ when(insertStatement.executeUpdate()).thenThrow(SQLException.class);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement)
+ .thenReturn(insertStatement);
+
+ thrown.expect(IllegalStateException.class);
+ handler.write(region, Operation.UPDATE, new Object(), value);
+ verify(statement).clearParameters();
+ verify(insertStatement).clearParameters();
+ }
+
+ @Test
+ public void whenStatementUpdatesMultipleRowsExceptionThrown() throws Exception {
+ when(statement.executeUpdate()).thenReturn(2);
+ thrown.expect(IllegalStateException.class);
+ handler.write(region, Operation.CREATE, new Object(), value);
+ verify(statement).clearParameters();
+ }
+
+ private void setupManagerMock() throws SQLException {
+ ConnectionConfiguration connectionConfig = mock(ConnectionConfiguration.class);
+ when(manager.getConnectionConfig(any())).thenReturn(connectionConfig);
+
+ regionMapping = mock(RegionMapping.class);
+ when(regionMapping.getRegionName()).thenReturn(REGION_NAME);
+ when(regionMapping.getTableName()).thenReturn(TABLE_NAME);
+ when(manager.getMappingForRegion(any())).thenReturn(regionMapping);
+
+ List<ColumnValue> columnList = new ArrayList<>();
+ columnList.add(new ColumnValue(true, COLUMN_NAME_1, COLUMN_VALUE_1));
+ columnList.add(new ColumnValue(true, COLUMN_NAME_2, COLUMN_VALUE_2));
+ when(manager.getColumnToValueList(any(), any(), any(), any(), any())).thenReturn(columnList);
+
+ statement = mock(PreparedStatement.class);
+ when(manager.getPreparedStatement(any(), any(), any(), any(), anyInt())).thenReturn(statement);
+ }
+
+ private void setupResultSet(ResultSet result) throws SQLException {
+ ResultSetMetaData metaData = mock(ResultSetMetaData.class);
+ when(result.getMetaData()).thenReturn(metaData);
+ when(metaData.getColumnCount()).thenReturn(2);
+
+ when(result.getObject(1)).thenReturn(COLUMN_VALUE_1);
+ when(metaData.getColumnName(1)).thenReturn(COLUMN_NAME_1);
+
+ when(result.getObject(2)).thenReturn(COLUMN_VALUE_2);
+ when(metaData.getColumnName(2)).thenReturn(COLUMN_NAME_2);
+ }
+
+ private void setupEmptyResultSet() throws SQLException {
+ ResultSet result = mock(ResultSet.class);
+ when(result.next()).thenReturn(false);
+ when(statement.executeQuery()).thenReturn(result);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java
new file mode 100644
index 0000000..abfaf66
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/SqlStatementFactoryTest.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class SqlStatementFactoryTest {
+ private static final String TABLE_NAME = "testTable";
+ private static final String KEY_COLUMN_NAME = "column1";
+
+ private List<ColumnValue> columnValues = new ArrayList<>();
+ private SqlStatementFactory factory = new SqlStatementFactory();
+
+ @Before
+ public void setup() {
+ columnValues.add(new ColumnValue(false, "column0", null));
+ columnValues.add(new ColumnValue(true, KEY_COLUMN_NAME, null));
+ columnValues.add(new ColumnValue(false, "column2", null));
+ }
+
+ @Test
+ public void getSelectQueryString() throws Exception {
+ List<ColumnValue> keyColumn = new ArrayList<>();
+ keyColumn.add(new ColumnValue(true, KEY_COLUMN_NAME, null));
+ String statement = factory.createSelectQueryString(TABLE_NAME, keyColumn);
+ String expectedStatement =
+ String.format("SELECT * FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getDestroySqlString() throws Exception {
+ List<ColumnValue> keyColumn = new ArrayList<>();
+ keyColumn.add(new ColumnValue(true, KEY_COLUMN_NAME, null));
+ String statement = factory.createDestroySqlString(TABLE_NAME, keyColumn);
+ String expectedStatement =
+ String.format("DELETE FROM %s WHERE %s = ?", TABLE_NAME, KEY_COLUMN_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getUpdateSqlString() throws Exception {
+ String statement = factory.createUpdateSqlString(TABLE_NAME, columnValues);
+ String expectedStatement = String.format("UPDATE %s SET %s = ?, %s = ? WHERE %s = ?",
+ TABLE_NAME, columnValues.get(0).getColumnName(), columnValues.get(2).getColumnName(),
+ KEY_COLUMN_NAME);
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+ @Test
+ public void getInsertSqlString() throws Exception {
+ String statement = factory.createInsertSqlString(TABLE_NAME, columnValues);
+ String expectedStatement = String.format("INSERT INTO %s (%s, %s, %s) VALUES (?,?,?)",
+ TABLE_NAME, columnValues.get(0).getColumnName(), columnValues.get(1).getColumnName(),
+ columnValues.get(2).getColumnName());
+ assertThat(statement).isEqualTo(expectedStatement);
+ }
+
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java
new file mode 100644
index 0000000..b387d72
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.extension.ExtensionPoint;
+
+/**
+ * Generates fake JdbcConnectorService with Connections and RegionMappings for tests.
+ */
+public class TestConfigService {
+ private static final String DB_NAME = "DerbyDB";
+ private static final String REGION_TABLE_NAME = "employees";
+ private static final String REGION_NAME = "employees";
+ private static final String CONNECTION_URL = "jdbc:derby:memory:" + DB_NAME + ";create=true";
+ private static final String CONNECTION_CONFIG_NAME = "testConnectionConfig";
+
+ public static JdbcConnectorService getTestConfigService() {
+ InternalCache cache = mock(InternalCache.class);
+ when(cache.getExtensionPoint()).thenReturn(mock(ExtensionPoint.class));
+
+ JdbcConnectorService service = new JdbcConnectorService();
+ service.init(cache);
+ service.addOrUpdateConnectionConfig(createConnectionConfig());
+ service.addOrUpdateRegionMapping(createRegionMapping());
+ return service;
+ }
+
+ private static RegionMapping createRegionMapping() {
+ return new RegionMapping(REGION_NAME, null, REGION_TABLE_NAME, CONNECTION_CONFIG_NAME, false,
+ Collections.emptyMap());
+ }
+
+ private static ConnectionConfiguration createConnectionConfig() {
+ return new ConnectionConfiguration(CONNECTION_CONFIG_NAME, CONNECTION_URL, null, null);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestableConnectionManager.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestableConnectionManager.java
new file mode 100644
index 0000000..01f73f8
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/TestableConnectionManager.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal;
+
+public class TestableConnectionManager extends ConnectionManager {
+
+ public TestableConnectionManager(InternalJdbcConnectorService configService) {
+ super(configService);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilderTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilderTest.java
new file mode 100644
index 0000000..e97ecc1
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ConnectionConfigBuilderTest.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class ConnectionConfigBuilderTest {
+ @Test
+ public void createsAllNullObjectIfNothingSet() {
+ ConnectionConfiguration config = new ConnectionConfigBuilder().build();
+ assertThat(config.getName()).isNull();
+ assertThat(config.getUrl()).isNull();
+ assertThat(config.getUser()).isNull();
+ assertThat(config.getPassword()).isNull();
+ }
+
+ @Test
+ public void createsObjectWithCorrectValues() {
+ ConnectionConfigBuilder builder = new ConnectionConfigBuilder();
+ builder.withName("name").withUrl("url").withUser("user").withPassword("password");
+ ConnectionConfiguration config = builder.build();
+ assertThat(config.getName()).isEqualTo("name");
+ assertThat(config.getUrl()).isEqualTo("url");
+ assertThat(config.getUser()).isEqualTo("user");
+ assertThat(config.getPassword()).isEqualTo("password");
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java
new file mode 100644
index 0000000..8c290b7
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java
@@ -0,0 +1,216 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.CONNECTION;
+import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.CONNECTION_SERVICE;
+import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.FIELD_MAPPING;
+import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.REGION_MAPPING;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.COLUMN_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.CONNECTION_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.FIELD_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PDX_CLASS;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PRIMARY_KEY_IN_VALUE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.REGION;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.TABLE;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import java.util.Stack;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.xml.sax.Attributes;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheXmlException;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.extension.ExtensionPoint;
+import org.apache.geode.internal.cache.xmlcache.CacheCreation;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class ElementTypeTest {
+ private Stack<Object> stack = new Stack<>();
+ private Attributes attributes;
+ private CacheCreation cacheCreation;
+ private ExtensionPoint<Cache> extensionPoint;
+
+ @Before
+ public void setup() {
+ attributes = mock(Attributes.class);
+ cacheCreation = mock(CacheCreation.class);
+ extensionPoint = mock(ExtensionPoint.class);
+ when(cacheCreation.getExtensionPoint()).thenReturn(extensionPoint);
+ }
+
+ @Test
+ public void gettingElementTypeByNameReturnsCorrectType() {
+ assertThat(ElementType.getTypeFromName(CONNECTION_SERVICE.getTypeName()))
+ .isSameAs(CONNECTION_SERVICE);
+ assertThat(ElementType.getTypeFromName(CONNECTION.getTypeName())).isSameAs(CONNECTION);
+ assertThat(ElementType.getTypeFromName(REGION_MAPPING.getTypeName())).isSameAs(REGION_MAPPING);
+ assertThat(ElementType.getTypeFromName(FIELD_MAPPING.getTypeName())).isSameAs(FIELD_MAPPING);
+ }
+
+ @Test
+ public void gettingElementTypeThatDoesNotExistThrowsException() {
+ assertThatThrownBy(() -> ElementType.getTypeFromName("non-existant element"))
+ .isInstanceOf(IllegalArgumentException.class);
+ }
+
+ @Test
+ public void startElementConnectionServiceThrowsWithoutCacheCreation() {
+ stack.push(new Object());
+ assertThatThrownBy(() -> CONNECTION_SERVICE.startElement(stack, attributes))
+ .isInstanceOf(CacheXmlException.class);
+ }
+
+ @Test
+ public void startElementConnectionService() {
+ stack.push(cacheCreation);
+ CONNECTION_SERVICE.startElement(stack, attributes);
+ verify(extensionPoint, times(1)).addExtension(any(JdbcServiceConfiguration.class));
+ assertThat(stack.peek()).isInstanceOf(JdbcServiceConfiguration.class);
+ }
+
+ @Test
+ public void endElementConnectionService() {
+ stack.push(new Object());
+ CONNECTION_SERVICE.endElement(stack);
+ assertThat(stack).isEmpty();
+ }
+
+ @Test
+ public void startElementConnectionThrowsWithoutJdbcServiceConfiguration() {
+ stack.push(new Object());
+ assertThatThrownBy(() -> CONNECTION.startElement(stack, attributes))
+ .isInstanceOf(CacheXmlException.class);
+ }
+
+ @Test
+ public void startElementConnection() {
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+
+ when(attributes.getValue(JdbcConnectorServiceXmlParser.NAME)).thenReturn("connectionName");
+ when(attributes.getValue(JdbcConnectorServiceXmlParser.URL)).thenReturn("url");
+ when(attributes.getValue(JdbcConnectorServiceXmlParser.USER)).thenReturn("username");
+ when(attributes.getValue(JdbcConnectorServiceXmlParser.PASSWORD)).thenReturn("secret");
+
+ CONNECTION.startElement(stack, attributes);
+ ConnectionConfiguration config = ((ConnectionConfigBuilder) stack.pop()).build();
+
+ assertThat(config.getName()).isEqualTo("connectionName");
+ assertThat(config.getUrl()).isEqualTo("url");
+ assertThat(config.getUser()).isEqualTo("username");
+ assertThat(config.getPassword()).isEqualTo("secret");
+ }
+
+ @Test
+ public void endElementConnection() {
+ ConnectionConfigBuilder builder = mock(ConnectionConfigBuilder.class);
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+ stack.push(builder);
+
+ CONNECTION.endElement(stack);
+
+ assertThat(stack.size()).isEqualTo(1);
+ verify(serviceConfiguration, times(1)).addConnectionConfig(any());
+ }
+
+ @Test
+ public void startElementRegionMappingThrowsWithoutJdbcServiceConfiguration() {
+ stack.push(new Object());
+ assertThatThrownBy(() -> REGION_MAPPING.startElement(stack, attributes))
+ .isInstanceOf(CacheXmlException.class);
+ }
+
+ @Test
+ public void startElementRegionMapping() {
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+
+ when(attributes.getValue(REGION)).thenReturn("region");
+ when(attributes.getValue(CONNECTION_NAME)).thenReturn("connectionName");
+ when(attributes.getValue(TABLE)).thenReturn("table");
+ when(attributes.getValue(PDX_CLASS)).thenReturn("pdxClass");
+ when(attributes.getValue(PRIMARY_KEY_IN_VALUE)).thenReturn("true");
+
+ ElementType.REGION_MAPPING.startElement(stack, attributes);
+
+ RegionMapping regionMapping = ((RegionMappingBuilder) stack.pop()).build();
+ assertThat(regionMapping.getRegionName()).isEqualTo("region");
+ assertThat(regionMapping.getConnectionConfigName()).isEqualTo("connectionName");
+ assertThat(regionMapping.getTableName()).isEqualTo("table");
+ assertThat(regionMapping.getPdxClassName()).isEqualTo("pdxClass");
+ assertThat(regionMapping.isPrimaryKeyInValue()).isEqualTo(true);
+ }
+
+ @Test
+ public void endElementRegionMapping() {
+ RegionMappingBuilder builder = mock(RegionMappingBuilder.class);
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+ stack.push(builder);
+
+ ElementType.REGION_MAPPING.endElement(stack);
+
+ assertThat(stack.size()).isEqualTo(1);
+ verify(serviceConfiguration, times(1)).addRegionMapping(any());
+ }
+
+ @Test
+ public void startElementFieldMappingThrowsWithoutRegionMappingBuilder() {
+ stack.push(new Object());
+ assertThatThrownBy(() -> FIELD_MAPPING.startElement(stack, attributes))
+ .isInstanceOf(CacheXmlException.class);
+ }
+
+ @Test
+ public void startElementFieldMapping() {
+ RegionMappingBuilder builder = new RegionMappingBuilder();
+ stack.push(builder);
+ when(attributes.getValue(FIELD_NAME)).thenReturn("fieldName");
+ when(attributes.getValue(COLUMN_NAME)).thenReturn("columnName");
+
+ ElementType.FIELD_MAPPING.startElement(stack, attributes);
+ RegionMapping regionMapping = ((RegionMappingBuilder) stack.pop()).build();
+
+ assertThat(regionMapping.getColumnNameForField("fieldName")).isEqualTo("columnName");
+ }
+
+ @Test
+ public void endElementFieldMapping() {
+ RegionMappingBuilder builder = mock(RegionMappingBuilder.class);
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+ stack.push(builder);
+
+ ElementType.FIELD_MAPPING.endElement(stack);
+
+ assertThat(stack.size()).isEqualTo(2);
+ verifyZeroInteractions(builder);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorIntegrationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorIntegrationTest.java
new file mode 100644
index 0000000..5b6d260
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorIntegrationTest.java
@@ -0,0 +1,195 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlGenerator.PREFIX;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.COLUMN_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.CONNECTION_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.FIELD_NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAME;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAMESPACE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PASSWORD;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PDX_CLASS;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PRIMARY_KEY_IN_VALUE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.REGION;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.TABLE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.URL;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.USER;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.fail;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.TemporaryFolder;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.InternalJdbcConnectorService;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.xmlcache.CacheXmlGenerator;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class JdbcConnectorServiceXmlGeneratorIntegrationTest {
+
+ private InternalCache cache;
+
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+ @Before
+ public void setup() {
+ cache = (InternalCache) new CacheFactory().create();
+ }
+
+ @After
+ public void tearDown() {
+ cache.close();
+ }
+
+ @Test
+ public void cacheGetServiceReturnsJdbcConnectorService() {
+ assertThat(cache.getService(InternalJdbcConnectorService.class)).isNotNull();
+ }
+
+ @Test
+ public void serviceWithoutInformationDoesNotPersist() throws Exception {
+ cache.getService(InternalJdbcConnectorService.class);
+ generateXml();
+ Document document = getCacheXmlDocument();
+ NodeList elements = getElementsByName(document, ElementType.CONNECTION_SERVICE);
+ assertThat(elements.getLength()).isZero();
+ }
+
+ @Test
+ public void serviceWithConnectionsHasCorrectXml() throws Exception {
+ InternalJdbcConnectorService service = cache.getService(InternalJdbcConnectorService.class);
+ ConnectionConfiguration config = new ConnectionConfigBuilder().withName("name").withUrl("url")
+ .withUser("username").withPassword("secret").build();
+ service.addOrUpdateConnectionConfig(config);
+
+ generateXml();
+
+ Document document = getCacheXmlDocument();
+ NodeList serviceElements = getElementsByName(document, ElementType.CONNECTION_SERVICE);
+ assertThat(serviceElements.getLength()).isEqualTo(1);
+
+ Element serviceElement = (Element) serviceElements.item(0);
+ assertThat(serviceElement.getAttribute("xmlns:" + PREFIX)).isEqualTo(NAMESPACE);
+
+ NodeList connectionElements = getElementsByName(document, ElementType.CONNECTION);
+ assertThat(connectionElements.getLength()).isEqualTo(1);
+
+ Element connectionElement = (Element) connectionElements.item(0);
+ assertThat(connectionElement.getAttribute(NAME)).isEqualTo("name");
+ assertThat(connectionElement.getAttribute(URL)).isEqualTo("url");
+ assertThat(connectionElement.getAttribute(USER)).isEqualTo("username");
+ assertThat(connectionElement.getAttribute(PASSWORD)).isEqualTo("secret");
+ }
+
+ @Test
+ public void generatesXmlContainingRegionMapping() throws Exception {
+ InternalJdbcConnectorService service = cache.getService(InternalJdbcConnectorService.class);
+ RegionMappingBuilder regionMappingBuilder = new RegionMappingBuilder()
+ .withRegionName("regionName").withPdxClassName("pdxClassName").withTableName("tableName")
+ .withConnectionConfigName("connectionConfigName").withPrimaryKeyInValue("true");
+ regionMappingBuilder.withFieldToColumnMapping("fieldName1", "columnMapping1");
+ regionMappingBuilder.withFieldToColumnMapping("fieldName2", "columnMapping2");
+ RegionMapping regionMapping = regionMappingBuilder.build();
+ service.addOrUpdateRegionMapping(regionMapping);
+
+ generateXml();
+
+ Document document = getCacheXmlDocument();
+ NodeList serviceElements = getElementsByName(document, ElementType.CONNECTION_SERVICE);
+ assertThat(serviceElements.getLength()).isEqualTo(1);
+
+ NodeList mappingElements = getElementsByName(document, ElementType.REGION_MAPPING);
+ assertThat(mappingElements.getLength()).isEqualTo(1);
+
+ Element mappingElement = (Element) mappingElements.item(0);
+ assertThat(mappingElement.getAttribute(REGION)).isEqualTo("regionName");
+ assertThat(mappingElement.getAttribute(PDX_CLASS)).isEqualTo("pdxClassName");
+ assertThat(mappingElement.getAttribute(TABLE)).isEqualTo("tableName");
+ assertThat(mappingElement.getAttribute(CONNECTION_NAME)).isEqualTo("connectionConfigName");
+ assertThat(mappingElement.getAttribute(PRIMARY_KEY_IN_VALUE)).isEqualTo("true");
+
+ NodeList fieldMappingElements = getElementsByName(mappingElement, ElementType.FIELD_MAPPING);
+ assertThat(fieldMappingElements.getLength()).isEqualTo(2);
+ validatePresenceOfFieldMapping(fieldMappingElements, "fieldName1", "columnMapping1");
+ validatePresenceOfFieldMapping(fieldMappingElements, "fieldName2", "columnMapping2");
+ }
+
+ private void validatePresenceOfFieldMapping(NodeList elements, String fieldName,
+ String columnName) {
+ for (int i = 0; i < elements.getLength(); i++) {
+ Element fieldMapping = (Element) elements.item(i);
+ if (fieldMapping.getAttribute(FIELD_NAME).equals(fieldName)) {
+ assertThat(fieldMapping.getAttribute(COLUMN_NAME)).isEqualTo(columnName);
+ return;
+ }
+ }
+ fail("Field name '" + fieldName + "' did not match those provided");
+ }
+
+ private NodeList getElementsByName(Document document, ElementType elementType) {
+ String name = getTagName(elementType);
+ return document.getElementsByTagName(name);
+ }
+
+ private NodeList getElementsByName(Element element, ElementType elementType) {
+ String name = getTagName(elementType);
+ return element.getElementsByTagName(name);
+ }
+
+ private String getTagName(ElementType elementType) {
+ return PREFIX + ":" + elementType.getTypeName();
+ }
+
+ private Document getCacheXmlDocument()
+ throws IOException, SAXException, ParserConfigurationException {
+ File cacheXml = new File(temporaryFolder.getRoot(), "cache.xml");
+ DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+ Document document = dBuilder.parse(cacheXml);
+ document.getDocumentElement().normalize();
+ return document;
+ }
+
+ private void generateXml() throws IOException {
+ File cacheXml = new File(temporaryFolder.getRoot(), "cache.xml");
+ PrintWriter printWriter = new PrintWriter(new FileWriter(cacheXml));
+ CacheXmlGenerator.generate(cache, printWriter, true, false, false);
+ printWriter.flush();
+ }
+
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorTest.java
new file mode 100644
index 0000000..b91bd91
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlGeneratorTest.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAMESPACE;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcConnectorServiceXmlGeneratorTest {
+
+ @Test
+ public void returnsCorrectNamespace() {
+ JdbcConnectorServiceXmlGenerator generator = new JdbcConnectorServiceXmlGenerator(null, null);
+ assertThat(generator.getNamespaceUri()).isEqualTo(NAMESPACE);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlIntegrationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlIntegrationTest.java
new file mode 100644
index 0000000..ac7fcf5
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlIntegrationTest.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.TemporaryFolder;
+
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.InternalJdbcConnectorService;
+import org.apache.geode.connectors.jdbc.internal.JdbcConnectorService;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.xmlcache.CacheXmlGenerator;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+
+@Category(IntegrationTest.class)
+public class JdbcConnectorServiceXmlIntegrationTest {
+
+ private InternalCache cache;
+ private File cacheXml;
+ private ConnectionConfiguration config1;
+ private ConnectionConfiguration config2;
+ private RegionMapping regionMapping1;
+ private RegionMapping regionMapping2;
+
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+ @Before
+ public void setup() throws Exception {
+ cache = (InternalCache) new CacheFactory().create();
+ configureService();
+ cacheXml = generateXml();
+ cache.close();
+ }
+
+ @After
+ public void tearDown() {
+ cache.close();
+ }
+
+ @Test
+ public void canRecreateJdbcConnectorServiceFromXml() throws Exception {
+ cache =
+ (InternalCache) new CacheFactory().set(CACHE_XML_FILE, cacheXml.getAbsolutePath()).create();
+
+ JdbcConnectorService service =
+ (JdbcConnectorService) cache.getExtensionPoint().getExtensions().iterator().next();
+ assertThat(service.getConnectionConfig(config1.getName())).isEqualTo(config1);
+ assertThat(service.getConnectionConfig(config2.getName())).isEqualTo(config2);
+ assertThat(service.getMappingForRegion(regionMapping1.getRegionName()))
+ .isEqualTo(regionMapping1);
+ assertThat(service.getMappingForRegion(regionMapping2.getRegionName()))
+ .isEqualTo(regionMapping2);
+ }
+
+ private void configureService() {
+ InternalJdbcConnectorService service = cache.getService(InternalJdbcConnectorService.class);
+ config1 = new ConnectionConfigBuilder().withName("connection1").withUrl("url1")
+ .withUser("username1").withPassword("secret1").build();
+ config2 = new ConnectionConfigBuilder().withName("connection2").withUrl("url2")
+ .withUser("username2").withPassword("secret2").build();
+ service.addOrUpdateConnectionConfig(config1);
+ service.addOrUpdateConnectionConfig(config2);
+
+ RegionMappingBuilder regionMappingBuilder1 = new RegionMappingBuilder()
+ .withRegionName("regionName1").withPdxClassName("pdxClassName1").withTableName("tableName1")
+ .withConnectionConfigName("connection1").withPrimaryKeyInValue("true");
+ regionMappingBuilder1.withFieldToColumnMapping("fieldName1", "columnMapping1");
+ regionMappingBuilder1.withFieldToColumnMapping("fieldName2", "columnMapping2");
+ regionMapping1 = regionMappingBuilder1.build();
+
+ RegionMappingBuilder regionMappingBuilder2 = new RegionMappingBuilder()
+ .withRegionName("regionName2").withPdxClassName("pdxClassName2").withTableName("tableName2")
+ .withConnectionConfigName("connection2").withPrimaryKeyInValue("false");
+ regionMappingBuilder1.withFieldToColumnMapping("fieldName3", "columnMapping3");
+ regionMappingBuilder1.withFieldToColumnMapping("fieldName4", "columnMapping4");
+ regionMapping2 = regionMappingBuilder2.build();
+
+ service.addOrUpdateRegionMapping(regionMapping1);
+ service.addOrUpdateRegionMapping(regionMapping2);
+ }
+
+ private File generateXml() throws IOException {
+ File cacheXml = new File(temporaryFolder.getRoot(), "cache.xml");
+ PrintWriter printWriter = new PrintWriter(new FileWriter(cacheXml));
+ CacheXmlGenerator.generate(cache, printWriter, true, false, false);
+ printWriter.flush();
+ return cacheXml;
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParserTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParserTest.java
new file mode 100644
index 0000000..95a4d45
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParserTest.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.CONNECTION_SERVICE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAMESPACE;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import java.util.Stack;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.xml.sax.Attributes;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.internal.cache.extension.ExtensionPoint;
+import org.apache.geode.internal.cache.xmlcache.CacheCreation;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcConnectorServiceXmlParserTest {
+
+ private Stack<Object> stack = new Stack<>();
+ private Attributes attributes;
+ private CacheCreation cacheCreation;
+ private ExtensionPoint<Cache> extensionPoint;
+
+ @Before
+ public void setup() {
+ attributes = mock(Attributes.class);
+ cacheCreation = mock(CacheCreation.class);
+ extensionPoint = mock(ExtensionPoint.class);
+ when(cacheCreation.getExtensionPoint()).thenReturn(extensionPoint);
+ }
+
+ @Test
+ public void getNamespaceUriReturnsNamespace() {
+ assertThat(new JdbcConnectorServiceXmlParser().getNamespaceUri()).isEqualTo(NAMESPACE);
+ }
+
+ @Test
+ public void startElementCreatesJdbcServiceConfiguration() throws Exception {
+ JdbcConnectorServiceXmlParser parser = new JdbcConnectorServiceXmlParser();
+ stack.push(cacheCreation);
+ parser.setStack(stack);
+
+ parser.startElement(NAMESPACE, CONNECTION_SERVICE.getTypeName(), null, attributes);
+
+ assertThat(stack.pop()).isInstanceOf(JdbcServiceConfiguration.class);
+ }
+
+ @Test
+ public void startElementWithWrongUriDoesNothing() throws Exception {
+ JdbcConnectorServiceXmlParser parser = new JdbcConnectorServiceXmlParser();
+ stack.push(cacheCreation);
+ parser.setStack(stack);
+
+ parser.startElement("wrongNamespace", CONNECTION_SERVICE.getTypeName(), null, attributes);
+
+ assertThat(stack.pop()).isEqualTo(cacheCreation);
+ }
+
+ @Test
+ public void endElementRemovesJdbcServiceConfiguration() throws Exception {
+ JdbcConnectorServiceXmlParser parser = new JdbcConnectorServiceXmlParser();
+ stack.push(cacheCreation);
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+ parser.setStack(stack);
+
+ parser.endElement(NAMESPACE, CONNECTION_SERVICE.getTypeName(), null);
+
+ assertThat(stack.pop()).isEqualTo(cacheCreation);
+ verifyZeroInteractions(serviceConfiguration);
+ }
+
+ @Test
+ public void endElementRemovesWithWrongUriDoesNothing() throws Exception {
+ JdbcConnectorServiceXmlParser parser = new JdbcConnectorServiceXmlParser();
+ stack.push(cacheCreation);
+ JdbcServiceConfiguration serviceConfiguration = mock(JdbcServiceConfiguration.class);
+ stack.push(serviceConfiguration);
+ parser.setStack(stack);
+
+ parser.endElement("wrongNamespace", CONNECTION_SERVICE.getTypeName(), null);
+
+ assertThat(stack.pop()).isEqualTo(serviceConfiguration);
+ verifyZeroInteractions(serviceConfiguration);
+ }
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfigurationTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfigurationTest.java
new file mode 100644
index 0000000..939db7c
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcServiceConfigurationTest.java
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.NAMESPACE;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.connectors.jdbc.internal.ConnectionConfiguration;
+import org.apache.geode.connectors.jdbc.internal.InternalJdbcConnectorService;
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.xmlcache.XmlGenerator;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class JdbcServiceConfigurationTest {
+
+ private JdbcServiceConfiguration configuration;
+
+ private InternalCache cache;
+ private InternalJdbcConnectorService service;
+ private ConnectionConfiguration connection1;
+ private ConnectionConfiguration connection2;
+ private RegionMapping mapping1;
+ private RegionMapping mapping2;
+
+ @Before
+ public void setUp() {
+ connection1 = mock(ConnectionConfiguration.class);
+ connection2 = mock(ConnectionConfiguration.class);
+ mapping1 = mock(RegionMapping.class);
+ mapping2 = mock(RegionMapping.class);
+
+ service = mock(InternalJdbcConnectorService.class);
+ cache = mock(InternalCache.class);
+ when(cache.getService(InternalJdbcConnectorService.class)).thenReturn(service);
+
+ configuration = new JdbcServiceConfiguration();
+ }
+
+ @Test
+ public void getXmlGeneratorReturnsJdbcConnectorServiceXmlGenerator() {
+ XmlGenerator<Cache> generator = configuration.getXmlGenerator();
+
+ assertThat(generator).isInstanceOf(JdbcConnectorServiceXmlGenerator.class);
+ }
+
+ @Test
+ public void getXmlGeneratorReturnsGeneratorWithJdbcConnectorNamespace() {
+ XmlGenerator<Cache> generator = configuration.getXmlGenerator();
+
+ assertThat(generator.getNamespaceUri()).isEqualTo(NAMESPACE);
+ }
+
+ @Test
+ public void getXmlGeneratorReturnsEmptyGeneratorByDefault() {
+ JdbcConnectorServiceXmlGenerator generator =
+ (JdbcConnectorServiceXmlGenerator) configuration.getXmlGenerator();
+
+ assertThat(generator.getConnections()).isEmpty();
+ assertThat(generator.getMappings()).isEmpty();
+ }
+
+ @Test
+ public void getXmlGeneratorWithConnections() {
+ configuration.addConnectionConfig(connection1);
+ configuration.addConnectionConfig(connection2);
+
+ JdbcConnectorServiceXmlGenerator generator =
+ (JdbcConnectorServiceXmlGenerator) configuration.getXmlGenerator();
+
+ assertThat(generator.getConnections()).containsExactly(connection1, connection2);
+ }
+
+ @Test
+ public void getXmlGeneratorWithRegionMappings() {
+ configuration.addRegionMapping(mapping1);
+ configuration.addRegionMapping(mapping2);
+
+ JdbcConnectorServiceXmlGenerator generator =
+ (JdbcConnectorServiceXmlGenerator) configuration.getXmlGenerator();
+
+ assertThat(generator.getMappings()).containsExactly(mapping1, mapping2);
+ }
+
+ @Test
+ public void onCreateWithNoConnectionsOrMappings() {
+ configuration.onCreate(cache, cache);
+ verifyZeroInteractions(service);
+ }
+
+ @Test
+ public void onCreateWithConnections() {
+ configuration.addConnectionConfig(connection1);
+ configuration.addConnectionConfig(connection2);
+
+ configuration.onCreate(cache, cache);
+
+ verify(service, times(1)).addOrUpdateConnectionConfig(connection1);
+ verify(service, times(1)).addOrUpdateConnectionConfig(connection2);
+ }
+
+ @Test
+ public void onCreateWithRegionMappings() {
+ configuration.addRegionMapping(mapping1);
+ configuration.addRegionMapping(mapping2);
+
+ configuration.onCreate(cache, cache);
+
+ verify(service, times(1)).addOrUpdateRegionMapping(mapping1);
+ verify(service, times(1)).addOrUpdateRegionMapping(mapping2);
+ }
+
+}
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilderTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilderTest.java
new file mode 100644
index 0000000..9953d95
--- /dev/null
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/RegionMappingBuilderTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.connectors.jdbc.internal.xml;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.connectors.jdbc.internal.RegionMapping;
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class RegionMappingBuilderTest {
+
+ @Test
+ public void createsMappingWithDefaultValuesIfNonAreSet() {
+ RegionMapping regionMapping = new RegionMappingBuilder().build();
+
+ assertThat(regionMapping.getRegionName()).isNull();
+ assertThat(regionMapping.getTableName()).isNull();
+ assertThat(regionMapping.getPdxClassName()).isNull();
+ assertThat(regionMapping.getConnectionConfigName()).isNull();
+ assertThat(regionMapping.isPrimaryKeyInValue()).isFalse();
+ }
+
+ @Test
+ public void createsMappingWithSpecifiedValues() {
+ RegionMappingBuilder builder = new RegionMappingBuilder();
+ RegionMapping regionMapping = builder.withTableName("tableName").withRegionName("regionName")
+ .withPrimaryKeyInValue("true").withPdxClassName("pdxClassName")
+ .withConnectionConfigName("configName").withFieldToColumnMapping("fieldName", "columnName")
+ .build();
+
+ assertThat(regionMapping.getRegionName()).isEqualTo("regionName");
+ assertThat(regionMapping.getTableName()).isEqualTo("tableName");
+ assertThat(regionMapping.getPdxClassName()).isEqualTo("pdxClassName");
+ assertThat(regionMapping.getConnectionConfigName()).isEqualTo("configName");
+ assertThat(regionMapping.isPrimaryKeyInValue()).isTrue();
+ assertThat(regionMapping.getColumnNameForField("fieldName")).isEqualTo("columnName");
+ }
+}
diff --git a/geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java b/geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java
index cc4d3d1..f5b9266 100644
--- a/geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java
+++ b/geode-core/src/test/java/org/apache/geode/test/fake/Fakes.java
@@ -35,6 +35,7 @@ import org.apache.geode.distributed.internal.membership.InternalDistributedMembe
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.pdx.PdxInstanceFactory;
/**
* Factory methods for fake objects for use in test.
@@ -62,6 +63,7 @@ public class Fakes {
InternalDistributedSystem system = mock(InternalDistributedSystem.class);
DistributionConfig config = mock(DistributionConfig.class);
DistributionManager distributionManager = mock(DistributionManager.class);
+ PdxInstanceFactory pdxInstanceFactory = mock(PdxInstanceFactory.class);
CancelCriterion systemCancelCriterion = mock(CancelCriterion.class);
DSClock clock = mock(DSClock.class);
LogWriter logger = mock(LogWriter.class);
@@ -81,6 +83,7 @@ public class Fakes {
when(cache.getCancelCriterion()).thenReturn(systemCancelCriterion);
when(cache.getCachePerfStats()).thenReturn(mock(CachePerfStats.class));
when(cache.getSecurityService()).thenReturn(mock(SecurityService.class));
+ when(cache.createPdxInstanceFactory(any())).thenReturn(pdxInstanceFactory);
when(system.getDistributedMember()).thenReturn(member);
when(system.getConfig()).thenReturn(config);
@@ -122,7 +125,7 @@ public class Fakes {
when(region.getCache()).thenReturn(cache);
when(region.getRegionService()).thenReturn(cache);
when(region.getName()).thenReturn(name);
-
+ when(region.getFullPath()).thenReturn("/" + name);
return region;
}
diff --git a/settings.gradle b/settings.gradle
index 13a665c..a84f352 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -30,6 +30,7 @@ include 'geode-lucene'
include 'geode-old-client-support'
include 'geode-wan'
include 'geode-cq'
+include 'geode-connectors'
include 'geode-benchmarks'
include 'geode-client-protocol'
include 'extensions/geode-modules'
--
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.