Mario Ivanac [Fri, 1 Jul 2022 15:46:37 +0000 (17:46 +0200)]
GEODE-9484: Improve sending message to multy destinations (#7664)
* GEODE-9484: New solution to first try only one attempt to create all connections
* GEODE-9484: added fix for NPE
Mario Ivanac [Wed, 29 Jun 2022 20:38:28 +0000 (22:38 +0200)]
GEODE-9997: added ParallelQueueSetPossibleDuplicateMessage (#7323)
* GEODE-9997: added ParallelQueueSetPossibleDuplicateMessage to signal duplicate events on secondary buckets
Owen Nichols [Wed, 29 Jun 2022 19:03:14 +0000 (12:03 -0700)]
Decommission CODEOWNERS (#7820)
Mario Ivanac [Tue, 28 Jun 2022 20:58:00 +0000 (22:58 +0200)]
GEODE-10020: For Ping task avoid registering new destination endpoint (#7749)
* GEODE-10020: For Ping task avoid registering new destination endpoint
Dave Barnes [Thu, 23 Jun 2022 16:59:03 +0000 (09:59 -0700)]
GEODE-10385: User Guide - Remove bad G1GC tuning advice (#7815)
Alberto Gomez [Wed, 22 Jun 2022 16:01:10 +0000 (18:01 +0200)]
GEODE-10323: Remove schedule threads in MemoryAllocatorImpl constructor (#7715)
* GEODE-10323: Remove schedule threads in MemoryAllocatorImpl
The scheduled executor used in MemoryAllocatorImpl
was scheduled in the constructor. This provoked
intermittent failures in OffHeapStorageJUnitTest testCreateOffHeapStorage
test cases due to a race condition.
The scheduling has been moved to a new method (start())
in the MemoryAllocatorImpl class that is in turn
invoked in the create() static method.
* GEODE-10323: Extract update stats code to new class
Owen Nichols [Fri, 17 Jun 2022 22:50:09 +0000 (15:50 -0700)]
GEODE-10387: bump dependencies (#7805)
* GEODE-10387: Bump 3rd-party dependency versions
Geode endeavors to update to the latest version of 3rd-party
dependencies on develop wherever possible. Doing so increases the
shelf life of releases and increases security and reliability.
Doing so regularly makes the occasional hiccups this can cause easier
to pinpoint and address.
Dependency bumps in this batch:
* Bump cargo-core-uberjar from 1.9.10 to 1.9.12
* Bump classgraph from 4.8.146 to 4.8.147
* Bump jackson from 2.13.2 to 2.13.3
* Bump junit-pioneer from 1.6.2 to 1.7.1
* Bump micrometer-core from 1.9.0 to 1.9.1
* Bump mockito-core from 4.4.0 to 4.6.1
* Bump spring from 5.3.20 to 5.3.21
* Bump spring-hateoas from 1.4.2 to 1.5.0
* Bump spring-ldap-core from 2.3.7.RELEASE to 2.4.0
* Bump swagger-annotations from 2.2.0 to 2.2.1
Robert Houghton [Thu, 16 Jun 2022 22:49:24 +0000 (15:49 -0700)]
Fixes for cleaning GCP resources from pipelines (#7759)
* Fixes for cleaning GCP resources from pipelines
* Use meta.properties to feed pipeline cleanup script
* Add comments on use case for this script.
Robert Houghton [Thu, 16 Jun 2022 20:33:47 +0000 (13:33 -0700)]
GEODE-10388: create better output filter for srcDist task (#7806)
Replace the brittle exclude list for `build` and `out` directories with
a closure containing comparison logic for file-type and name. Makes sure
that regular files named `out` are still archived.
Robert Houghton [Thu, 16 Jun 2022 18:53:36 +0000 (11:53 -0700)]
GEODE-10378: Change PRs to default to JDK11 only (#7797)
Other JDK will be by request (label) only.
Authored-by: Robert Houghton <rhoughton@pivotal.io>
Jianxia Chen [Wed, 15 Jun 2022 23:15:44 +0000 (16:15 -0700)]
GEODE-10384: Add stack trace to logging (#7804)
Dave Barnes [Wed, 15 Jun 2022 21:07:00 +0000 (14:07 -0700)]
(no JIRA ticket) user guide Security section: Typo & format fixes (#7802)
Jinmei Liao [Wed, 15 Jun 2022 17:56:35 +0000 (10:56 -0700)]
GEODE-10380: use waitingThreadPool to notify dispatcher at re_auth (#7801)
Jacob Barrett [Wed, 15 Jun 2022 01:36:13 +0000 (18:36 -0700)]
GEODE-10326: Convert MessageType to enum. (#7688)
* Migrate unit tests to JUnit 5.
* Add missing unit tests.
Patrick Johnson [Wed, 15 Jun 2022 00:44:26 +0000 (17:44 -0700)]
GEODE-10261: VMProvider.invokeAsync uses appropriate parameterization. (#7631)
* Cleanup use of AsyncInvocation.
* Add generic parameters to AsyncInvocation variables where they were missing.
* Cleaned up by changing single element arrays to variables.
Sean Goller [Mon, 13 Jun 2022 18:56:38 +0000 (11:56 -0700)]
GEODE-10369 part 2 Fix hardcoded gcp project reference and adjust windows unit test cpu/ram usage. (#7798)
* Fix hardcoded reference to gcp project.
* Fix windows unit test ram and cpu settings.
Mario Kevo [Mon, 13 Jun 2022 07:53:44 +0000 (09:53 +0200)]
GEODE-10267: fix creating gw sender with non-existent disk store (#7643)
* GEODE-10267: fix creating gw sender with non-existent disk store
Sean Goller [Sat, 11 Jun 2022 06:49:53 +0000 (23:49 -0700)]
GEODE-10369: Calculate heavy lifter costs. (#7796)
* Change to e2 instances.
* Adjust machine type based on cpu and ram requirements.
* Test half cpu on performance.
* remove half-cpu test. Add calculations for standard machine types.
* fix machine type
* Indicate machine type to be created.
* Determine CPU Platform.
* Abandon n2 types because they don't scale high enough cpuwise.
* Remove min cpu platform.
* Utilize highcpu instances for cpu==ram jobs.
* Make build job cpu==ram.
* Change windows unit tests cpu/ram from 10 to 8.
* Calculate total cost in delete_instance.sh
* Add coreutils to alpine-tools so we can get gnu date.
* Dump the json file with cost data.
* Add highcpu case and identify unknown case.
* fix MACHINE_FAMILY references.
* Fix jq syntax. Copy cost-data.json to infra bucket.
* Change cpuCost and ramCost to cpuRate and ramRate
* Divide ram by 1024 because it's megabytes.
* Use activity audit log instead of syslog so we can audit windows.
* Revert job cpu changes.
Jinmei Liao [Fri, 10 Jun 2022 18:52:15 +0000 (11:52 -0700)]
GEODE-10375: update supported api docs link (#7794)
Nabarun Nag [Fri, 10 Jun 2022 18:16:51 +0000 (11:16 -0700)]
GEODE-6504: Instant class used. (#7779)
* Using instant class instead of nanos.
* Nanos is not updated that often hence not proper resolution.
Donal Evans [Fri, 10 Jun 2022 16:27:15 +0000 (09:27 -0700)]
GEODE-10329: Handle RejectedExecutionException (#7721)
Do not throw RejectedExecutionException if the GMSHealthMonitor is
stopping
Authored-by: Donal Evans <doevans@vmware.com>
Jinmei Liao [Thu, 9 Jun 2022 18:10:54 +0000 (11:10 -0700)]
GEODE-6489: fix a flaky test (#7777)
* fix GemFireDeadlockDetectorDUnitTest.testDistributedDeadlockWithDLock
Jinmei Liao [Thu, 9 Jun 2022 17:13:03 +0000 (10:13 -0700)]
GEODE-10351: Wait till the cache is completely closed before re-creating (#7760)
Mario Kevo [Thu, 9 Jun 2022 09:14:13 +0000 (11:14 +0200)]
GEODE-7875: fix create index gfsh command on partitioned region (#7629)
* GEODE-7875: fix create index gfsh command on partitioned region
Nabarun Nag [Thu, 9 Jun 2022 02:54:40 +0000 (19:54 -0700)]
Revert "GEODE-9632: Allow INDEX_THRESHOLD_SIZE System property to override CompiledValue.RESULT_LIMIT (#7010)" (#7787)
This reverts commit
67359dcd
Dale Emery [Wed, 8 Jun 2022 21:17:49 +0000 (14:17 -0700)]
GEODE-10321: Acceptance test for Geode access to JDK internals (#7772)
* GEODE-10321: Acceptance test for Geode access to JDK internals
Add acceptance tests to demonstrate two ways to give Geode access to
encapsulated fields of a JDK 17 class:
- Tell Gfsh to open the class's package when starting a Geode member.
- Tell Gfsh to use `open-all-jdk-packages-linux-openjdk-17` as an
argument file when starting a Geode member.
Add another test to demonstrate the kind of error that happens when
Geode cannot access an encapsulated field of a JDK 17 class.
* Clean up
Remove unnecessary dependency on JUnit 5 rule migration support.
Start server without default server.
Other cleanup.
Alberto Gomez [Wed, 8 Jun 2022 13:36:30 +0000 (15:36 +0200)]
GEODE-10068: Make WanCopyRegionFunctionService thread pool configurab… (#7424)
* GEODE-10068: Make WanCopyRegionFunctionService thread pool configurable through property
* GEODE-10068: Change name of property and add test case
* GEODE-10068: Update after more review comments
Owen Nichols [Wed, 8 Jun 2022 03:40:46 +0000 (20:40 -0700)]
GEODE-10089: update LICENSE due to redis removal, change to springdoc, and inclusion of joda-time (#7783)
Max Hufnagel [Wed, 8 Jun 2022 00:04:05 +0000 (17:04 -0700)]
GEODE-10342: Simplify copying jars (#7778)
Max Hufnagel [Tue, 7 Jun 2022 16:12:12 +0000 (09:12 -0700)]
GEODE-10365: Add referenced but missing components to table (#7775)
Mario Ivanac [Tue, 7 Jun 2022 05:07:53 +0000 (07:07 +0200)]
GEODE-10280: add Status Message to Status Server Command (#7662)
* GEODE-10280: add Status Message to Status Server Command
* GEODE-10280: update test after comments
Darrel Schneider [Mon, 6 Jun 2022 23:45:33 +0000 (16:45 -0700)]
GEODE-8977: change ThreadMonitor to reduce how long it does a "stop the world" ThreadDump vm op (#7751)
Now uses a cheaper getThreadInfo that does not get lock info by default and calls getThreadInfo for each stuck thread. These are the defaults because they have the shortest time do the the VM ThreadDump operation.
To get locks set the system property "gemfire.threadmonitor.showLocks" to "true".
To get ThreadInfo on all stuck threads with a single call set the system property "gemfire.threadmonitor.batchCalls" to "true".
Jinmei Liao [Mon, 6 Jun 2022 22:59:21 +0000 (15:59 -0700)]
GEODE-10304: locator thread should not exit after reconnecting (#7697)
* Also refactor ReconnectDUnitTest to use lamdas instead of `Callable` and `Runnable` interfaces.
Alberto Gomez [Mon, 6 Jun 2022 18:18:46 +0000 (20:18 +0200)]
GEODE-10155: Avoid threads hanging when function execution times-out (#7493)
* GEODE-10155: Avoid threads hanging when function execution times-out
* GEODE-10155: Updated after review
* GEODE-10155: More changes after review
* GEODE-10155: Changes after more reviews
* GEODE-10155: Some more changes after review
* GEODE-10155: More changes after review
* GEODE-10155: More clean-up after review
Alberto Gomez [Mon, 6 Jun 2022 06:54:33 +0000 (08:54 +0200)]
GEODE-10346: Correct description of batch-time-interval in doc. (#7742)
Alberto Gomez [Fri, 3 Jun 2022 18:50:13 +0000 (20:50 +0200)]
GEODE-10352: Update Ruby version in Geode doc preview tool (#7753)
The script to preview the documentation of Geode (./preview-user-guide.sh)
is not working anymore.
The following error appears while running it (unless you have a previously downloaded
geodedocs/temp docker image in your local docker repo):
ERROR: Error installing elasticsearch:
The last version of faraday (>= 0) to support your Ruby & RubyGems was 1.10.0. Try installing it with `gem install faraday -v 1.10.0` and then running the current command again
faraday requires Ruby version >= 2.6. The current ruby version is 2.5.9.229.
That error prevents the preview script to work.
It is needed to update the docker image used to preview the documentation to use a Ruby version >= 2.6.
The versions of other gems also need to be updated after the
change of the Ruby version.
Robert Houghton [Fri, 3 Jun 2022 17:50:40 +0000 (10:50 -0700)]
Short-circuit CI checks for PRs that don't touch buildable files (#7763)
* Short-circuit CI checks for PRs that don't touch buildable files
Nabarun Nag [Fri, 3 Jun 2022 17:04:53 +0000 (10:04 -0700)]
GEODE-10356: Corrected the comment (#7762)
* The previous comment on removeOldEntry mentioned that the old entry
was replaced
* This has been corrected to mention that the old entry is removed and
the new entry has been added to the region queue
Max Hufnagel [Fri, 3 Jun 2022 15:24:40 +0000 (08:24 -0700)]
GEODE-10342: Add current jars to HTTP Module for Tomcat instructions (#7745)
Joris Melchior [Fri, 3 Jun 2022 15:13:44 +0000 (11:13 -0400)]
GEODE-10301: support LocalDate and JodaTime (#7737)
* GEODE-10301: support LocalDate and JodaTime
Co-authored-by: Jinmei Liao <jliao@pivotal.io>
- include libraries so that end-users won't have to add them to the java
path
- ensure proper serialization in gfsh and pulse
Kirk Lund [Thu, 2 Jun 2022 23:36:05 +0000 (16:36 -0700)]
GEODE-10327: Overhaul GfshRule to kill processes and save artifacts (#7758)
PROBLEM
Tests that use GfshRule leave behind orphaned processes and do not save
artifacts for debugging failures.
SOLUTION
GfshRule needs to cleanup all processes it forks. It also needs to save
off all runtime artifacts such as logging, stats, pid files, diskstores
to enable debugging of test failures.
DETAILS
Enhance GfshRule and modify all tests using it for proper debugging and
to prevent test pollution.
Overhaul of GfshRule:
* kill ALL geode processes during cleanup
* use FolderRule to ensure all logs and files are properly saved off
when a test fails
* extract GfshExecutor from JUnit rule code
* GfshExecutor allows a test to use any number of Geode versions with
just one GfshRule
* add Gfsh log level support for easier debugging
* add support for new VmConfiguration to allow control over Geode and
Java versions
* overhaul API of GfshRule and companion classes for better consistency
and design
New FolderRule:
* replaces TemporaryFolder and saves off all content when a test fails
* creates root directory under the gradle worker instead of under temp
Update HTTP session caching module tests:
* use new FolderRule to save all artifacts when a test fails
* use nio Paths for filesystem variables
Update acceptance and upgrade tests that use GfshRule:
* use new improved GfshRule and GfshExecutor
* use new FolderRule instead of TemporaryFolder to save all artifacts
when a test fails
* use --disable-default-server in tests with no clients
* fix flakiness of many tests by using random ports instead of default
or hardcoded port values
* reformat GfshRule API usage in tests to improve readability and
consistency
* add GfshStopper to provide common place to await process stop (stop
locator/server is async so restarting with same ports is very prone
to hitting BindExceptions)
Update ProcessUtils:
* extract NativeProcessUtils and make it public for direct use
* rename InternalProcessUtils as ProcessUtilsProvider and move to its
own class
* rethrow IOExceptions as UncheckedIOExceptions
* fix flakiness in NativeProcessUtilsTest by moving findAvailablePid
into test method
Minor changes:
* improve code formatting and readability
* convert from old io File to nio Path APIs as much as possible
* close output streams to fix filesystem issues on Windows
Fixes flaky test tickets:
* DeployJarAcceptanceTest GEODE-9615
* possibly other tests that uses GfshRule
Changes for resubmit:
* log error message if unable to delete folder
* keep default constructor on GfshRule
* ensure IO streams have proper error handling and don't cause failures
on windows
Changes to build pipelines:
* make jdk17 tests gating
NOTES
The labels jdk8, jdk17, windows, windows-jdk8 and windows-jdk17 were
used to run tests on more environments.
This PR contains mostly test and framework changes. The only product
code altered is ServerLauncher and several classes in
org.apache.geode.internal.process, all of which is in geode-core.
Owen Nichols [Thu, 2 Jun 2022 21:53:42 +0000 (14:53 -0700)]
GEODE-10355: Bump spring-security from 5.6.3 to 5.6.5 (#7761)
Geode endeavors to update to the latest version of 3rd-party
dependencies on develop wherever possible. Doing so increases the
shelf life of releases and increases security and reliability.
Doing so regularly makes the occasional hiccups this can cause easier
to pinpoint and address.
Dependency bumps in this batch:
* Bump spring-security from 5.6.3 to 5.6.5
Xiaojian Zhou [Thu, 2 Jun 2022 21:35:26 +0000 (14:35 -0700)]
GEODE-10357: add gesterzhou as code owner for logging components (#7764)
Nabarun Nag [Thu, 2 Jun 2022 20:20:26 +0000 (13:20 -0700)]
GEODE-10106: Use local ref to queueConnection. (#7740)
* Using queueConnection local ref for multiple if checks
* As it is a volatile variable, the value may become null mid checks.
Robert Houghton [Thu, 2 Jun 2022 18:29:11 +0000 (11:29 -0700)]
GEODE-10309: fixup: Give more memory to windows-core-integration-test (#7757)
Nabarun Nag [Thu, 2 Jun 2022 18:16:56 +0000 (11:16 -0700)]
GEODE-9711: Refactored DUnit to DistributedTest (#6970)
* Typos were fixed in ConflationDUnitTestHelper
* ConflationDUnitTestHelper name was changed to
ConflationDistributedTest
* All DUnit tests affected by ConflationDUnitTestHelper refactoring was
renamed to DistributedTest
Alberto Gomez [Thu, 2 Jun 2022 17:55:19 +0000 (19:55 +0200)]
GEODE-10348: Fix documentation on conflation (#7746)
The Geode documentation states on conflation:
"When an update is added to a queue that has conflation enabled,
if there is already an update message in the queue for the
entry key, then the existing message assumes the value of the
new update and the new update is dropped, as shown here for key A."
Nevertheless, that is not correct. The actual behavior is the following:
"When an update is added to a queue that has conflation enabled,
if there is already an update message in the queue for the
entry key, then the existing message is removed and the new
update is added to the end of the queue, as shown here for key A."
The text has been updated as well as the the figure with the example.
Robert Houghton [Thu, 2 Jun 2022 17:11:21 +0000 (10:11 -0700)]
GEODE-10309: Give more memory to windows-core-integration-test (#7755)
Nabarun Nag [Thu, 2 Jun 2022 04:36:39 +0000 (21:36 -0700)]
GEODE-10347: Refactor PartitionedRegionStatsDUnitTest (#7744)
* Renamed to PartitionedRegionStatsDistributedTest
* Used the new test framework
* Compartmentalize the cluster members so that parallel tests do not
affect the individual tests.
Kirk Lund [Thu, 2 Jun 2022 00:42:17 +0000 (17:42 -0700)]
Revert "GEODE-10327: Overhaul GfshRule to kill processes and save artifacts (#7731)" (#7750)
This reverts commit
3f8f8db595ca4b99b25fe4d109a8ed118a712701.
Kirk Lund [Wed, 1 Jun 2022 21:16:35 +0000 (14:16 -0700)]
GEODE-10327: Overhaul GfshRule to kill processes and save artifacts (#7731)
PROBLEM
Tests that use GfshRule leave behind orphaned processes and do not save
artifacts for debugging failures.
SOLUTION
GfshRule needs to cleanup all processes it forks. It also needs to save
off all runtime artifacts such as logging, stats, pid files, diskstores
to enable debugging of test failures.
DETAILS
Enhance GfshRule and modify all tests using it for proper debugging and
to prevent test pollution.
Overhaul of GfshRule:
* kill ALL geode processes during cleanup
* use FolderRule to ensure all logs and files are properly saved off
when a test fails
* extract GfshExecutor from JUnit rule code
* GfshExecutor allows a test to use any number of Geode versions with
just one GfshRule
* add Gfsh log level support for easier debugging
* add support for new VmConfiguration to allow control over Geode and
Java versions
* overhaul API of GfshRule and companion classes for better consistency
and design
New FolderRule:
* replaces TemporaryFolder and saves off all content when a test fails
* creates root directory under the gradle worker instead of under temp
Update HTTP session caching module tests:
* use new FolderRule to save all artifacts when a test fails
* use nio Paths for filesystem variables
Update acceptance and upgrade tests that use GfshRule:
* use new improved GfshRule and GfshExecutor
* use new FolderRule instead of TemporaryFolder to save all artifacts
when a test fails
* use --disable-default-server in tests with no clients
* fix flakiness of many tests by using random ports instead of default
or hardcoded port values
* reformat GfshRule API usage in tests to improve readability and
consistency
* add GfshStopper to provide common place to await process stop (stop
locator/server is async so restarting with same ports is very prone
to hitting BindExceptions)
Update ProcessUtils:
* extract NativeProcessUtils and make it public for direct use
* rename InternalProcessUtils as ProcessUtilsProvider and move to its
own class
* rethrow IOExceptions as UncheckedIOExceptions
* fix flakiness in NativeProcessUtilsTest by moving findAvailablePid
into test method
Minor changes:
* improve code formatting and readability
* convert from old io File to nio Path APIs as much as possible
* close output streams to fix filesystem issues on Windows
Fixes flaky test tickets:
* DeployJarAcceptanceTest GEODE-9615
* possibly other tests that uses GfshRule
Changes for resubmit:
* log error message if unable to delete folder
NOTES
The jdk8, jdk17 and windows labels were used to run tests on more
environments.
This PR contains mostly test and framework changes. The only product
code altered is ServerLauncher and several classes in
org.apache.geode.internal.process, all of which is in geode-core.
Kirk Lund [Wed, 1 Jun 2022 21:14:48 +0000 (14:14 -0700)]
GEODE-10327: Update geode-dunit and geode-junit codeowners (#7748)
Add Darrel to geode-dunit and geode-junit while Dale is unavailable.
Jianxia Chen [Wed, 1 Jun 2022 21:03:21 +0000 (14:03 -0700)]
GEODE-10305: Change locator and server dirs (#7730)
Use non-temporary directories to keep the logs in case of test failure
Nabarun Nag [Wed, 1 Jun 2022 19:36:36 +0000 (12:36 -0700)]
GEODE-6588: Fixed mismatch of placeholders and arguments (#7375)
Eric Shu [Wed, 1 Jun 2022 18:47:59 +0000 (11:47 -0700)]
GEODE-10294: Compare invalid token during putIfAbsent retry. (#7738)
* During putIfAbsent retry, comparing invalid token value when
putIfAbsent of a null value.
* Do not make putIfAbsent event to update event if current
entry value is null or invalidate and is a retried event.
Jianxia Chen [Wed, 1 Jun 2022 17:44:52 +0000 (10:44 -0700)]
GEODE-10308: Close the cache after stopping the Tomcat container (#7739)
Robert Houghton [Wed, 1 Jun 2022 17:36:43 +0000 (10:36 -0700)]
GEODE-10309: Enable parallel tests for windows tests (#7743)
* more parallelism for windows (not acceptance) tests
Using the test-isolation plugin for parallelism, instead of Docker,
enables parallel testing on Windows for some jobs.
Patrick Johnson [Wed, 1 Jun 2022 01:33:58 +0000 (18:33 -0700)]
GEODE-10312: Fix the v1/v3 mismatch. (#7720)
* Remove SpringBootApplication annotation from swagger APIs.
* Change v1 to v3 in swagger api-docs URLs.
Nabarun Nag [Tue, 31 May 2022 18:50:38 +0000 (11:50 -0700)]
Revert "GEODE-10020: For Ping task avoid registering new destination endpoint (#7515)" (#7741)
This reverts commit
18f0e9c55c3aeb14ceb3b1f07c07008b0126d6be.
Nabarun Nag [Sat, 28 May 2022 19:58:05 +0000 (12:58 -0700)]
GEODE-10334: Refactor distributed tests (#7722)
* DistributedMulticastRegionWithUDPSecurityDUnitTest -> DistributedMulticastRegionWithUDPSecurityDistributedTest
* DistributedMulticastRegionDUnitTest -> DistributedMulticastRegionDistributedTest
* Removed deprecated APIs
* Moved to new test framework.
Owen Nichols [Fri, 27 May 2022 20:58:24 +0000 (13:58 -0700)]
GEODE-10343: add ability to opt-in to windows-jdk8 and windows-jdk17 pr checks (#7736)
(cherry picked from commit
e79c6aa44bd6c4285dddd0c0715fe7ed41d24660)
Max Hufnagel [Fri, 27 May 2022 15:19:29 +0000 (08:19 -0700)]
GEODE-10341: add note that snapshot includes in-cache and overflow entries (#7729)
Kirk Lund [Thu, 26 May 2022 20:32:27 +0000 (13:32 -0700)]
Revert "GEODE-10327: Overhaul GfshRule to kill processes and save artifacts for failures (#7571)" (#7728)
This reverts commit
774505e7c74cff8c572be1ec4f4bb2b0f3e1a091.
Jinmei Liao [Thu, 26 May 2022 16:29:47 +0000 (09:29 -0700)]
GEODE-10311: fix a flaky test (#7709)
Mario Ivanac [Thu, 26 May 2022 05:09:04 +0000 (07:09 +0200)]
GEODE-10277: For destroyed region don`t check size (#7653)
Kirk Lund [Wed, 25 May 2022 18:09:24 +0000 (11:09 -0700)]
GEODE-10327: Overhaul GfshRule to kill processes and save artifacts for failures (#7571)
PROBLEM
Tests that use GfshRule leave behind orphaned processes and do not save artifacts for debugging failures.
SOLUTION
GfshRule needs to cleanup all processes it forks. It also needs to save off all runtime artifacts such as logging, stats, pid files, diskstores to enable debugging of test failures.
DETAILS
Enhance GfshRule and modify all tests using it for proper debugging and to prevent test pollution.
Overhaul of GfshRule:
* kill ALL geode processes during cleanup
* use FolderRule to ensure all logs and files are properly saved off when a test fails
* extract GfshExecutor from JUnit rule code
* GfshExecutor allows a test to use any number of Geode versions with just one GfshRule
* add Gfsh log level support for easier debugging
* add support for new VmConfiguration to allow control over Geode and Java versions
* overhaul API of GfshRule and companion classes for better consistency and design
New FolderRule:
* replaces TemporaryFolder and saves off all content when a test fails
* creates root directory under the gradle worker instead of under temp
Update HTTP session caching module tests:
* use new FolderRule to save all artifacts when a test fails
* use nio Paths for filesystem variables
Update acceptance and upgrade tests that use GfshRule:
* use new improved GfshRule and GfshExecutor
* use new FolderRule instead of TemporaryFolder to save all artifacts when a test fails
* use --disable-default-server in tests with no clients
* fix flakiness of many tests by using random ports instead of default or hardcoded port values
* reformat GfshRule API usage in tests to improve readability and consistency
* add GfshStopper to provide common place to await process stop (stop locator/server is async so restarting with same ports is very prone to hitting BindExceptions)
Update ProcessUtils:
* extract NativeProcessUtils and make it public for direct use
* rename InternalProcessUtils as ProcessUtilsProvider and move to its own class
* rethrow IOExceptions as UncheckedIOExceptions
* fix flakiness in NativeProcessUtilsTest by moving findAvailablePid into test method
Minor changes:
* improve code formatting and readability
* convert from old io File to nio Path APIs as much as possible
* close output streams to fix filesystem issues on Windows
Fixes flaky test tickets:
* DeployJarAcceptanceTest GEODE-9615
* possibly other tests that uses GfshRule
NOTES
The jdk8, jdk17 and windows labels were used to run tests on more environments.
This PR contains mostly test and framework changes. The only product code altered is ServerLauncher and several classes in org.apache.geode.internal.process, all of which is in geode-core.
Mario Ivanac [Wed, 25 May 2022 05:54:26 +0000 (07:54 +0200)]
GEODE-10020: For Ping task avoid registering new destination endpoint (#7515)
* GEODE-10020: For Ping task avoid registering new destination endpoint
Mario Ivanac [Wed, 25 May 2022 05:32:44 +0000 (07:32 +0200)]
GEODE-10226: Added monitoring of async writer (#7667)
* GEODE-10226: Added monitoring of async writer
Owen Nichols [Mon, 23 May 2022 22:39:32 +0000 (15:39 -0700)]
GEODE-10275: Bump spring from 5.3.19 to 5.3.20 (#7718)
Geode endeavors to update to the latest version of 3rd-party
dependencies on develop wherever possible. Doing so increases the
shelf life of releases and increases security and reliability.
Doing so regularly makes the occasional hiccups this can cause easier
to pinpoint and address.
Dependency bumps in this batch:
* Bump spring from 5.3.19 to 5.3.20
Darrel Schneider [Mon, 23 May 2022 20:57:04 +0000 (13:57 -0700)]
GEODE-10328: close data store stats on cache close (#7716)
data store stats are now also closed on cache close or forced disconnect
Jinmei Liao [Mon, 23 May 2022 16:37:58 +0000 (09:37 -0700)]
GEODE-10318: do not add duplicate entries in the locators list (#7703)
* move locator parsing to api package
Donal Evans [Mon, 23 May 2022 15:37:58 +0000 (08:37 -0700)]
GEODE-10297: Create SSLContext using default protocols (#7680)
- Modify SSLUtil to attempt to create SSLContext using the supported SSL
contexts
- Add WANSSLDistributedTest to test protocol/cipher combinations in WAN
context
- Do not hide exception when generating key pair in CertificateBuilder
- Fix javadoc error in SocketCreator
Authored-by: Donal Evans <doevans@vmware.com>
Nabarun Nag [Fri, 20 May 2022 21:48:51 +0000 (14:48 -0700)]
GEODE-9987: Refactored/Removal of deprecated API (#7303)
* The tests were refactored to remove deprecated functions.
* This was done so that the starting and stopping of members are
handled correctly.
mhansonp [Fri, 20 May 2022 19:31:05 +0000 (12:31 -0700)]
Removing myself from CODEOWNERS (#7708)
* Removing myself from CODEOWNERS and rebasing to pickup changes
* Adding Dale to dunit and junit ownership
Jens Deppe [Thu, 19 May 2022 23:51:04 +0000 (16:51 -0700)]
GEODE-10322: Run various Analyze Serialiable tests from IntelliJ (#7711)
Owen Nichols [Thu, 19 May 2022 23:19:37 +0000 (16:19 -0700)]
GEODE-10320: Bump micrometer from 1.8.5 to 1.9.0 (#7706)
Geode endeavors to update to the latest version of 3rd-party
dependencies on develop wherever possible.
This bump will also help Spring and JDK17 efforts.
Owen Nichols [Thu, 19 May 2022 22:05:06 +0000 (15:05 -0700)]
update CODEOWNERS: restore min two owners per area and fix other warnings (#7714)
Mario Ivanac [Thu, 19 May 2022 20:22:07 +0000 (22:22 +0200)]
GEODE-10310: Add disable reatempt on CacheClose (#7690)
* GEODE-10310: Add disable reatempt on CacheClose
Dale Emery [Thu, 19 May 2022 17:08:09 +0000 (10:08 -0700)]
GEODE-10319: Clear meters when closing the meter registry (#7705)
* GEODE-10319: Clear meters when closing the meter registry
* Close first, allowing registry to close meters
Nabarun Nag [Thu, 19 May 2022 16:11:47 +0000 (09:11 -0700)]
Revert "GEODE-10294: Compare invalid token during putIfAbsent retry. (#7679)" (#7704)
This reverts commit
4f4af2a303142729708a951cc8a93f562c3de8bc.
Darrel Schneider [Wed, 18 May 2022 22:20:44 +0000 (15:20 -0700)]
GEODE-10315: remove unneeded add-opens (#7699)
Jinmei Liao [Wed, 18 May 2022 19:38:09 +0000 (12:38 -0700)]
GEODE-10115: fix javadoc (#7698)
Xiaojian Zhou [Wed, 18 May 2022 18:55:15 +0000 (11:55 -0700)]
GEODE-10290: GII requester should remove departed members (#7670)
Dave Barnes [Tue, 17 May 2022 13:39:13 +0000 (06:39 -0700)]
GEODE-10313: User Guide: Add javadocs template variable (#7696)
Jinmei Liao [Mon, 16 May 2022 22:58:28 +0000 (15:58 -0700)]
GEODE-10286: handle CancelException in PersistenceAdvisor.close (#7677)
Dale Emery [Mon, 16 May 2022 22:22:52 +0000 (15:22 -0700)]
GEODE-10257: Upgrade tests can upgrade Java (#7686)
Currently, upgrade tests upgrade from an old version of Geode to the
current version, both running on the test JVM's version of Java.
This commit enhances most upgrade tests so that they also upgrade from
an old Java version to a newer one, both running the current version of
Geode.
The new `VmConfiguration` class represents a configuration for a Geode
JVM, specifying both the Java version and the Geode version.
The new `VmConfigurations` class offers two factory methods to produce
lists of candidate configurations:
- `VmConfigurations.upgrades()` produces a list of "upgrade"
configurations useful for most upgrade tests. Each upgrade
configuration specifies either and old version of Geode or an old
version of Java, but not both.
- `VmConfigurations.all()` produces a list of upgrades plus a
configuration representing the current version of Geode and the test
JVM's version of Java.
`VmConfigurations` also includes factory methods to create predicates to
filter configurations.
Robert Houghton [Mon, 16 May 2022 17:47:45 +0000 (10:47 -0700)]
GEODE-10309: Enable parallel tests for windows-gfsh-distributed-test (#7689)
Using the test-isolation plugin for parallelism, instead of Docker,
enables parallel testing on Windows for some jobs.
Eric Shu [Fri, 13 May 2022 23:21:47 +0000 (16:21 -0700)]
GEODE-10294: Compare invalid token during putIfAbsent retry. (#7679)
* During putIfAbsent retry, comparing invalid token value when
putIfAbsent of a null value instead.
mhansonp [Fri, 13 May 2022 21:31:31 +0000 (14:31 -0700)]
GEODE-10306 Fixing an order issue that can lead to problems when stopping (#7682)
When stopping the cache server, the acceptor is last which should not be the case. It should be first so new data stops coming in.
Dale Emery [Fri, 13 May 2022 21:31:17 +0000 (14:31 -0700)]
GEODE-10302: Increase call stack timeout for upgrade tests (#7691)
To be 3h45m, 15 minutes shy of the newly increased task timeout.
Dave Barnes [Fri, 13 May 2022 20:20:56 +0000 (13:20 -0700)]
GEODE-10307: Doc changes needed for enable security-manager property (#7687)
* GEODE-10307: Doc changes needed for enable security-manager property
Robert Houghton [Thu, 12 May 2022 23:20:12 +0000 (16:20 -0700)]
GEODE-10303: Increase memory for windows-gfsh-distributed-test (#7685)
Authored-by: Robert Houghton <rhoughton@pivotal.io>
Dale Emery [Thu, 12 May 2022 23:09:58 +0000 (16:09 -0700)]
GEODE-10302: Increase upgrade test timeout to 4h (#7683)
Max Hufnagel [Wed, 11 May 2022 23:17:52 +0000 (16:17 -0700)]
GEODE-10299: update examples for creating dynamic regions (#7681)
Jinmei Liao [Wed, 11 May 2022 17:48:23 +0000 (10:48 -0700)]
GEODE-10271: ConnectionProxyJUnitTest cleanup (#7652)
Robert Houghton [Wed, 11 May 2022 17:14:43 +0000 (10:14 -0700)]
GEODE-10283: Remove problematic buildSrc project, replacing with includeBuild projects (#7600)
* Extract DependencyConstraints plugin from buildSrc
* Extract japicmp plugin customization from buildSrc
* Test isolation from buildSrc
* Disable jacoco on all test facets by default
Co-authored-by: Your Name <you@example.com>
Dale Emery [Wed, 11 May 2022 15:48:30 +0000 (08:48 -0700)]
GEODE-10288: Fix property assignment syntax (#7678)
Dale Emery [Tue, 10 May 2022 23:47:20 +0000 (16:47 -0700)]
GEODE-10289: Argument file for JDK 17 (#7673)
* GEODE-10289: Argument file for JDK 17
The argument file was generated on Linux using OpenJDK 17.0.2
* Add arg file to assembly_content.txt
Robert Houghton [Tue, 10 May 2022 21:26:51 +0000 (14:26 -0700)]
GEODE-10293: Modify .asf.yaml to require CodeQL, drop LGTM (#7674)
GEODE-10293: Modify .asf.yaml to require CodeQL, drop LGTM
Dale Emery [Tue, 10 May 2022 19:56:02 +0000 (12:56 -0700)]
GEODE-10288: Define JDK 8, 11, 17 homes for upgrade tests (#7675)