Jinmei Liao [Wed, 8 Jun 2022 22:38:35 +0000 (15:38 -0700)]
rebase to develop
zhouxh [Tue, 8 Mar 2022 06:58:44 +0000 (22:58 -0800)]
Rebase missed code changes in DistributedClearOperation
Jinmei Liao [Mon, 7 Mar 2022 21:25:27 +0000 (13:25 -0800)]
rebase to develop
mhansonp [Tue, 13 Jul 2021 16:34:54 +0000 (09:34 -0700)]
GEODE-9194: Feature/region stats update (#6430)
* GEODE-9194: add PR Region Clear statistics
mhansonp [Tue, 8 Jun 2021 16:41:32 +0000 (09:41 -0700)]
GEODE-9194: Missing file is causing trouble (#6574)
Kirk Lund [Fri, 30 Apr 2021 20:51:33 +0000 (13:51 -0700)]
GEODE-9195: Remove PR clear local locking (#6410)
Unit test changes in BucketRegion and DistributedRegion.
Unit test most of PartitionedRegionClearMessage.
Kirk Lund [Thu, 22 Apr 2021 18:43:10 +0000 (11:43 -0700)]
GEODE-9132: Fix locking in PRClearCreateIndexDUnitTest
Kirk Lund [Thu, 22 Apr 2021 18:42:09 +0000 (11:42 -0700)]
GEODE-9132: Use factory method to avoid escaped reference
Kirk Lund [Wed, 21 Apr 2021 22:24:06 +0000 (15:24 -0700)]
GEODE-9132: Always acquire write lock for PR clear
Kirk Lund [Mon, 19 Apr 2021 23:42:22 +0000 (16:42 -0700)]
GEODE-9132: PartitionedRegionClearWithConcurrentOperationsDUnitTest cleanup 3
Kirk Lund [Mon, 19 Apr 2021 23:16:17 +0000 (16:16 -0700)]
GEODE-9132: PartitionedRegionClearWithConcurrentOperationsDUnitTest cleanup 2
Kirk Lund [Mon, 19 Apr 2021 21:38:02 +0000 (14:38 -0700)]
GEODE-9132: PartitionedRegionClearWithConcurrentOperationsDUnitTest cleanup 1
Kirk Lund [Fri, 16 Apr 2021 18:40:37 +0000 (11:40 -0700)]
Fixup AnalyzeCoreSerializablesJUnitTest for PartitionedRegionPartialClearException
Kirk Lund [Fri, 16 Apr 2021 00:12:10 +0000 (17:12 -0700)]
GEODE-9132: Remove ClearPRMessage from sanctionedDataSerializables.txt
Kirk Lund [Fri, 16 Apr 2021 00:10:24 +0000 (17:10 -0700)]
GEODE-9132: Cleanup PartitionedRegionPartialClearException
* Generate serialVersionUID
* Use full words for parameter names
Kirk Lund [Fri, 16 Apr 2021 00:08:52 +0000 (17:08 -0700)]
GEODE-9132: Undelete unnecessary uses of final
Kirk Lund [Fri, 16 Apr 2021 00:07:43 +0000 (17:07 -0700)]
GEODE-9132: Remove unused DSFID constants
Kirk Lund [Sat, 10 Apr 2021 00:24:26 +0000 (17:24 -0700)]
GEODE-9132: Cleanup PartitionedRegionClearMessage
* Use descriptive names for variables and methods
* Use Objects.requireNonNull instead of Assert.assertTrue
* Remove unnecessary uses of final, this, and super
* Use static logger
* Reformat some lines with weird formatting
Kirk Lund [Fri, 9 Apr 2021 22:22:46 +0000 (15:22 -0700)]
GEODE-9132: Fixup PartitionResponse constructors
* Chain constructors to only one constructor that calls super
* Expose all arguments for dependency injection
* Provide type to recipients
Kirk Lund [Fri, 9 Apr 2021 22:06:40 +0000 (15:06 -0700)]
GEODE-9132: Delete ClearPRMessage
Xiaojian Zhou [Tue, 13 Apr 2021 21:21:34 +0000 (14:21 -0700)]
GEODE-7674: Clear on PR with lucene index should throw exception (#6317)
zhouxh [Tue, 28 Jan 2020 01:02:48 +0000 (17:02 -0800)]
GEODE-7683: introduce BR.cmnClearRegion
Co-authored-by: Xiaojian Zhou <gzhou@pivotal.io>
GEODE-7684: Create messaging class for PR Clear (#4689)
* Added new message class and test
Co-authored-by: Benjamin Ross <bross@pivotal.io>
Co-authored-by: Donal Evans <doevans@pivotal.io>
GEODE-7682: add PR.clear API (#4755)
* GEODE-7683: introduce BR.cmnClearRegion
Co-authored-by: Xiaojian Zhou <gzhou@pivotal.io>
PR.clear's event id should be created and used in BR (#4805)
* GEODE-7857: PR.clear's event id should be created and used in BR
GEODE-7912: cacheWriter should be triggered when PR.clear (#4882)
Co-authored-by: Anil <agingade@pivotal.io>
Co-authored-by: Xiaojian Zhou <gzhou@pivotal.io>
GEODE-7983: Clear region writer callbacks should not be invoked for bucket regions (#4954)
GEODE-7676: Add PR clear with expiration tests (#4970)
Added distributed tests to verify the clear operation on Partitioned
Regions works as expected when expiration is configured.
- Added unit and distributed tests.
- Fixed LocalRegion class to clear the entryExpiryTasks Map whenever
the cancelAllEntryExpiryTasks method is invoked.
GEODE-7667: Add a 'clear' gfsh command for PR and RR clear (#4818)
* Added clear command and modified remove functionality to clear PR
Authored-by: Benjamin Ross <bross@pivotal.io>
GEODE-7676: Conversion of duration to seconds.
GEODE-7894: Moving expiry tasks to AbstractRegion.
GEODE-7667: Fixing test to include PR clear help text.
GEODE-7678 (2nd PR) - Support for cache-listener and client-notification for Partitioned Region Clear operation (#5124)
* GEODE-7678: Add support for cache listener and client notification for PR clear
The changes are made to PR clear messaging and locking mechanism to preserve
cache-listener and client-events ordering during concurrent cache operation
while clear in progress.
GEODE-7669 Test coverage for Partitioned Region clear with Overflow enabled (#5189)
Authored-by: Jianxia Chen <jchen21@apache.org>
GEODE-8173: Add unit test (coverage) for PartitionedRegionClear class. (#5208)
* GEODE-8173: Add unit test (coverage) for PartitionedRegionClear class.
Co-authored-by: anilkumar gingade <anil@anilg.local>
GEODE-8334: PR.clear should sync with putAll or removeAll on rvvLock (#5365)
Co-authored-by: Xiaojian Zhou <zhouxh@vmware.com>
Co-authored-by: Anil Gingade <agingade@vmware.com>
GEODE-8361: Use Set instead of List to track cleared buckets (#5379)
- Refactor PartitionRegionClear to use Set instead of List
- Some other changes to remove warnings/alerts from PartitionedRegionClear and PartitionedRegionClearMessage
Authored-by: Donal Evans <doevans@vmware.com>
GEODE-7670: PR Clear with Concurrent Ops DUnitTests (#4848)
Added distributed tests to verify that the clear operation on
Partitioned Regions works as expected when there are other
concurrent operations happening on the cache (put, putAll, get,
remove, removeAll, members added and members removed).
GEODE-7680: PR.clear must be successful when interacting with rebalance (#5095)
- Added DUnit tests to confirm that clear does not interfere with
rebalance or vice versa
- Test when member departs during clear/rebalance
- Test when member joins during clear/rebalance
- Fixed typo in PartitionedRegionClearWithExpirationDUnitTest
- Fixed typo in PartitionedRegion
- Call assignBucketsToPartitions() on leader colocated region during clear
instead of target region
Authored-by: Donal Evans <doevans@pivotal.io>
GEODE-7846: Adding Stats for Partitioned Region Clear (#5391)
Added stats to CachePerfStats for PR Clear
- Changed clears to 'regionClears' and 'bucketClears' to differentiate between the number of times the region was cleared and the number of times a bucket was cleared in a PartitionedRegion
- Added Local and Total duration stats to record how long clear has been running for a specific region, as well as how long it was spent clearing any specific member
GEODE-7672: add dunit test to verify OQL index after PR clear. (#5436)
* require rvv lock when create index
fix rebase compiling error
GEODE-7845 blocking PR region clear if one or more server versions are too old (#5577)
- if a server is running an old version when a PR clear is invoked
by the client, the client will receive a ServerOperationException
with a cause of ServerVersionMismatchException.
GEODE-7845: Adding a cleaner simpler test. (#5622)
- Changed the test for ServerVersionMismatchException to be more readable.
GEODE-7845: Now behaving with clients of various versions. (#5645)
- added functionality that would allow the tests to be run using various versions of the clients against and and new versions of the server.
GEODE-7858: PR.clear notify client should let the queue holder member to notify (#5677)
GEODE-7679 Partitioned Region clear is successful while region is being altered (#5516)
GEODE-7675: Partitioned Region clear should be successful when clients are present with subscription enabled (#5727)
GEODE-8771: invalidate should acquire the lock before initIndex (#5823)
GEODE-8878: PR clear should also send a lock message to the secondary members. (#5950)
GEODE-9132: Minor cleanup of PartitionedRegionClearTest
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)
Patrick Johnson [Tue, 10 May 2022 18:25:20 +0000 (11:25 -0700)]
GEODE-10282: Migrate from springfox to springdoc (#7659)
springfox swagger is no longer maintained, so springdoc is the best choice going forward.
Robert Houghton [Tue, 10 May 2022 14:33:04 +0000 (07:33 -0700)]
Enable GitHub CodeQL workflow
Jens Deppe [Tue, 10 May 2022 04:09:38 +0000 (21:09 -0700)]
GEODE-10284: Add partition-listener option to gfsh create region command (#7666)
* Update documentation
Co-authored-by: Dave Barnes <daveba@vmware.com>