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>
Owen Nichols [Mon, 9 May 2022 16:17:26 +0000 (09:17 -0700)]
GEODE-10089: Roll develop to 1.16.0 (#7668)
Now that support/1.15 has been created, develop advances.
Owen Nichols [Fri, 6 May 2022 23:15:37 +0000 (16:15 -0700)]
GEODE‑10046: fix classgraph version in LICENSE (#7663)
Darrel Schneider [Fri, 6 May 2022 16:17:55 +0000 (09:17 -0700)]
GEODE-10206: clean up product references to CMS (#7646)
* the command line validator no longer warns if CMS is not configured if the JDK does not support CMS
* cleaned up comments that refer to CMS
Mario Ivanac [Thu, 5 May 2022 23:47:13 +0000 (01:47 +0200)]
Revert "GEODE-9484: Improve sending message to multy destinations (#7381)" (#7655)
This reverts commit
62cd12c7f0bbb3d092011555e714e57ce041791a.
Dan Smith [Thu, 5 May 2022 22:25:25 +0000 (15:25 -0700)]
GEODE-10278: Remove the geode-for-redis module
Removing geode-for-redis module and all of the references to it
from CI, scripts, docs, expected assembly and pom context.
Eric Shu [Thu, 5 May 2022 20:51:24 +0000 (13:51 -0700)]
GEODE-10272: Handle RejectedExecutionException during shutdown. (#7651)
* Do not throw RejectedExecutionException if it is caused by cache
closing.
Jinmei Liao [Wed, 4 May 2022 23:20:29 +0000 (16:20 -0700)]
GEODE-9390: Guarding membership addition code paths to omit membership duplicates (#7639)
Co-authored-by: Matthew Reddington <mreddington@pivotal.io>
Owen Nichols [Wed, 4 May 2022 19:45:56 +0000 (12:45 -0700)]
GEODE-10046: Bump 3rd-party dependency versions (#7650)
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 classgraph from 4.8.145 to 4.8.146
* Bump micrometer from 1.8.4 to 1.8.5
* Bump netty-handler from 4.1.75 to 4.1.76
* Bump spring-boot-starter-web from 2.6.6 to 2.6.7
* Bump spring-hateoas from 1.4.1 to 1.4.2
* Bump spring-ldap-core from 2.3.6 to 2.3.7
* Bump spring-security from 5.6.2 to 5.6.3
Owen Nichols [Wed, 4 May 2022 19:44:51 +0000 (12:44 -0700)]
GEODE-10275: Bump spring from 5.3.18 to 5.3.19 (#7647)
Geode endeavors to update to the latest version of 3rd-party
dependencies on develop wherever possible.
Jakov Varenina [Wed, 4 May 2022 14:58:46 +0000 (16:58 +0200)]
GEODE-10215: Document warning for parallel gws (#7623)
Eric Shu [Tue, 3 May 2022 17:48:00 +0000 (10:48 -0700)]
GEODE-10242: Colocated buckets share primary move lock (#7630)
* All colocated buckets now share the same primaryMoveReadWriteLock.
When parent bucket is being moved, no operations will be executed on
child buckets as well. So moving primary for all colocated buckets
shold be faster, and there is no need to hold parent locks anymore.
* Added.a dunit test to validate the fix works.
Robert Houghton [Tue, 3 May 2022 16:29:13 +0000 (09:29 -0700)]
GEODE-10274: Install GCP ops-agent in CI images (#7642)
* GEODE-10274: Install GCP ops-agent in CI images
Replaces old stackdriver-agent, to enable CI utilization metrics
Darrel Schneider [Tue, 3 May 2022 00:34:21 +0000 (17:34 -0700)]
GEODE-10263: add additional import for VMStats50 (#7637)
Max Hufnagel [Tue, 3 May 2022 00:06:35 +0000 (17:06 -0700)]
GEODE-10264: remove 'connect to the server from your application' section (#7641)
Darrel Schneider [Mon, 2 May 2022 20:13:08 +0000 (13:13 -0700)]
Revert "GEODE-10249: Adds BufferPoolMXBean stats. (#7607)" (#7638)
This reverts commit
23e554bbe633c7fca189c788d34c85778924bafb.
Mario Ivanac [Mon, 2 May 2022 16:51:53 +0000 (18:51 +0200)]
GEODE-9484: Improve sending message to multy destinations (#7381)
* GEODE-9484: New solution to first try only one attempt to create all connections
Mario Ivanac [Mon, 2 May 2022 13:50:39 +0000 (15:50 +0200)]
GEODE-10266: update SeveralGatewayReceiversWithSamePortAndHostnameFor… (#7633)
* GEODE-10266: update SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest
mhansonp [Thu, 28 Apr 2022 22:10:24 +0000 (15:10 -0700)]
Bugfix/GEODE-10228 DurableClientTestCase.testDurableHAFailover is failing (#7608)
- The test was failing because it didn't wait for the
HARegionQueue to clear before shutting down the durable
client for test. Thus when it came back up, there was
an extra message in the queue.
- Reverse the order of readyforevents and registerinterest
- adding a close for the control listener
- Starting the server is not synchronous adjusted test accordingly
Jinmei Liao [Thu, 28 Apr 2022 19:08:42 +0000 (12:08 -0700)]
GEODE-10260: refactor out Filter interface to use Predicate (#7627)
Jinmei Liao [Thu, 28 Apr 2022 18:58:49 +0000 (11:58 -0700)]
GEODE-10260: make sure message is added before they are processed. (#7628)
Darrel Schneider [Thu, 28 Apr 2022 16:21:04 +0000 (09:21 -0700)]
GEODE-10263: add opens required by geode features (#7632)
added opens required by geode features and added javadoc comments
that link to the class in geode that requires an open or export
Patrick Johnson [Wed, 27 Apr 2022 20:23:07 +0000 (13:23 -0700)]
GEODE-10184: Verify the status file is accessible before handling the request. (#7582)
Mario Ivanac [Wed, 27 Apr 2022 20:02:44 +0000 (22:02 +0200)]
GEODE-10020: Introduction of option to gradually activate pinging (#7517)
* GEODE-10020: Introduction of option to gradually activate pinging toward destination
Donal Evans [Wed, 27 Apr 2022 18:19:23 +0000 (11:19 -0700)]
GEODE-10258: Assert at least 1 invocation (#7624)
ClearDuringNetSearchOplogRegressionTest uses an await statement to
allow the timing of a region clear to be correct. An invocation of
CacheObserver.afterSettingDiskRef() is used as the trigger for the
await to pass and allow the clear to begin.
The test was failing due to CacheObserver.afterSettingDiskRef() being
invoked more than once in the await statement, but this method is
expected to be invoked multiple times during the test, so occasionally
the await would check and find 0 invocations,then check again and find
2 or more, causing the test to fail.
Replacing the times(1) in the assertion with atLeast(1) allows the test
to pass while preserving the intended behaviour of the await.
Some incidental code clean-up was also done in the test to remove
compiler warnings.
Authored-by: Donal Evans <doevans@vmware.com>
mhansonp [Tue, 26 Apr 2022 16:33:05 +0000 (09:33 -0700)]
GEODE-10248: Adding a new Suspicious Strings exception (#7612)
for Management Requests that get logged and a test
Jacob Barrett [Mon, 25 Apr 2022 19:54:01 +0000 (12:54 -0700)]
GEODE-10249: Adds BufferPoolMXBean stats. (#7607)
* Adds new class for BufferPoolMXBean.
* Adds tests for BufferPoolStats.
* Cleanup VMStats50.
Kirk Lund [Mon, 25 Apr 2022 17:16:21 +0000 (10:16 -0700)]
GEODE-10209: Use AvailablePortHelper in InternalCacheForClientAccessDistributedTest (#7613)
Prevent BindException by using AvailablePortHelper.
Jacob Barrett [Mon, 25 Apr 2022 16:53:10 +0000 (09:53 -0700)]
GEODE-10254: Use original hostname if host is null. (#7618)
If original hostname was not resolvable then host is null. Use hostname
if host is null when marshaling.
Darrel Schneider [Thu, 21 Apr 2022 21:53:13 +0000 (14:53 -0700)]
GEODE-9466: change offheap to not use Bits.unaligned (#7611)
offheap no longer depends on java.nio.Bits.unaligned
Jinmei Liao [Thu, 21 Apr 2022 19:24:39 +0000 (12:24 -0700)]
GEODE-10243: Fail early if old client auth expires (#7603)
* change the default "waitForReAuth" time to 60 seconds
Xiaojian Zhou [Wed, 20 Apr 2022 21:35:54 +0000 (14:35 -0700)]
GEODE-10229: GII image should fill disk region RVV's exceptions. (#7602)
* GEODE-10229: GII image should fill disk region RVV's exceptions.
There're 2 issues: Tombstone in GII image should save version tag into disk region RVV
even the tombstone is the same as local one. Disk region RVV holder did not use bitset.
Only bitset based holder can fill special exception. Should do it for non-bitset holder too.
Jens Deppe [Wed, 20 Apr 2022 16:37:33 +0000 (09:37 -0700)]
GEODE-10245: Upgrade classgraph 4.8.143 -> 4.8.145 (#7605)
- This fixes an issue discovered with the ordering of 'manifest only'
jars and classgraph unable to find classes.
Dale Emery [Wed, 20 Apr 2022 15:59:23 +0000 (08:59 -0700)]
GEODE-10251: Make DescribedExternalResource report all exceptions (#7609)
* GEODE-10251: Make DescribedExternalResource report all exceptions
Co-authored-by: Dale Emery <demery@vmware.com>
Co-authored-by: Kirk Lund <klund@apache.org>
* Fix test name
Co-authored-by: Dale Emery <demery@vmware.com>
Co-authored-by: Kirk Lund <klund@apache.org>
* Spotless
Co-authored-by: Dale Emery <demery@vmware.com>
Co-authored-by: Kirk Lund <klund@apache.org>
Co-authored-by: Kirk Lund <klund@apache.org>
Darrel Schneider [Wed, 20 Apr 2022 02:26:02 +0000 (19:26 -0700)]
GEODE-10246: fix OutOfMemoryDUnitTest for jdk17 (#7606)
* test now uses ZGC on jdk17
* product change: added ZHeap to the list of known memoryPoolMXBeans
Jens Deppe [Tue, 19 Apr 2022 17:52:36 +0000 (10:52 -0700)]
GEODE-10161: Remove unnecessary synchronization from RedisList (#7579)
- Now, with the addition of versioning and synchronization at the
higher-level methods, all the synchronization can be removed from the
small, helper methods we have.
- We still need to ensure that there is synchronization between toData
and within methods that are mutating the list.
- Inline various helper methods in RedisList as they are not adding any
value.
- Use AvailablePortHelper to set up the port that the crashing VM will
use. Without this there is interference from other tests when running
multiple tests concurrently (in the stressTest job).
- Ran at least 1000 iterations of all list-related DUnit tests without
any failures.
Donal Evans [Mon, 18 Apr 2022 16:19:43 +0000 (09:19 -0700)]
GEODE-10023: do not @link to type params (#7601)
Some javadocs contained @link tags pointing to type parameters. These
should have been @code tags, as type parameters cannot be linked to
Authored-by: Donal Evans <doevans@vmware.com>
Darrel Schneider [Sat, 16 Apr 2022 06:41:32 +0000 (23:41 -0700)]
GEODE-10197: fix test for jdk17
OutOfMemoryDUnitTest now only uses CMS on jdk less than 14. (#7595)
Donal Evans [Sat, 16 Apr 2022 04:10:17 +0000 (21:10 -0700)]
GEODE-10023: Fix javadocs (#7594)
This commit reduces the number of errors reported in the gradle build
log due to javadocs from over 3000 to 0. It also reduces the number of
warnings reported in the gradle build log due to javadocs from over
4000 to 0.
After these changes, all published javadocs are now syntactically
correct, although no guarantee is made as to the content of the
documentation. Javadocs in classes that did not produce warnings or
errors in the gradle build log were not touched.
For classes in the geode-dunit, geode-junit, geode-assembly and
geode-concurrency-test modules, if a javadoc could be converted to
a non-javadoc comment without losing any formatting or tags, it was
converted, since those classes are not intended for use by Geode users
The changes made were:
- Add missing @return, @param and @throws tags
- Fix all errors due to incorrect HTML
- Fix all errors due to improperly escaped characters
- Fix all broken @link tags
- Several minor spelling errors and typos fixed where spotted
In addition to this clean-up, the compiler settings were modified so
that javadocs warnings and errors will be output in the gradle build
log, and if any are present, the build will fail.
Authored-by: Donal Evans <doevans@vmware.com>
Co-authored-by: Patrick Johnson <jpatrick@vmware.com>
Darrel Schneider [Fri, 15 Apr 2022 16:35:41 +0000 (09:35 -0700)]
GEODE-10238: add open for jetty9 on java 17 (#7593)
* added open for sun.security.provider for jetty9
* test now expects stack to contain "Connection refused" instead of "Connection refused "
Bala Kaza Venkata [Fri, 15 Apr 2022 14:49:32 +0000 (10:49 -0400)]
GEODE-10223: Fix BlockingCommandListnerTest to be less flaky. (#7592)
* GEODE-10223: Fix BlockingCommandListnerTest to be less flaky.
testTimeoutIsAdjusted is flaky on windows machines. Adding a delay will make it less flaky.
Authored-by: Bala Kaza Venkata <bkazavenkata@vmware.com>
Darrel Schneider [Fri, 15 Apr 2022 03:46:03 +0000 (20:46 -0700)]
GEODE-10185: fix MemoryOverheadIntegrationTest for jdk17 (#7591)
* If ObjectTraverser has been told to skip static fields
then it will no longer attempt to make static fields accessible.
* cleaned up ObjectTraverser class
* added unit test that verifies static fields will not be cached if they are not visited
removed statics from ObjectTraverser to aid unit testing
cleaned up warnings in ObjectGraphSizer and ObjectTraverser
Darrel Schneider [Thu, 14 Apr 2022 19:27:45 +0000 (12:27 -0700)]
GEODE-10035: fix BufferPool sys prop logic (#7587)
Now if either system property is set to true that takes precedence
and heap buffers will be used. Otherwise, direct buffers will be used.
Jens Deppe [Thu, 14 Apr 2022 18:41:17 +0000 (11:41 -0700)]
Revert "Revert "GEODE-10126: Replace Geode for Redis properties with system properties (#7478)" (#7576)" (#7586)
This reverts commit
934f517e92854cbfeb09d46f8ed9de806ef3eccb.
Max Hufnagel [Thu, 14 Apr 2022 18:24:47 +0000 (11:24 -0700)]
GEODE-9759: replaces double-hyphens with ‑‑ (#7560)
* GEODE-9759: replaces double-hypens with ‑‑
Co-authored-by: Max Hufnagel <mhufnagel@vmware.com>
Jacob Barrett [Tue, 12 Apr 2022 16:46:10 +0000 (09:46 -0700)]
GEODE-8228: Use assertThat without embedded comparisons.
Jacob Barrett [Sat, 9 Apr 2022 17:27:20 +0000 (10:27 -0700)]
GEODE-8228: Rename tests to current convention.
Jacob Barrett [Fri, 8 Apr 2022 21:50:11 +0000 (14:50 -0700)]
GEODE-8228: Await on stats.
Jacob Barrett [Fri, 8 Apr 2022 06:28:31 +0000 (23:28 -0700)]
GEODE-8228: Cleanup static analyzer in WANTestBase.
Jacob Barrett [Fri, 8 Apr 2022 04:46:07 +0000 (21:46 -0700)]
GEODE-8228: Refactored to AssertJ.
Darrel Schneider [Wed, 13 Apr 2022 19:24:29 +0000 (12:24 -0700)]
GEODE-10235: fix --maxHeap for java 17 (#7585)
* --maxHeap no longer forces CMS if the java version is 14 or later. It was in 14 that CMS was dropped from the JVM.
* product code now uses SystemUtils to determine java version instead of system property
tests now use junit5 EnabledForJreRange to determine java version instead of system property
fixed some other tests that were broken in jdk17 by this change
Dale Emery [Wed, 13 Apr 2022 17:12:52 +0000 (10:12 -0700)]
GEODE-10146: Make GradleBuildWithGeodeCoreAcceptanceTest run on JDK 17 (#7570)
PROBLEM
GradleBuildWithGeodeCoreAcceptanceTest attempts to run Gradle v5.1.1
using the test JVM. This fails when the test is run in JDK 17, because
Gradle 5.1.1 does not support JDK 17.
SOLUTION
Configure the test's "inner" build to use the value of the GRADLE_JVM
environment variable as its JVM. This makes it use the same JVM that we
use to build Geode.
Dale Emery [Wed, 13 Apr 2022 17:12:32 +0000 (10:12 -0700)]
GEODE-10193: Replace openhft compiler with geode-junit compiler (#7580)
PROBLEM
`QueryPdxDataDUnitTest` compiles and loads classes using the
`net.openhft.compiler` library, which attempts to access a field of
`Unsafe` that does not exist on JDK 17.
SOLUTION
Use the compiler system from `geode-junit`'s
`org.apache.geode.test.compiler` package.
Kamilla Aslami [Wed, 13 Apr 2022 07:32:10 +0000 (00:32 -0700)]
GEODE-9512: close receiver connection if membership check timed out (#7409)
If a reader thread performs membership check and it fails, we should close the connection as the sender didn't pass the authentication check.
Jacob Barrett [Wed, 13 Apr 2022 04:58:35 +0000 (21:58 -0700)]
GEODE-6588: Cleanup missing @Deprecated (#7545)
Adds missing @Deprecated to all symbols with Javadoc tag @deprecated.
Donal Evans [Tue, 12 Apr 2022 21:03:15 +0000 (14:03 -0700)]
GEODE-10222: Handle null memberID in GII (#7569)
- Instead of throwing from DiskVersionTag.replaceNullIDs() if memberID
is null, check if the memberID is null after calling replaceNullIDs() in
InitialImageOperation.processChunk() and then return false if it is
- Add debug log to record if this has occurred
- Add unit test for the new behaviour
Authored-by: Donal Evans <doevans@vmware.com>
Eric Shu [Tue, 12 Apr 2022 20:40:28 +0000 (13:40 -0700)]
GEODE-10234: Do not generate tailKey if parallel wan not enabled. (#7583)
Juan José Ramos [Tue, 12 Apr 2022 19:24:29 +0000 (20:24 +0100)]
GEODE-10230: PDX UPDATE/DELETE in Mgmt REST API (#7578)
Add update (HTTP put) and delete (HTTP DELETE) operations support for
PDX in the cluster management REST API service.
- Add and update unit and integration tests.
- Keep old update behaviour (NotImplementedException thrown) for cache
configurations other than PDX.
Dave Barnes [Tue, 12 Apr 2022 18:56:00 +0000 (11:56 -0700)]
GEODE-10232: reformat list for more reliable rendering (#7581)
Bala Kaza Venkata [Tue, 12 Apr 2022 17:42:06 +0000 (13:42 -0400)]
GEODE-10204: Add Test Coverage for SizeableByteArrayList (#7566)
Ray Ingles [Tue, 12 Apr 2022 14:11:19 +0000 (10:11 -0400)]
GEODE-10157: Add Radish Delta Unit Tests (#7558)
* GEODE-10157: Add Radish Delta Unit Tests
Unit tests for all the Geode-for-Redis delta types.
Co-authored-by: Ray Ingles <ringles@vmware.com>
Dale Emery [Mon, 11 Apr 2022 18:09:25 +0000 (11:09 -0700)]
GEODE-10225: Gfsh start commands add exports on JDK 11+ (#7572)
PROBLEM
When run on JDK 17, numerous acceptance tests fail because a launched
locator or server requires access to the following packages:
- java.base/sun.nio.ch
- java.management/com.sun.jmx.remote.security
SOLUTION
- Add a `MemberJvmOptions` class that reports the JDK-dependent options
required to launch a locator or server on the current process's JDK.
- Change `StartLocatorCommand` and `StartServerCommand` to add those
options to the command line when launching locators and servers.
FUTURE
Future PRs will likely put these opens/exports in an argument file, then
configure these commands to use the argument file. We are deferring that
until we identify additional needs for the argument file, so we can
choose an appropriate location for the argument file.
Co-authored-by: Dale Emery <demery@vmware.com>
Co-authored-by: Kirk Lund <klund@apache.org>
Co-authored-by: Kirk Lund <klund@apache.org>
Jinmei Liao [Mon, 11 Apr 2022 15:48:34 +0000 (08:48 -0700)]
GEODE-10097: Avoid Thread.sleep for re-auth in MessageDispatcher (#7556)
Jens Deppe [Fri, 8 Apr 2022 23:53:23 +0000 (16:53 -0700)]
Revert "GEODE-10126: Replace Geode for Redis properties with system properties (#7478)" (#7576)
This reverts commit
ee1c412d8af3e6311f569948c3248eddc1fe8009.
Darrel Schneider [Fri, 8 Apr 2022 16:51:03 +0000 (09:51 -0700)]
SocketException is now also handled by messenger.handleJGroupsIOException (#7530)
Jacob Barrett [Thu, 7 Apr 2022 18:03:08 +0000 (11:03 -0700)]
GEODE-10127: Reduces verbosity of log messages.
Removes SSLConfig from toString.
Logs with original toString/marshalForClient string.
Jacob Barrett [Thu, 7 Apr 2022 00:00:18 +0000 (17:00 -0700)]
GEODE-10127: Corrects serialization backwards compatibility issues.
Serialize but ignore unused fields.
Adds annotation to identify Java Serializable compatibility fields.
Jens Deppe [Thu, 7 Apr 2022 20:32:09 +0000 (13:32 -0700)]
GEODE-10221: Fix sizing when creating a RedisList copy (#7568)
- The size must be updated as part of cloning an existing list.
Alberto Gomez [Thu, 7 Apr 2022 18:51:52 +0000 (20:51 +0200)]
GEODE-10077: Avoid callbacks in wan-copy region (#7391)
The wan-copy region command does not always prevent
that callbacks are executed at the remote site for
the entries copied.
The value set by the wan-copy region command for
generateCallbacks to false in the events sent via
the gateway sender was not being propagated by the server
that received the events in the remote site (via the gateway
receiver) when proxying the put by means of a PutMessage or
UpdateMessage in order to send the event to the server with
the primary bucket or to replicate the put in case of more
than one replica in the region.
The flags in the PutMessage and UpdateMessage have been used
to propagate the value of generateCallbacks.
Nabarun Nag [Thu, 7 Apr 2022 16:24:48 +0000 (09:24 -0700)]
GEODE-10203: SerialVersionUID added. (#7529)
* SerialVersionUID added to GetClusterConfigurationFunction.
* Changes to this class will prevent breaking backward compatibility.
Bill Burcham [Thu, 7 Apr 2022 03:14:48 +0000 (20:14 -0700)]
GEODE-10122: P2P Messaging Handles TLS KeyUpdate Message (#7449)
* Key expiration works for TLSv1.3 and GCM-based ciphers
* TLS KeyUpdate messages are processed correctly
Jens Deppe [Wed, 6 Apr 2022 20:57:46 +0000 (13:57 -0700)]
GEODE-10214: Improve speed of JvmSizeUtils.roundUpSize (#7548)
This small change improves the speed of this method by about 30% (as per
basic JMH benchmarking). benchamrk1 is the original and benchmark2 the
change.
```
Benchmark Mode Cnt Score Error Units
PerformanceSample.benchmark1 avgt 5 3480.815 ± 387.131 us/op
PerformanceSample.benchmark2 avgt 5 2418.937 ± 586.209 us/op
```
Jacob Barrett [Wed, 6 Apr 2022 20:16:01 +0000 (13:16 -0700)]
GEODE-10127: Corrects NullPointerException in hashCode(). (#7559)
When unmarshalling an instance with a host name that can't be resolved a
NullPointerException is thrown in hashCode(). Use Objects.hash() to
resolve hash code to avoid NullPointerException.
Owen Nichols [Wed, 6 Apr 2022 19:20:12 +0000 (12:20 -0700)]
GEODE-10046: Bump 3rd-party dependency versions (#7557)
Geode endeavors to regularly update 3rd-party dependencies to increase
shelf life, security and reliability of releases.
Dependency bumps in this batch:
* Bump classgraph from 4.8.141 to 4.8.143
* Bump jetty from 9.4.45.v20220203 to 9.4.46.v20220331
* Bump jna from 5.10.0 to 5.11.0
* Bump junit-pioneer from 1.6.1 to 1.6.2
* Bump lettuce-core from 6.1.6.RELEASE to 6.1.8.RELEASE
* Bump maven-artifact from 3.8.1 to 3.8.5
* Bump micrometer-core from 1.8.3 to 1.8.4
* Bump nebula.lint from 17.6.1 to 17.7.0
* Bump netty from 4.1.74.Final to 4.1.75.Final
* Bump rat from 0.7.0 to 0.7.1
* Bump shiro-core from 1.8.0 to 1.9.0
* Bump spotless from 6.2.2 to 6.4.1
* Bump spring-boot-starter-web from 2.6.5 to 2.6.6
* Bump swagger-annotations from 1.6.2 to 1.6.6
* Bump tomcat from 9.0.59 to 9.0.62
Jacob Barrett [Wed, 6 Apr 2022 19:11:11 +0000 (12:11 -0700)]
GEODE-9991: Refactor for consistency and add tests. (#7533)
* Combine common configuration into method for consistency.
* Adds tests for new extracted methods.
mhansonp [Wed, 6 Apr 2022 16:27:03 +0000 (09:27 -0700)]
GEODE-9704: Ensure that register interest is called before ready for events (#7442)
- RegisterInterestOps need to happen before ReadyForEventsOp is sent
These changes make sure that happens.
- Added an InterestResultPolicyCheck
Authored-by: Barry Oglesby <boglesby@users.noreply.github.com>
Un-ignored a test that will reproduce the issue
periodically during a number of runs. It is a flaky
test without the core fix.
Authored-by: Jinmei Liao <jiliao@pivotal.io>
Bala Kaza Venkata [Wed, 6 Apr 2022 15:10:17 +0000 (11:10 -0400)]
GEODE-10121: Fix transactional redis commands (#7513)
* GEODE-10121: Fix transactional redis commands
MSET, SMOVE commands are transactional but they have not been working as
transactional. This commit will fix these commands to behave that way.
Authored-by: Bala Kaza Venkata <bkazavenkata@vmware.com>
Steve Sienkowski [Wed, 6 Apr 2022 14:13:38 +0000 (10:13 -0400)]
GEODE-10160: fixes SizeableByteArrayList sizing (#7519)
* Update SizeableByteArrayList with overrides for LinkedList's set() and add()
methods to ensure memory overhead is updated appropriately. This helps to
correct sizing issues in other RedisList methods such as LINSERT and LTRM.
Co-authored-by: Jens Deppe <jdeppe@vmware.com>
Hale Bales [Wed, 6 Apr 2022 00:16:15 +0000 (17:16 -0700)]
GEODE-10216: Add test for existence of VM stats (#7551)
When we started running with JDK 11, some users noticed that a few stats had gone missing. There was a one line fix in test.gradle that was added as part of a bigger effort, but the change was not tested. This adds a test for the existence of the VM stats so that none of the stats go missing in the future.
also changes all the assertions to use assertj.
Nabarun Nag [Tue, 5 Apr 2022 21:55:26 +0000 (14:55 -0700)]
GEODE-10053: Use stored DistributionConfig to create SSL configurations (#7366)
* While creating SSLConfig no new DistributionConfigImpl is created.
* Now, the DistributionConfig is taken from the InternalLocator class.
Bala Kaza Venkata [Tue, 5 Apr 2022 18:16:32 +0000 (14:16 -0400)]
GEODE-10198: Fix LINSERT's case-sensitivity for arguments (#7552)
LINSERT was case-sensitive with its arguments BEFORE/AFTER.Redis
implementation of LINSERT is not case-sensitive.
Jens Deppe [Tue, 5 Apr 2022 16:53:00 +0000 (09:53 -0700)]
GEODE-10126: Replace Geode for Redis properties with system properties (#7478)
* GEODE-10126: Replace Geode for Redis properties with system properties
- All previous Geode for Redis properties that were defined in
geode-core are replaced by java system properties.
- gemfire.geode-for-redis-port
- gemfire.geode-for-redis-bind-address
- gemfire.geode-for-redis-bind-username
- gemfire.geode-for-redis-redundant-copies
- gemfire.geode-for-redis-enabled
- Redis is enabled (using defaults) if the `enabled` property is set to
true OR if any of the other properties are explicitly set as java
system properties.
- Introduce `RedisConfiguration` interface to access properties.
- Concrete implementation of `SystemPropertyBasedRedisConfiguration`
that uses system properties to define Radish properties.
- Integration Tests use `TestRedisConfiguration` to avoid having to set
system properties.
- Services started by Geode (`CacheService`s) that throw exceptions
during initialization will cause the Cache to fail to startup.
Previously any such errors were only logged.
- Default bind address is explicitly 0.0.0.0 which is more expressive than just an empty string
Hale Bales [Mon, 4 Apr 2022 21:13:33 +0000 (14:13 -0700)]
GEODE-10106: Handle NPE in QueueManagerImpl (#7471)
CacheClientNotifierDUnitTest failed with an NPE because queuedConnection is occationally null when trying to recover the primary.
This is solved by checking for null before calling any methods on that object.
- fixes spelling mistakes.
- the primary can be null when removing a connection, and when a new
primary can't be found when recovering a connection.
- the null check protects us from both of those circumstances when
scheduling the redundancy satisfier.
Eric Shu [Mon, 4 Apr 2022 20:52:32 +0000 (13:52 -0700)]
GEODE-10211: Correctly check persistence on accessor (#7546)
* To set possible duplicate for an event, whether region is persistent
need to be determined. Allow an accessor to check the setting through
profiles.
* Changed the order of condition check so that no need to send the find
version tag message to peers if persistence is true.
Ray Ingles [Mon, 4 Apr 2022 20:14:51 +0000 (16:14 -0400)]
GEODE-10116: Enable Redis TCL tests for Lists (#7521)
* GEODE-10116: Enable Redis TCL tests for Lists
Co-authored-by: Ray Ingles <ringles@vmware.com>