geode.git
2 days agoGEODE-10294: Compare invalid token during putIfAbsent retry. (#7679) develop
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.

2 days agoGEODE-10306 Fixing an order issue that can lead to problems when stopping (#7682)
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.

2 days agoGEODE-10302: Increase call stack timeout for upgrade tests (#7691)
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.

2 days agoGEODE-10307: Doc changes needed for enable security-manager property (#7687)
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

3 days agoGEODE-10303: Increase memory for windows-gfsh-distributed-test (#7685)
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>
3 days agoGEODE-10302: Increase upgrade test timeout to 4h (#7683)
Dale Emery [Thu, 12 May 2022 23:09:58 +0000 (16:09 -0700)] 
GEODE-10302: Increase upgrade test timeout to 4h (#7683)

4 days agoGEODE-10299: update examples for creating dynamic regions (#7681)
Max Hufnagel [Wed, 11 May 2022 23:17:52 +0000 (16:17 -0700)] 
GEODE-10299: update examples for creating dynamic regions (#7681)

4 days agoGEODE-10271: ConnectionProxyJUnitTest cleanup (#7652)
Jinmei Liao [Wed, 11 May 2022 17:48:23 +0000 (10:48 -0700)] 
GEODE-10271: ConnectionProxyJUnitTest cleanup (#7652)

4 days agoGEODE-10283: Remove problematic buildSrc project, replacing with includeBuild project...
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>
4 days agoGEODE-10288: Fix property assignment syntax (#7678)
Dale Emery [Wed, 11 May 2022 15:48:30 +0000 (08:48 -0700)] 
GEODE-10288: Fix property assignment syntax (#7678)

5 days agoGEODE-10289: Argument file for JDK 17 (#7673)
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

5 days agoGEODE-10293: Modify .asf.yaml to require CodeQL, drop LGTM (#7674)
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

5 days agoGEODE-10288: Define JDK 8, 11, 17 homes for upgrade tests (#7675)
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)

5 days agoGEODE-10282: Migrate from springfox to springdoc (#7659)
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.

5 days agoEnable GitHub CodeQL workflow
Robert Houghton [Tue, 10 May 2022 14:33:04 +0000 (07:33 -0700)] 
Enable GitHub CodeQL workflow

6 days agoGEODE-10284: Add partition-listener option to gfsh create region command (#7666)
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>
6 days agoGEODE-10089: Roll develop to 1.16.0 (#7668)
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.

9 days agoGEODE‑10046: fix classgraph version in LICENSE (#7663)
Owen Nichols [Fri, 6 May 2022 23:15:37 +0000 (16:15 -0700)] 
GEODE‑10046: fix classgraph version in LICENSE (#7663)

9 days agoGEODE-10206: clean up product references to CMS (#7646)
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

10 days agoRevert "GEODE-9484: Improve sending message to multy destinations (#7381)" (#7655)
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.

10 days agoGEODE-10278: Remove the geode-for-redis module
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.

10 days agoGEODE-10272: Handle RejectedExecutionException during shutdown. (#7651)
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.

11 days agoGEODE-9390: Guarding membership addition code paths to omit membership duplicates...
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>
11 days agoGEODE-10046: Bump 3rd-party dependency versions (#7650)
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

11 days agoGEODE-10275: Bump spring from 5.3.18 to 5.3.19 (#7647)
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.

11 days agoGEODE-10215: Document warning for parallel gws (#7623)
Jakov Varenina [Wed, 4 May 2022 14:58:46 +0000 (16:58 +0200)] 
GEODE-10215: Document warning for parallel gws (#7623)

12 days agoGEODE-10242: Colocated buckets share primary move lock (#7630)
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.

12 days agoGEODE-10274: Install GCP ops-agent in CI images (#7642)
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

13 days agoGEODE-10263: add additional import for VMStats50 (#7637)
Darrel Schneider [Tue, 3 May 2022 00:34:21 +0000 (17:34 -0700)] 
GEODE-10263: add additional import for VMStats50 (#7637)

13 days agoGEODE-10264: remove 'connect to the server from your application' section (#7641)
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)

13 days agoRevert "GEODE-10249: Adds BufferPoolMXBean stats. (#7607)" (#7638)
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.

13 days agoGEODE-9484: Improve sending message to multy destinations (#7381)
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

13 days agoGEODE-10266: update SeveralGatewayReceiversWithSamePortAndHostnameFor… (#7633)
Mario Ivanac [Mon, 2 May 2022 13:50:39 +0000 (15:50 +0200)] 
GEODE-10266: update SeveralGatewayReceiversWithSamePortAndHostnameFor… (#7633)

* GEODE-10266: update SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest

2 weeks agoBugfix/GEODE-10228 DurableClientTestCase.testDurableHAFailover is failing (#7608)
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

2 weeks agoGEODE-10260: refactor out Filter interface to use Predicate (#7627)
Jinmei Liao [Thu, 28 Apr 2022 19:08:42 +0000 (12:08 -0700)] 
GEODE-10260: refactor out Filter interface to use Predicate (#7627)

2 weeks agoGEODE-10260: make sure message is added before they are processed. (#7628)
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)

2 weeks agoGEODE-10263: add opens required by geode features (#7632)
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

2 weeks agoGEODE-10184: Verify the status file is accessible before handling the request. (...
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)

2 weeks agoGEODE-10020: Introduction of option to gradually activate pinging (#7517)
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

2 weeks agoGEODE-10258: Assert at least 1 invocation (#7624)
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>
2 weeks agoGEODE-10248: Adding a new Suspicious Strings exception (#7612)
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

2 weeks agoGEODE-10249: Adds BufferPoolMXBean stats. (#7607)
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.

2 weeks agoGEODE-10209: Use AvailablePortHelper in InternalCacheForClientAccessDistributedTest...
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.

2 weeks agoGEODE-10254: Use original hostname if host is null. (#7618)
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.

3 weeks agoGEODE-9466: change offheap to not use Bits.unaligned (#7611)
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

3 weeks agoGEODE-10243: Fail early if old client auth expires (#7603)
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

3 weeks agoGEODE-10229: GII image should fill disk region RVV's exceptions. (#7602)
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.

3 weeks agoGEODE-10245: Upgrade classgraph 4.8.143 -> 4.8.145 (#7605)
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.

3 weeks agoGEODE-10251: Make DescribedExternalResource report all exceptions (#7609)
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>
3 weeks agoGEODE-10246: fix OutOfMemoryDUnitTest for jdk17 (#7606)
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

3 weeks agoGEODE-10161: Remove unnecessary synchronization from RedisList (#7579)
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.

3 weeks agoGEODE-10023: do not @link to type params (#7601)
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>
4 weeks agoGEODE-10197: fix test for jdk17
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)

4 weeks agoGEODE-10023: Fix javadocs (#7594)
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>
4 weeks agoGEODE-10238: add open for jetty9 on java 17 (#7593)
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 "

4 weeks agoGEODE-10223: Fix BlockingCommandListnerTest to be less flaky. (#7592)
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>
4 weeks agoGEODE-10185: fix MemoryOverheadIntegrationTest for jdk17 (#7591)
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

4 weeks agoGEODE-10035: fix BufferPool sys prop logic (#7587)
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.

4 weeks agoRevert "Revert "GEODE-10126: Replace Geode for Redis properties with system propertie...
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.

4 weeks agoGEODE-9759: replaces double-hyphens with &#8209;&#8209; (#7560)
Max Hufnagel [Thu, 14 Apr 2022 18:24:47 +0000 (11:24 -0700)] 
GEODE-9759: replaces double-hyphens with &#8209;&#8209; (#7560)

* GEODE-9759: replaces double-hypens with &#8209;&#8209;

Co-authored-by: Max Hufnagel <mhufnagel@vmware.com>
4 weeks agoGEODE-8228: Use assertThat without embedded comparisons.
Jacob Barrett [Tue, 12 Apr 2022 16:46:10 +0000 (09:46 -0700)] 
GEODE-8228: Use assertThat without embedded comparisons.

4 weeks agoGEODE-8228: Rename tests to current convention.
Jacob Barrett [Sat, 9 Apr 2022 17:27:20 +0000 (10:27 -0700)] 
GEODE-8228: Rename tests to current convention.

4 weeks agoGEODE-8228: Await on stats.
Jacob Barrett [Fri, 8 Apr 2022 21:50:11 +0000 (14:50 -0700)] 
GEODE-8228: Await on stats.

4 weeks agoGEODE-8228: Cleanup static analyzer in WANTestBase.
Jacob Barrett [Fri, 8 Apr 2022 06:28:31 +0000 (23:28 -0700)] 
GEODE-8228: Cleanup static analyzer in WANTestBase.

4 weeks agoGEODE-8228: Refactored to AssertJ.
Jacob Barrett [Fri, 8 Apr 2022 04:46:07 +0000 (21:46 -0700)] 
GEODE-8228: Refactored to AssertJ.

4 weeks agoGEODE-10235: fix --maxHeap for java 17 (#7585)
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

4 weeks agoGEODE-10146: Make GradleBuildWithGeodeCoreAcceptanceTest run on JDK 17 (#7570)
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.

4 weeks agoGEODE-10193: Replace openhft compiler with geode-junit compiler (#7580)
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.

4 weeks agoGEODE-9512: close receiver connection if membership check timed out (#7409)
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.

4 weeks agoGEODE-6588: Cleanup missing @Deprecated (#7545)
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.

4 weeks agoGEODE-10222: Handle null memberID in GII (#7569)
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>
4 weeks agoGEODE-10234: Do not generate tailKey if parallel wan not enabled. (#7583)
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)

4 weeks agoGEODE-10230: PDX UPDATE/DELETE in Mgmt REST API (#7578)
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.

4 weeks agoGEODE-10232: reformat list for more reliable rendering (#7581)
Dave Barnes [Tue, 12 Apr 2022 18:56:00 +0000 (11:56 -0700)] 
GEODE-10232: reformat list for more reliable rendering (#7581)

4 weeks agoGEODE-10204: Add Test Coverage for SizeableByteArrayList (#7566)
Bala Kaza Venkata [Tue, 12 Apr 2022 17:42:06 +0000 (13:42 -0400)] 
GEODE-10204: Add Test Coverage for SizeableByteArrayList (#7566)

4 weeks agoGEODE-10157: Add Radish Delta Unit Tests (#7558)
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>
4 weeks agoGEODE-10225: Gfsh start commands add exports on JDK 11+ (#7572)
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>
4 weeks agoGEODE-10097: Avoid Thread.sleep for re-auth in MessageDispatcher (#7556)
Jinmei Liao [Mon, 11 Apr 2022 15:48:34 +0000 (08:48 -0700)] 
GEODE-10097: Avoid Thread.sleep for re-auth in MessageDispatcher (#7556)

5 weeks agoRevert "GEODE-10126: Replace Geode for Redis properties with system properties (...
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.

5 weeks agoSocketException is now also handled by messenger.handleJGroupsIOException (#7530)
Darrel Schneider [Fri, 8 Apr 2022 16:51:03 +0000 (09:51 -0700)] 
SocketException is now also handled by messenger.handleJGroupsIOException (#7530)

5 weeks agoGEODE-10127: Reduces verbosity of log messages.
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.

5 weeks agoGEODE-10127: Corrects serialization backwards compatibility issues.
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.

5 weeks agoGEODE-10221: Fix sizing when creating a RedisList copy (#7568)
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.

5 weeks agoGEODE-10077: Avoid callbacks in wan-copy region (#7391)
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.

5 weeks agoGEODE-10203: SerialVersionUID added. (#7529)
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.

5 weeks agoGEODE-10122: P2P Messaging Handles TLS KeyUpdate Message (#7449)
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

5 weeks agoGEODE-10214: Improve speed of JvmSizeUtils.roundUpSize (#7548)
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
```

5 weeks agoGEODE-10127: Corrects NullPointerException in hashCode(). (#7559)
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.

5 weeks agoGEODE-10046: Bump 3rd-party dependency versions (#7557)
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

5 weeks agoGEODE-9991: Refactor for consistency and add tests. (#7533)
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.

5 weeks agoGEODE-9704: Ensure that register interest is called before ready for events (#7442)
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>
5 weeks agoGEODE-10121: Fix transactional redis commands (#7513)
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>
5 weeks agoGEODE-10160: fixes SizeableByteArrayList sizing (#7519)
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>
5 weeks agoGEODE-10216: Add test for existence of VM stats (#7551)
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.

5 weeks agoGEODE-10053: Use stored DistributionConfig to create SSL configurations (#7366)
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.

5 weeks agoGEODE-10198: Fix LINSERT's case-sensitivity for arguments (#7552)
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.

5 weeks agoGEODE-10126: Replace Geode for Redis properties with system properties (#7478)
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

5 weeks agoGEODE-10106: Handle NPE in QueueManagerImpl (#7471)
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.

5 weeks agoGEODE-10211: Correctly check persistence on accessor (#7546)
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.

5 weeks agoGEODE-10116: Enable Redis TCL tests for Lists (#7521)
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>