You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2019/06/05 17:39:22 UTC
[geode] branch feature/GEODE-6770 updated (463f37a -> 98d37be)
This is an automated email from the ASF dual-hosted git repository.
zhouxj pushed a change to branch feature/GEODE-6770
in repository https://gitbox.apache.org/repos/asf/geode.git.
discard 463f37a GEODE-6770: add optional deregister driver class when destroy data source.
add 0a6fa58 GEODE-6745 Adds properties to REST api v2 list members (#3619)
add a109bcb GEODE-6793: jackson mapper should fail on unrecognized attributes. (#3618)
add d916506 GEODE-6791: Remove wrong file from repo
add 59003e6 GEODE-6750: Clean up Swagger UI model for Manageability REST API (#3563)
add 350e6d2 GEODE-6790: Refactor DataSourceCreateException to correctly capture cause (#3615)
add 5ee7a2e GEODE-6745 Added unit test coverage for MemberConfigManager and refactored (#3620)
add 68dc56c GEODE-6803: Make CacheElement an interface and have RuntimeCacheElemeā¦ (#3625)
add 965ef8e GEODE-6754: Cleanup LocalRegion warnings, typos, and bug refs (#3580)
add 02af174 Update docs build to go with bookbinder 10.1.15
add 6ca8d5c GEODE-6733 un-ignore test now that static has been removed
add 7218802 GEODE-6733 remove unused import and make spotless happay
add d3ed413 Preparing for 1.9.0 release
add 263dc3d GEODE-6533: Update NOTICE for updated Spring deps
add 2065819 GEODE-6533: Add NOTICE entry for commons-codec
add a54f893 GEODE-5604: Fix over-zealous fix for adding NOTICE to jar manifest (#3365)
add b442a27 GEODE-6533: Update LICENSE file for changed dependencies (#3313)
add d9981e5 add a daily trigger to generate additional test runs for soak
add 3ec4659 GEODE-6569: geode-all-bom shouldn't make a jar
add 41cd486 GEODE-6570 processing of cached join request delays view installation
add 85e1362 GEODE-6559: PdxInstance.getObject() is using class from older jar in case of Reconnect (#3353)
add 75ac498 GEODE-6589: Parameterize gradle project group for use in GradleBuildWithGeodeCoreAcceptanceTest (#3395)
add 4a86807 Fix geoge-book redirect url for 1.9.0
add 5d2b8d9 GEODE-3948 fixing handling of sotimeout in Message.receive()
add 6b05cae Ignore GrgitException when building from src dist
add e0c29b1 GEODE-6195 putIfAbsent may get a returned value caused by the same operation due to retry
add ed13a72 GEODE-6664 CI failure: org.apache.geode.ClusterCommunicationsDUnitTest.receiveBigResponse
add 097353f GEODE-6662 NioPlainEngine.ensureWrappedCapacity
add 0fea07a GEODE-6423 availability checks sometimes immediately initiate removal
add 3601d83 Fixes CI benchmark baseline selection.
add 40ebccd adding my PGP block as instructed in release steps
add 7d7f8f1 GEODE-6630: move allBucketsRecoveredFromDisk count down latch (#3477)
add 8e92509 Use branch of benchmarks targeted for release/1.9.0.
add b912ac7 Fixes benchmarks branch
add bf4ee80 adding my GPG key as per release instructions
add c0a73d1 bump the geode version in the Dockerfile
add 2dd9dc5 update the release SHA256 in the Dockerfile
add 31e6612 Updated release versions to 1.7.0 for release preparation
add 0936c9f Revert "Adding 1.8 as a version in Version.java"
add bbc9bac Changing all the version numbers from 1.8.0 to 1.7.0
add 9175e34 Changing all Version.GEODE_180 to Version_170
add fb0ee09 Revert "[GEODE-5591] If there is a BindException we should always throw. (#2351)"
add ab7e6e7 Disabling the the Windows test pipeline
add d07244df GEODE-5695: Update Gemfile.lock to Sprockets 3.7.2
add 1d261c5 Remove windows tests from concourse (#2436)
add db56584 Fix instance naming for heavy-lifters on release branches (#2437)
add 94b5c15 GCP instances cannot have dots in the name (#2439)
add 00f68ba GCP instances dont like underscores either? Using hyphen (#2440)
add 1da670c Changing the pre version to 1.6.0 from 1.7.0 in TxCommitMessageTest
add 4185fe8 Changed the version number of JARs
add c637193 GEODE-5723: Don't publish to maven repo unless SNAPSHOT. (#2453)
add c3494e0 GEODE-5727: rework how ResultModel deal with file contents. (#2460)
add f9abdeb Revert two GEODE-5600 commits
add 38dd001 Revert "GEODE-3967: There're following 9 problems fixed here:"
add dd78494 GEODE-3967: Cleaning up of revert issues (#2523)
add 48061cd Force inclusion of all ci/** files to work around exclude name collision (#2528)
add f3d691f Update version numbers for 1.8.0 release
add 62d95cd GEODE-6018 Remove reflections from LICENSE
add 4192d05 GEODE-6048 build should work on release branches (#2847)
add 70902b0 Revert "GEODE-5729: when DistributedCacheOperation needs 2 messages, should let (#2458)" (#2801)
add 411ff86 GEODE-5993: Eliminate race in monitorQueryThread() (#2818)
add e54e33d GEODE-5884: Added new command and restored pre 1.8 region function behavior (#2829)
add 35f7a43 GEODE-5884: Adding to function exception list if cause is FunctionInvocationTargetException (#2809)
add b0e3c3c GEODE-6053: Parameterized Queries fixed (#2859)
add 933c4fb GEODE-6063 remove PublishArtifacts from Geode release pipelines (#2865)
add 671671b GEODE-6065: Continue event processing when hostname lookup fails (#2883)
add 14bfde0 Merge branch 'release/1.8.0'
add 7a285c9 Merge branch release/1.9.0 into master
add c1d33d7 Merge remote-tracking branch 'origin/master' into develop
add 9dba005 Merge pull request #3626 from rhoughton-pivot/develop
add a08902a GEODE-6669 Changed CreateDataSourceCommand to register driver earlier (#3627)
add ce10ede GEODE-6786: Provide ability to delete a region using V2 REST API (#3610)
add 8bc775e GEODE-6815 Adds member count to gfsh list members (#3637)
add 70b1556 GEODE-6732 GMSHealthMonitor reports member is not available when self-health check fails
add b8fc62f Revert "GEODE-6803: Make CacheElement an interface and have RuntimeCacheElemeā¦ (#3625)"
add b2928c9 GEODE-6583 Integrate phi-accrual failure detection into Geode
add 23fdac1 GEODE-6809 Document the gfsh destroy gateway-receiver command (#3635)
add fb07bab GEODE-6813: Build pipeline emits passing ref and build artifact (#3644)
add ee42d7f GEODE-6571 Remove unneccessary list of region shortcuts (#3642)
add 1680b2b GEODE-4240: Fixup DeprecatedCacheServerLauncherIntegrationTest (#3645)
add 47e44ff GEODE-6765: Gfsh list* commands do not return error when no results found (#3634)
add 1463cb4 GEODE-6794: optimize returning client pooled coonection
add fbe167b GEODE-2600 Inconsistent spacing of headers in Startup Configuration log
add ec08f36 Update windows image and tweaks to support it. (#3649)
add c411f64 GEODE-6803: be able to configure pdx using management rest api (#3638)
add b501843 GEODE-4240: Use ASSIGN_BUCKETS_PROPERTY in DeprecatedCacheServerLauncherIntegrationTest (#3648)
add 327feec GEODE-6696: EntryEvenImpl.offHeapLock created only if off-heap in use (#3581)
add 0b3ff12 split Windows tests into Core and non-Core (#3647)
add 30ddcbd GEODE-6588: Cleanup static analyzer warnings and generics (#3646)
add 7bfbf55 GEODE-6820: Initialize count down latches in setup method. (#3652)
add cd2eae3 GEODE-6472 Fix double increment gets stat for partitioned region (#3640)
add ef18e4d GEODE-6823 Hang in ElderInitProcessor.init()
add 9cdc63c GEODE-4240: Fix testCreateBuckets on windows (#3660)
add f38fef5 GEODE-6824: Copy backup files using file copy on Windows (#3658)
add 7ce0f51 GEODE-6777: Create gateway senders command should only return when DistributedSystemMXBean reflects creation status (#3643)
add 51733cd GEODE-6821: Shared P2P reader no longer processes messages on regions with serial sender
add fcefe67 GEODE-6588 removed raw arraylists, assigning them each a type (#3659)
add 5afd611 GEODE-6806: Ignore LIMIT in intermediate steps (#3629)
add f00fa83 GEODE-2685: support getStatistics on PartitionedRegion (#3576)
add 02814f4 GEODE-6749 additional tests for duplicate disk store detection logic (#3666)
add cea316f use tagged commit as benchmark baseline
add 9073f6e GEODE-6321: The test is expecting shutdown took more than 4 seconds, (#3665)
add a118f13 GEODE-6786: be able to delete cache element when no members are found. (#3663)
add 9c97685 GEODE-6803: add AnalyzeSerializable test in geode-management module (#3651)
add 1e6d2a5 GEODE-6773 Adding register driver, deregister driver and list drivers gfsh commands (#3657)
new 98d37be GEODE-6770: add optional deregister driver class when destroy data source.
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 (463f37a)
\
N -- N -- N refs/heads/feature/GEODE-6770 (98d37be)
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:
.../windows-packer.json | 25 +-
ci/pipelines/geode-build/jinja.template.yml | 9 +-
ci/pipelines/shared/jinja.variables.yml | 15 +-
ci/scripts/execute_tests.sh | 3 +-
ci/scripts/run_benchmarks.sh | 2 +-
docker/Dockerfile | 6 +-
.../GradleBuildWithGeodeCoreAcceptanceTest.java | 1 +
.../rest/ListIndexManagementDUnitTest.java | 4 +-
.../rest/MemberManagementServiceDunitTest.java | 14 +-
.../rest/RegionManagementOnMultipleGroup.java | 62 -
.../integrationTest/resources/assembly_content.txt | 5 +-
geode-book/Gemfile | 2 +-
geode-book/Gemfile.lock | 70 +-
.../source/subnavs/geode-subnav.erb | 3 +
.../cli/CreateDataSourceCommandDUnitTest.java | 6 +-
.../cli/DeregisterDriverCommandDUnitTest.java | 82 ++
.../internal/cli/ListDriversCommandDUnitTest.java | 97 ++
.../cli/RegisterDriverCommandDUnitTest.java | 86 ++
.../jdbc/internal/cli/DeregisterDriverCommand.java | 88 ++
.../internal/cli/DeregisterDriverFunction.java | 52 +
.../jdbc/internal/cli/ListDriversCommand.java | 102 ++
.../jdbc/internal/cli/ListDriversFunction.java | 70 ++
.../jdbc/internal/cli/RegisterDriverCommand.java | 69 ++
.../jdbc/internal/cli/RegisterDriverFunction.java | 52 +
.../org.springframework.shell.core.CommandMarker | 5 +-
.../sanctioned-geode-connectors-serializables.txt | 5 +-
.../internal/cli/DeregisterDriverCommandTest.java | 144 +++
.../internal/cli/DeregisterDriverFunctionTest.java | 66 +
.../jdbc/internal/cli/ListDriversCommandTest.java | 132 ++
.../jdbc/internal/cli/ListDriversFunctionTest.java | 75 ++
.../internal/cli/RegisterDriverCommandTest.java | 104 ++
.../internal/cli/RegisterDriverFunctionTest.java | 69 ++
.../CacheStatisticsPartitionedRegionDUnitTest.java | 505 ++++++++
.../internal/cache/ClearTXLockingDUnitTest.java | 15 +-
.../sockets/DurableClientReconnectDUnitTest.java | 4 +-
...ListenersDifferentPrimariesDistributedTest.java | 329 +++++
.../LoggingWithReconnectDistributedTest.java | 3 +-
.../management/PartitionedRegionStatsTest.java | 76 ++
.../cli/commands/DiskStoreCommandsDUnitTest.java | 42 +-
.../ListAsyncEventQueuesCommandDUnitTest.java | 12 +-
.../cli/commands/ListMembersCommandDUnitTest.java | 6 +-
.../internal/cli/commands/ListRegionDUnitTest.java | 7 +
.../cache/query/JoinQueriesIntegrationTest.java | 361 +++++-
.../IndexUsageInNestedQueryJUnitTest.java | 2 +-
.../AnalyzeManagementSerializablesJUnitTest.java | 21 +-
.../gms/fd/GMSHealthMonitorJUnitTest.java | 45 +-
...edThreadPoolExecutorWithKeepAliveJUnitTest.java | 14 +-
...precatedCacheServerLauncherIntegrationTest.java | 537 ++++----
.../geode/internal/cache/OplogRVVJUnitTest.java | 6 +-
.../tier/sockets/ConnectionProxyJUnitTest.java | 2 +-
...StartupConfigurationLoggingIntegrationTest.java | 3 +-
.../ShowMetricsCommandIntegrationTest.java | 2 +-
.../RegionConfigRealizerIntegrationTest.java | 16 +
.../main/java/org/apache/geode/SystemFailure.java | 55 +-
.../internal/DistributedSystemHealthMonitor.java | 8 +-
.../admin/internal/GemFireHealthEvaluator.java | 8 +-
.../apache/geode/admin/internal/LogCollator.java | 6 +-
.../geode/admin/internal/SystemMemberImpl.java | 4 +-
.../main/java/org/apache/geode/cache/Region.java | 4 +-
.../client/internal/pooling/PooledConnection.java | 4 +-
.../geode/cache/query/internal/MethodDispatch.java | 8 +-
.../geode/cache/query/internal/QueryUtils.java | 8 +-
.../cache/query/internal/index/IndexManager.java | 2 +-
.../query/internal/index/PartitionedIndex.java | 2 +-
.../ConfigurationPersistenceService.java | 1 -
.../geode/distributed/DistributedSystem.java | 20 +-
.../internal/ClusterDistributionManager.java | 29 +-
.../distributed/internal/ClusterElderManager.java | 27 +-
.../distributed/internal/DistributionManager.java | 2 +-
.../distributed/internal/DistributionMessage.java | 11 +-
.../internal/InternalDistributedSystem.java | 470 ++++---
.../internal/locks/ElderInitProcessor.java | 38 +-
.../internal/locks/GrantorRequestProcessor.java | 18 +-
.../membership/gms/fd/GMSHealthMonitor.java | 50 +-
.../membership/gms/mgr/GMSMembershipManager.java | 2 +-
.../internal/ObjectInputStreamFilterWrapper.java | 8 +
.../geode/internal/admin/ClientStatsManager.java | 8 +-
.../geode/internal/cache/AbstractDiskRegion.java | 2 +-
.../geode/internal/cache/AbstractRegion.java | 440 ++++---
.../internal/cache/AbstractUpdateOperation.java | 4 +-
.../apache/geode/internal/cache/BucketRegion.java | 4 +-
.../geode/internal/cache/CacheServerLauncher.java | 6 +-
.../geode/internal/cache/DestroyOperation.java | 4 +-
.../internal/cache/DistributedCacheOperation.java | 4 +-
.../geode/internal/cache/EntryEventImpl.java | 67 +-
.../geode/internal/cache/GemFireCacheImpl.java | 994 ++++++++-------
...ava~d2263ebc2... Create HasDiskRegion interface | 22 -
.../geode/internal/cache/InternalRegion.java | 4 +-
.../apache/geode/internal/cache/LocalRegion.java | 1277 +++++++++-----------
.../org/apache/geode/internal/cache/Oplog.java | 2 +-
.../geode/internal/cache/PartitionedRegion.java | 66 +-
.../internal/cache/backup/BackupFileCopier.java | 18 +-
.../internal/cache/partitioned/DestroyMessage.java | 4 +-
.../cache/partitioned/PartitionMessage.java | 4 +-
.../cache/partitioned/PutAllPRMessage.java | 4 +-
.../internal/cache/partitioned/PutMessage.java | 4 +-
.../cache/partitioned/RemoveAllPRMessage.java | 4 +-
.../cache/persistence/DiskRecoveryStore.java | 2 +-
.../internal/cache/xmlcache/CacheXmlParser.java | 4 +-
.../datasource/DataSourceCreateException.java | 28 +-
.../internal/datasource/DataSourceFactory.java | 3 +
.../apache/geode/internal/jndi/JNDIInvoker.java | 34 +-
.../geode/internal/logging/LoggingSession.java | 2 +-
.../DisconnectingOutOfOffHeapMemoryListener.java | 22 +-
.../apache/geode/internal/util/DriverJarUtil.java | 47 +-
.../internal/util/concurrent/FutureResult.java | 50 +-
.../apache/geode/management/cli/CliFunction.java | 3 +
.../apache/geode/management/cli/GfshCommand.java | 33 +
.../management/internal/CacheElementOperation.java | 16 +-
.../api/LocatorClusterManagementService.java | 214 +++-
.../geode/management/internal/cli/CliUtil.java | 2 +-
.../cli/commands/CreateGatewaySenderCommand.java | 41 +
.../cli/commands/DestroyGatewaySenderCommand.java | 22 +
.../cli/commands/ListAsyncEventQueuesCommand.java | 2 +-
.../internal/cli/commands/ListClientCommand.java | 4 +-
.../internal/cli/commands/ListDeployedCommand.java | 2 +-
.../cli/commands/ListDurableClientCQsCommand.java | 4 +-
.../internal/cli/commands/ListFunctionCommand.java | 2 +-
.../internal/cli/commands/ListGatewayCommand.java | 4 +-
.../internal/cli/commands/ListMembersCommand.java | 2 +-
.../internal/cli/commands/ListRegionCommand.java | 2 +-
.../internal/cli/domain/MemberInformation.java | 5 +-
.../cli/functions/ListDurableCqNamesFunction.java | 8 +-
.../cli/functions/UpdateCacheFunction.java | 19 +-
.../geode/management/internal/cli/shell/Gfsh.java | 6 +-
.../mutators/ConfigurationManager.java | 3 +-
.../mutators/MemberConfigManager.java | 86 +-
.../configuration/mutators/PdxManager.java | 30 +-
.../mutators/RegionConfigManager.java | 6 +-
.../realizers/RegionConfigRealizer.java | 17 +-
.../validators/CacheElementValidator.java | 40 +-
.../validators/ConfigurationValidator.java | 8 +-
.../validators/RegionConfigValidator.java | 23 +-
.../sanctioned-geode-core-serializables.txt | 35 +-
.../sanctioned-geode-management-serializables.txt | 38 +
.../cache/configuration/RegionConfigTest.java | 3 +-
.../internal/ClusterElderManagerTest.java | 41 +-
.../internal/cache/AbstractRegionMapTest.java | 42 +-
.../cache/AbstractRegionMapTxApplyDestroyTest.java | 8 +-
.../internal/cache/CacheOperationMessageTest.java | 4 +-
.../geode/internal/cache/EntryEventImplTest.java | 270 +++++
.../geode/internal/cache/LocalRegionTest.java | 49 +
.../cache/SearchLoadAndWriteProcessorTest.java | 9 +
.../cache/event/DistributedEventTrackerTest.java | 8 +
.../cache/partitioned/PutAllPRMessageTest.java | 14 +
.../cache/partitioned/RemoveAllPRMessageTest.java | 14 +
...rallelGatewaySenderEventProcessorJUnitTest.java | 16 +
.../geode/internal/net/NioPlainEngineTest.java | 2 -
...nectingOutOfOffHeapMemoryListenerJUnitTest.java | 7 +-
.../internal/api/ClusterManagementResultTest.java | 4 +-
.../api/LocatorClusterManagementServiceTest.java | 168 ++-
.../commands/CreateGatewaySenderCommandTest.java | 1 +
.../commands/DestroyGatewaySenderCommandTest.java | 1 +
.../cli/commands/ListAsyncEventQueuesTest.java | 2 +-
.../mutators/MemberConfigManagerTest.java | 240 ++++
.../realizers/RegionConfigRealizerTest.java | 5 +-
.../validators/CacheElementValidatorTest.java | 38 +-
.../validators/RegionConfigValidatorTest.java | 46 +-
.../query/cq/dunit/CqPerfUsingPoolDUnitTest.java | 4 +-
.../commands/DurableClientCommandsDUnitTest.java | 12 +-
.../cli/commands/ListClientCommandDUnitTest.java | 39 +-
.../security/ClientPostAuthorizationDUnitTest.java | 2 +-
.../geode/security/FilterPostAuthorization.java | 2 +-
.../chapter_overview_regionshortcuts.html.md.erb | 53 +-
.../gfsh/command-pages/destroy.html.md.erb | 32 +
.../gfsh/gfsh_command_index.html.md.erb | 2 +-
.../tests/MemberStarterRuleAwaitDUnitTest.java | 7 -
.../dunit/cache/internal/JUnit4CacheTestCase.java | 24 +
.../apache/geode/test/dunit/rules/MemberVM.java | 6 -
.../geode/test/junit/rules/MemberStarterRule.java | 12 +-
.../assertions/ClusterManagementResultAssert.java | 14 +-
.../test/junit/assertions/CommandResultAssert.java | 4 +-
.../apache/geode/test/process/ProcessWrapper.java | 262 ++--
.../apache/geode/cache/configuration/PdxType.java | 30 +-
.../cache/configuration/RegionAttributesType.java | 8 +
.../geode/cache/configuration/RegionConfig.java | 31 +-
.../management/api/ClusterManagementResult.java | 11 +-
.../management/api/ClusterManagementService.java | 2 +-
.../geode/management/api/RestfulEndpoint.java | 14 +-
.../management/configuration/MemberConfig.java | 142 +--
...cheElement.java => MultiGroupCacheElement.java} | 8 +-
.../management/configuration/RuntimeIndex.java | 2 +-
...{MemberConfig.java => RuntimeMemberConfig.java} | 62 +-
.../configuration/RuntimeRegionConfig.java | 2 +-
.../internal/ClientClusterManagementService.java | 47 +-
.../configuration/CacheElementJsonMappingTest.java | 15 +-
.../cache/configuration/CacheElementTest.java | 4 +-
.../geode/cache/configuration/PdxTypeTest.java} | 22 +-
...CreateDestroyGatewaySenderCommandDUnitTest.java | 14 +
.../DestroyGatewaySenderCommandDUnitTest.java | 39 +-
.../wancommand/ListGatewaysCommandDUnitTest.java | 2 +-
.../cli/commands/AlterRegionCommandDUnitTest.java | 12 +-
.../cli/commands/CreateRegionCommandDUnitTest.java | 15 +-
.../cli/commands/DescribeRegionDUnitTest.java | 5 +-
.../cache/wan/AckReaderThreadJUnitTest.java | 5 +-
.../internal/rest/BaseLocatorContextLoader.java | 15 +-
.../rest/LocatorLauncherContextLoader.java | 48 +-
.../internal/rest/LocatorWebContext.java | 9 +
...Launcher.java => MockLocatorContextLoader.java} | 40 +-
.../internal/rest/PlainLocatorContextLoader.java | 29 +-
...rRule.java => SecuredLocatorContextLoader.java} | 25 +-
.../ClientClusterManagementServiceDUnitTest.java | 173 ++-
...ceDUnitTest.java => ConfigurePDXDUnitTest.java} | 44 +-
.../client/MemberManagementServiceDUnitTest.java | 12 +-
...neralManagementServiceRestIntegrationTest.java} | 52 +-
.../internal/rest/JsonSerializationTest.java | 89 ++
...MemberManagementServiceRestIntegrationTest.java | 23 +-
.../internal/rest/PdxManagementTest.java | 81 ++
.../rest/RegionManagementIntegrationTest.java | 8 +-
.../RegionManagementSecurityIntegrationTest.java | 28 +-
.../controllers/ManagementControllerAdvice.java | 5 +-
.../rest/controllers/PdxManagementController.java | 52 +
.../controllers/RegionManagementController.java | 9 +
.../webapp/WEB-INF/geode-management-servlet.xml | 4 -
.../internal/cli/commands/CommandOverHttpTest.java | 2 +-
215 files changed, 7423 insertions(+), 3413 deletions(-)
delete mode 100644 geode-assembly/src/distributedTest/java/org/apache/geode/management/internal/rest/RegionManagementOnMultipleGroup.java
create mode 100644 geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/DeregisterDriverCommandDUnitTest.java
create mode 100644 geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/ListDriversCommandDUnitTest.java
create mode 100644 geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/RegisterDriverCommandDUnitTest.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DeregisterDriverCommand.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DeregisterDriverFunction.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListDriversCommand.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListDriversFunction.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/RegisterDriverCommand.java
create mode 100644 geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/RegisterDriverFunction.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DeregisterDriverCommandTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DeregisterDriverFunctionTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListDriversCommandTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListDriversFunctionTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/RegisterDriverCommandTest.java
create mode 100644 geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/RegisterDriverFunctionTest.java
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/cache30/CacheStatisticsPartitionedRegionDUnitTest.java
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialAsyncEventListenersDifferentPrimariesDistributedTest.java
create mode 100644 geode-core/src/distributedTest/java/org/apache/geode/management/PartitionedRegionStatsTest.java
copy geode-web-management/src/commonTest/java/org/apache/geode/management/internal/rest/PlainLocatorContextLoader.java => geode-core/src/integrationTest/java/org/apache/geode/codeAnalysis/AnalyzeManagementSerializablesJUnitTest.java (61%)
delete mode 100644 geode-core/src/main/java/org/apache/geode/internal/cache/HasDiskRegion.java~d2263ebc2... Create HasDiskRegion interface
copy geode-management/src/main/java/org/apache/geode/management/api/RestfulEndpoint.java => geode-core/src/main/java/org/apache/geode/management/internal/CacheElementOperation.java (71%)
rename geode-web-management/src/commonTest/java/org/apache/geode/management/internal/rest/LocatorWithSecurityManagerContextLoader.java => geode-core/src/main/java/org/apache/geode/management/internal/configuration/mutators/PdxManager.java (53%)
create mode 100644 geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-management-serializables.txt
create mode 100644 geode-core/src/test/java/org/apache/geode/management/internal/configuration/mutators/MemberConfigManagerTest.java
rename geode-management/src/main/java/org/apache/geode/management/configuration/{RuntimeCacheElement.java => MultiGroupCacheElement.java} (79%)
copy geode-management/src/main/java/org/apache/geode/management/configuration/{MemberConfig.java => RuntimeMemberConfig.java} (80%)
copy geode-management/src/{main/java/org/apache/geode/management/api/RestfulEndpoint.java => test/java/org/apache/geode/cache/configuration/PdxTypeTest.java} (68%)
rename geode-web-management/src/commonTest/java/org/apache/geode/management/internal/rest/{WrappedLocatorLauncher.java => MockLocatorContextLoader.java} (57%)
rename geode-web-management/src/commonTest/java/org/apache/geode/management/internal/rest/{WrappedLocatorStarterRule.java => SecuredLocatorContextLoader.java} (72%)
copy geode-web-management/src/distributedTest/java/org/apache/geode/management/client/{ClientClusterManagementServiceDUnitTest.java => ConfigurePDXDUnitTest.java} (67%)
copy geode-web-management/src/{distributedTest/java/org/apache/geode/management/client/ClientClusterManagementServiceDUnitTest.java => integrationTest/java/org/apache/geode/management/internal/rest/GeneralManagementServiceRestIntegrationTest.java} (51%)
create mode 100644 geode-web-management/src/integrationTest/java/org/apache/geode/management/internal/rest/JsonSerializationTest.java
create mode 100644 geode-web-management/src/integrationTest/java/org/apache/geode/management/internal/rest/PdxManagementTest.java
create mode 100644 geode-web-management/src/main/java/org/apache/geode/management/internal/rest/controllers/PdxManagementController.java
[geode] 01/01: GEODE-6770: add optional deregister driver class
when destroy data source.
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhouxj pushed a commit to branch feature/GEODE-6770
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 98d37be738002badceeda566392c3d892a0ce9e7
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Wed May 22 10:19:58 2019 -0700
GEODE-6770: add optional deregister driver class when destroy data source.
Co-authored-by: Benjamin Ross <br...@pivotal.io>
Co-authored-by: Donal Evans <do...@pivotal.io>
Co-authored-by: Xiaojian Zhou <gz...@pivotal.io>
---
.../internal/cli/DestroyDataSourceCommand.java | 54 ++++++++-
.../internal/cli/DestroyDataSourceCommandTest.java | 132 +++++++++++++++++++++
.../geode/internal/util/DriverJarUtilTest.java | 1 -
3 files changed, 183 insertions(+), 4 deletions(-)
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommand.java
index 2b1be87..0188710 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommand.java
@@ -14,6 +14,7 @@
*/
package org.apache.geode.connectors.jdbc.internal.cli;
+import java.sql.SQLException;
import java.util.List;
import java.util.Set;
@@ -28,12 +29,14 @@ import org.apache.geode.cache.configuration.RegionConfig;
import org.apache.geode.connectors.jdbc.internal.configuration.RegionMapping;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
+import org.apache.geode.internal.util.DriverJarUtil;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.SingleGfshCommand;
import org.apache.geode.management.internal.cli.commands.CreateJndiBindingCommand;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.cli.functions.DestroyJndiBindingFunction;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
+import org.apache.geode.management.internal.cli.result.model.InfoResultModel;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
import org.apache.geode.management.internal.exceptions.EntityNotFoundException;
import org.apache.geode.management.internal.security.ResourceOperation;
@@ -49,6 +52,10 @@ public class DestroyDataSourceCommand extends SingleGfshCommand {
"Skip the destroy operation when the specified data source does "
+ "not exist. Without this option, an error results from the specification "
+ "of a data source that does not exist.";
+ static final String DEREGISTER_DRIVER = "deregister-driver";
+ static final String DEREGISTER_DRIVER_HELP =
+ "Indicates whether or not the driver class associated"
+ + "with the target data source should be deregistered during the destroy process.";
@CliCommand(value = DESTROY_DATA_SOURCE, help = DESTROY_DATA_SOURCE_HELP)
@CliMetaData(relatedTopic = CliStrings.TOPIC_GEODE_REGION)
@@ -57,11 +64,15 @@ public class DestroyDataSourceCommand extends SingleGfshCommand {
public ResultModel destroyDataSource(
@CliOption(key = DATA_SOURCE_NAME, mandatory = true,
help = DATA_SOURCE_NAME_HELP) String dataSourceName,
+ @CliOption(key = DEREGISTER_DRIVER,
+ help = DEREGISTER_DRIVER_HELP, specifiedDefaultValue = "true",
+ unspecifiedDefaultValue = "false") boolean deregisterDriver,
@CliOption(key = CliStrings.IFEXISTS, help = IFEXISTS_HELP, specifiedDefaultValue = "true",
unspecifiedDefaultValue = "false") boolean ifExists) {
InternalConfigurationPersistenceService service =
(InternalConfigurationPersistenceService) getConfigurationPersistenceService();
+ String driverClassName = null;
if (service != null) {
List<JndiBindingsType.JndiBinding> bindings =
service.getCacheConfig("cluster").getJndiBindings();
@@ -86,6 +97,9 @@ public class DestroyDataSourceCommand extends SingleGfshCommand {
dataSourceName, ex.getMessage()));
}
+ if (deregisterDriver) {
+ driverClassName = binding.getJdbcDriverClass();
+ }
}
Set<DistributedMember> targetMembers = findMembers(null, null);
@@ -109,14 +123,27 @@ public class DestroyDataSourceCommand extends SingleGfshCommand {
}
ResultModel result = ResultModel.createMemberStatusResult(dataSourceDestroyResult);
+ InfoResultModel infoModel = result.addInfo();
+ String deregisterResult = deregisterDriver(deregisterDriver, driverClassName, dataSourceName);
+ if (deregisterResult != null) {
+ infoModel.addLine(deregisterResult);
+ }
result.setConfigObject(dataSourceName);
return result;
} else {
if (service != null) {
- ResultModel result =
- ResultModel
- .createInfo("No members found, data source removed from cluster configuration.");
+ // ResultModel result =
+ // ResultModel
+ // .createInfo("No members found, data source removed from cluster configuration.");
+ ResultModel result = new ResultModel();
+ InfoResultModel infoModel = result.addInfo();
+ infoModel.addLine("No members found, data source removed from cluster configuration.");
+ String deregisterResult =
+ deregisterDriver(deregisterDriver, driverClassName, dataSourceName);
+ if (deregisterResult != null) {
+ infoModel.addLine(deregisterResult);
+ }
result.setConfigObject(dataSourceName);
return result;
} else {
@@ -149,6 +176,27 @@ public class DestroyDataSourceCommand extends SingleGfshCommand {
|| CreateJndiBindingCommand.DATASOURCE_TYPE.POOLED.getType().equals(binding.getType());
}
+ private String deregisterDriver(boolean deregisterDriver, String driverClassName,
+ String dataSourceName) {
+ if (deregisterDriver && driverClassName != null) {
+ DriverJarUtil util = createDriverJarUtil();
+ try {
+ util.deregisterDriver(driverClassName);
+ } catch (SQLException ex) {
+ return "Warning: deregistering \"" + driverClassName + "\" while destroying data source \""
+ + dataSourceName + "\" failed with exception: " + ex.getMessage();
+ }
+ } else if (deregisterDriver && driverClassName == null) {
+ return "Warning: deregistering \"" + driverClassName + "\" while destroying data source \""
+ + dataSourceName + "\" failed: No driver class name found";
+ }
+ return null;
+ }
+
+ DriverJarUtil createDriverJarUtil() {
+ return new DriverJarUtil();
+ }
+
@Override
public boolean updateConfigForGroup(String group, CacheConfig config, Object element) {
CacheElement.removeElement(config.getJndiBindings(), (String) element);
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommandTest.java
index 4388e91..823b946 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DestroyDataSourceCommandTest.java
@@ -20,12 +20,14 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNotNull;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -47,6 +49,7 @@ import org.apache.geode.connectors.jdbc.internal.configuration.RegionMapping;
import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.util.DriverJarUtil;
import org.apache.geode.management.internal.cli.commands.CreateJndiBindingCommand;
import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
import org.apache.geode.management.internal.cli.functions.DestroyJndiBindingFunction;
@@ -364,4 +367,133 @@ public class DestroyDataSourceCommandTest {
assertThat(destroyingDataSource).isEqualTo(true);
assertThat(targetMembers.getValue()).isEqualTo(members);
}
+
+ @Test
+ public void destroyDataSourceWithDeregisterDriverSucceedsWithWarning() {
+ List<JndiBindingsType.JndiBinding> bindings = new ArrayList<>();
+ JndiBindingsType.JndiBinding jndiBinding = new JndiBindingsType.JndiBinding();
+ jndiBinding.setJndiName("name");
+ jndiBinding.setType(CreateJndiBindingCommand.DATASOURCE_TYPE.SIMPLE.getType());
+ bindings.add(jndiBinding);
+ doReturn(bindings).when(cacheConfig).getJndiBindings();
+
+ Set<DistributedMember> members = new HashSet<>();
+ members.add(mock(DistributedMember.class));
+
+ CliFunctionResult result =
+ new CliFunctionResult("server1", true, "Data source \"name\" destroyed on \"server1\"");
+ List<CliFunctionResult> results = new ArrayList<>();
+ results.add(result);
+
+ doReturn(members).when(command).findMembers(any(), any());
+ doReturn(results).when(command).executeAndGetFunctionResult(any(), any(), any());
+
+ gfsh.executeAndAssertThat(command, COMMAND + " --name=name --deregister-driver")
+ .statusIsSuccess()
+ .tableHasColumnOnlyWithValues("Member", "server1")
+ .tableHasColumnOnlyWithValues("Status", "OK")
+ .tableHasColumnOnlyWithValues("Message", "Data source \"name\" destroyed on \"server1\"");
+
+ assertThat(cacheConfig.getJndiBindings().isEmpty()).isTrue();
+ verify(command).updateConfigForGroup(eq("cluster"), eq(cacheConfig), any());
+
+ ArgumentCaptor<DestroyJndiBindingFunction> function =
+ ArgumentCaptor.forClass(DestroyJndiBindingFunction.class);
+ ArgumentCaptor<Object[]> arguments = ArgumentCaptor.forClass(Object[].class);
+
+ ArgumentCaptor<Set<DistributedMember>> targetMembers = ArgumentCaptor.forClass(Set.class);
+ verify(command, times(1)).executeAndGetFunctionResult(function.capture(), arguments.capture(),
+ targetMembers.capture());
+
+ String jndiName = (String) arguments.getValue()[0];
+ boolean destroyingDataSource = (boolean) arguments.getValue()[1];
+
+ assertThat(function.getValue()).isInstanceOf(DestroyJndiBindingFunction.class);
+ assertThat(jndiName).isEqualTo("name");
+ assertThat(destroyingDataSource).isEqualTo(true);
+ assertThat(targetMembers.getValue()).isEqualTo(members);
+ }
+
+ @Test
+ public void destroyDataSourceThrowsSQLExceptpionWithRegisterDriverAndBadDriverClassName()
+ throws SQLException {
+ DriverJarUtil util = mock(DriverJarUtil.class);
+ doReturn(util).when(command).createDriverJarUtil();
+
+ String exceptionMessage = "Command failed as expected.";
+
+ doThrow(new SQLException(exceptionMessage)).when(util).deregisterDriver(any());
+
+ List<JndiBindingsType.JndiBinding> bindings = new ArrayList<>();
+ JndiBindingsType.JndiBinding jndiBinding = new JndiBindingsType.JndiBinding();
+ jndiBinding.setJndiName("name");
+ jndiBinding.setJdbcDriverClass("badDriverClassName");
+ jndiBinding.setType(CreateJndiBindingCommand.DATASOURCE_TYPE.SIMPLE.getType());
+ bindings.add(jndiBinding);
+ doReturn(bindings).when(cacheConfig).getJndiBindings();
+
+ Set<DistributedMember> members = new HashSet<>();
+ members.add(mock(DistributedMember.class));
+
+ CliFunctionResult result =
+ new CliFunctionResult("server1", true, "Data source \"name\" destroyed on \"server1\"");
+ List<CliFunctionResult> results = new ArrayList<>();
+ results.add(result);
+
+ doReturn(members).when(command).findMembers(any(), any());
+ doReturn(results).when(command).executeAndGetFunctionResult(any(), any(), any());
+
+ gfsh.executeAndAssertThat(command, COMMAND + " --name=name --deregister-driver")
+ .containsOutput(exceptionMessage);
+ }
+
+ @Test
+ public void destroyDataSourceWithDeregisterDriverSucceedsWithoutWarnings() {
+ DriverJarUtil util = mock(DriverJarUtil.class);
+
+ List<JndiBindingsType.JndiBinding> bindings = new ArrayList<>();
+ JndiBindingsType.JndiBinding jndiBinding = new JndiBindingsType.JndiBinding();
+ jndiBinding.setJndiName("name");
+ jndiBinding.setJdbcDriverClass("driverClassName");
+ jndiBinding.setType(CreateJndiBindingCommand.DATASOURCE_TYPE.SIMPLE.getType());
+ bindings.add(jndiBinding);
+ doReturn(bindings).when(cacheConfig).getJndiBindings();
+
+ Set<DistributedMember> members = new HashSet<>();
+ members.add(mock(DistributedMember.class));
+
+ CliFunctionResult result =
+ new CliFunctionResult("server1", true, "Data source \"name\" destroyed on \"server1\"");
+ List<CliFunctionResult> results = new ArrayList<>();
+ results.add(result);
+
+ doReturn(members).when(command).findMembers(any(), any());
+ doReturn(results).when(command).executeAndGetFunctionResult(any(), any(), any());
+
+ gfsh.executeAndAssertThat(command, COMMAND + " --name=name --deregister-driver")
+ .statusIsSuccess()
+ .tableHasColumnOnlyWithValues("Member", "server1")
+ .tableHasColumnOnlyWithValues("Status", "OK")
+ .tableHasColumnOnlyWithValues("Message", "Data source \"name\" destroyed on \"server1\"")
+ .doesNotContainOutput("Warning:");
+
+ assertThat(cacheConfig.getJndiBindings().isEmpty()).isTrue();
+ verify(command).updateConfigForGroup(eq("cluster"), eq(cacheConfig), any());
+
+ ArgumentCaptor<DestroyJndiBindingFunction> function =
+ ArgumentCaptor.forClass(DestroyJndiBindingFunction.class);
+ ArgumentCaptor<Object[]> arguments = ArgumentCaptor.forClass(Object[].class);
+
+ ArgumentCaptor<Set<DistributedMember>> targetMembers = ArgumentCaptor.forClass(Set.class);
+ verify(command, times(1)).executeAndGetFunctionResult(function.capture(), arguments.capture(),
+ targetMembers.capture());
+
+ String jndiName = (String) arguments.getValue()[0];
+ boolean destroyingDataSource = (boolean) arguments.getValue()[1];
+
+ assertThat(function.getValue()).isInstanceOf(DestroyJndiBindingFunction.class);
+ assertThat(jndiName).isEqualTo("name");
+ assertThat(destroyingDataSource).isEqualTo(true);
+ assertThat(targetMembers.getValue()).isEqualTo(members);
+ }
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/util/DriverJarUtilTest.java b/geode-core/src/test/java/org/apache/geode/internal/util/DriverJarUtilTest.java
index 8a93b96..de8102a 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/util/DriverJarUtilTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/util/DriverJarUtilTest.java
@@ -63,5 +63,4 @@ public class DriverJarUtilTest {
util.deregisterDriver(driverName);
verify(util).deregisterDriverWithDriverManager(any());
}
-
}