[geode] branch develop updated (372e6d4300 -> b207304b98)

2022-05-19 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


from 372e6d4300 GEODE-10320: Bump micrometer from 1.8.5 to 1.9.0 (#7706)
 add b207304b98 GEODE-10322: Run various Analyze Serialiable tests from 
IntelliJ (#7711)

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/geode/test/junit/rules/ClassAnalysisRule.java   | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)



[geode] branch support/1.15 updated: GEODE-10284: Add partition-listener option to gfsh create region command (#7666) (#7671)

2022-05-10 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.15 by this push:
 new 610a864544 GEODE-10284: Add partition-listener option to gfsh create 
region command (#7666) (#7671)
610a864544 is described below

commit 610a864544d5dc53155fdcd8ec55b7c233a24b4b
Author: Jens Deppe 
AuthorDate: Tue May 10 10:42:15 2022 -0700

GEODE-10284: Add partition-listener option to gfsh create region command 
(#7666) (#7671)

* Update documentation

Co-authored-by: Dave Barnes 
(cherry picked from commit d4b80d27277d3eda22f692cf95d95026096470d5)
---
 .../geode/management/internal/i18n/CliStrings.java |  4 
 .../gfsh/command-pages/create.html.md.erb  | 13 ++---
 .../cli/commands/CreateRegionCommandDUnitTest.java | 22 ++
 .../GfshParserAutoCompletionIntegrationTest.java   |  2 +-
 .../internal/cli/commands/CreateRegionCommand.java | 11 ++-
 5 files changed, 47 insertions(+), 5 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
index 4cd6bdf177..26d5ed7da2 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
@@ -1076,6 +1076,10 @@ public class CliStrings {
   public static final String CREATE_REGION__OFF_HEAP__HELP =
   "Causes the values of the region to be stored in off-heap memory. The 
default is on heap.";
 
+  public static final String CREATE_REGION__PARTITION_LISTENER = 
"partition-listener";
+  public static final String CREATE_REGION__PARTITION_LISTENER__HELP =
+  "The fully-qualified class name of a partition listener";
+
   public static final String CREATE_REGION__PARTITION_RESOLVER = 
"partition-resolver";
   public static final String CREATE_REGION__PARTITION_RESOLVER__HELP =
   "The fully-qualified class name of the region's partition resolver";
diff --git a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb 
b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
index 7f7568483b..c8503ade89 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
@@ -861,8 +861,10 @@ for syntax details.
 [--recovery-delay=value] [--redundant-copies=value]
 [--startup-recovery-delay=value] [--total-max-memory=value]
 [--total-num-buckets=value] [--compressor=value] [--off-heap(=value)?]
-[--partition-resolver=value] [--eviction-entry-count=value] [--scope=value]
-[--eviction-max-memory=value] [--eviction-action=value] 
[--eviction-object-sizer=value]
+[--partition-listener=value(,value)*] [--partition-resolver=value]
+[--eviction-entry-count=value] [--scope=value]
+[--eviction-max-memory=value] [--eviction-action=value]
+[--eviction-object-sizer=value]
 ```
 
 **Parameters, create region:**
@@ -1079,8 +1081,13 @@ If this option is specified without a value or is 
specified with a value of false
 
 
+partition-listener
+Specifies fully-qualified class names of one or more custom partition 
listeners.
+
+
+
 partition-resolver
-Specifies the full path to a custom partition resolver. Specify org.apache.geode.cache.util.StringPrefixPartitionResolver to use 
the included string prefix partition resolver.
+Specifies the full path to a custom partition resolver. Specify org.apache.geode.cache.util.StringPrefixPartitionResolver to use 
the included string prefix PartitionResolver.
 
 
 
diff --git 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
index 3475fd900c..ccf4b8de88 100644
--- 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
+++ 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
@@ -46,6 +46,8 @@ import org.apache.geode.cache.asyncqueue.AsyncEvent;
 import org.apache.geode.cache.asyncqueue.AsyncEventListener;
 import org.apache.geode.cache.configuration.CacheConfig;
 import org.apache.geode.cache.configuration.RegionConfig;
+import org.apache.geode.cache.partition.PartitionListener;
+import org.apache.geode.cache.partition.PartitionListenerAdapter;
 import org.apache.geode.cache.util.CacheListenerAdapter;
 import org.apache.geode.compression.Compressor;
 import org.apache.geode.compression.SnappyCompressor;
@@ -105,6 +107,9 @@ public class CreateRegio

[geode] branch develop updated: GEODE-10284: Add partition-listener option to gfsh create region command (#7666)

2022-05-09 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new d4b80d2727 GEODE-10284: Add partition-listener option to gfsh create 
region command (#7666)
d4b80d2727 is described below

commit d4b80d27277d3eda22f692cf95d95026096470d5
Author: Jens Deppe 
AuthorDate: Mon May 9 21:09:38 2022 -0700

GEODE-10284: Add partition-listener option to gfsh create region command 
(#7666)


* Update documentation

Co-authored-by: Dave Barnes 
---
 .../geode/management/internal/i18n/CliStrings.java |  4 
 .../gfsh/command-pages/create.html.md.erb  | 13 ++---
 .../cli/commands/CreateRegionCommandDUnitTest.java | 22 ++
 .../GfshParserAutoCompletionIntegrationTest.java   |  2 +-
 .../internal/cli/commands/CreateRegionCommand.java | 11 ++-
 5 files changed, 47 insertions(+), 5 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
index 4cd6bdf177..26d5ed7da2 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/i18n/CliStrings.java
@@ -1076,6 +1076,10 @@ public class CliStrings {
   public static final String CREATE_REGION__OFF_HEAP__HELP =
   "Causes the values of the region to be stored in off-heap memory. The 
default is on heap.";
 
+  public static final String CREATE_REGION__PARTITION_LISTENER = 
"partition-listener";
+  public static final String CREATE_REGION__PARTITION_LISTENER__HELP =
+  "The fully-qualified class name of a partition listener";
+
   public static final String CREATE_REGION__PARTITION_RESOLVER = 
"partition-resolver";
   public static final String CREATE_REGION__PARTITION_RESOLVER__HELP =
   "The fully-qualified class name of the region's partition resolver";
diff --git a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb 
b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
index 7f7568483b..c8503ade89 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
@@ -861,8 +861,10 @@ for syntax details.
 [--recovery-delay=value] [--redundant-copies=value]
 [--startup-recovery-delay=value] [--total-max-memory=value]
 [--total-num-buckets=value] [--compressor=value] [--off-heap(=value)?]
-[--partition-resolver=value] [--eviction-entry-count=value] [--scope=value]
-[--eviction-max-memory=value] [--eviction-action=value] 
[--eviction-object-sizer=value]
+[--partition-listener=value(,value)*] [--partition-resolver=value]
+[--eviction-entry-count=value] [--scope=value]
+[--eviction-max-memory=value] [--eviction-action=value]
+[--eviction-object-sizer=value]
 ```
 
 **Parameters, create region:**
@@ -1079,8 +1081,13 @@ If this option is specified without a value or is 
specified with a value of false
 
 
+partition-listener
+Specifies fully-qualified class names of one or more custom partition 
listeners.
+
+
+
 partition-resolver
-Specifies the full path to a custom partition resolver. Specify org.apache.geode.cache.util.StringPrefixPartitionResolver to use 
the included string prefix partition resolver.
+Specifies the full path to a custom partition resolver. Specify org.apache.geode.cache.util.StringPrefixPartitionResolver to use 
the included string prefix PartitionResolver.
 
 
 
diff --git 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
index 3475fd900c..ccf4b8de88 100644
--- 
a/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
+++ 
b/geode-gfsh/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommandDUnitTest.java
@@ -46,6 +46,8 @@ import org.apache.geode.cache.asyncqueue.AsyncEvent;
 import org.apache.geode.cache.asyncqueue.AsyncEventListener;
 import org.apache.geode.cache.configuration.CacheConfig;
 import org.apache.geode.cache.configuration.RegionConfig;
+import org.apache.geode.cache.partition.PartitionListener;
+import org.apache.geode.cache.partition.PartitionListenerAdapter;
 import org.apache.geode.cache.util.CacheListenerAdapter;
 import org.apache.geode.compression.Compressor;
 import org.apache.geode.compression.SnappyCompressor;
@@ -105,6 +107,9 @@ public class CreateRegionCommandDUnitTest {
 }
   }
 
+  public static class TestPartitionListener exten

[geode] branch develop updated: GEODE-10245: Upgrade classgraph 4.8.143 -> 4.8.145 (#7605)

2022-04-20 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 5ebf30773e GEODE-10245: Upgrade classgraph 4.8.143 -> 4.8.145 (#7605)
5ebf30773e is described below

commit 5ebf30773efab17e0b1663fb5fa8e05fc3ee7767
Author: Jens Deppe 
AuthorDate: Wed Apr 20 09:37:33 2022 -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.
---
 boms/geode-all-bom/src/test/resources/expected-pom.xml  | 2 +-
 .../groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy | 2 +-
 geode-assembly/src/integrationTest/resources/assembly_content.txt   | 2 +-
 .../src/integrationTest/resources/gfsh_dependency_classpath.txt | 2 +-
 geode-server-all/src/integrationTest/resources/dependency_classpath.txt | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/boms/geode-all-bom/src/test/resources/expected-pom.xml 
b/boms/geode-all-bom/src/test/resources/expected-pom.xml
index 49d1904d54..5cd4e69d32 100644
--- a/boms/geode-all-bom/src/test/resources/expected-pom.xml
+++ b/boms/geode-all-bom/src/test/resources/expected-pom.xml
@@ -180,7 +180,7 @@
   
 io.github.classgraph
 classgraph
-4.8.143
+4.8.145
   
   
 io.github.resilience4j
diff --git 
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
 
b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
index c80fe7715f..a2f9bf747d 100644
--- 
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
+++ 
b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
@@ -117,7 +117,7 @@ class DependencyConstraints implements Plugin {
 api(group: 'commons-modeler', name: 'commons-modeler', version: 
'2.0.1')
 api(group: 'commons-validator', name: 'commons-validator', version: 
get('commons-validator.version'))
 // Careful when upgrading this dependency: see GEODE-7370 and 
GEODE-8150.
-api(group: 'io.github.classgraph', name: 'classgraph', version: 
'4.8.143')
+api(group: 'io.github.classgraph', name: 'classgraph', version: 
'4.8.145')
 api(group: 'io.github.resilience4j', name: 'resilience4j-retry', 
version: '1.7.1')
 api(group: 'io.lettuce', name: 'lettuce-core', version: 
'6.1.8.RELEASE')
 api(group: 'io.micrometer', name: 'micrometer-core', version: 
get('micrometer.version'))
diff --git a/geode-assembly/src/integrationTest/resources/assembly_content.txt 
b/geode-assembly/src/integrationTest/resources/assembly_content.txt
index d28417ced2..7e224c0bd2 100644
--- a/geode-assembly/src/integrationTest/resources/assembly_content.txt
+++ b/geode-assembly/src/integrationTest/resources/assembly_content.txt
@@ -966,7 +966,7 @@ lib/HdrHistogram-2.1.12.jar
 lib/HikariCP-4.0.3.jar
 lib/LatencyUtils-2.0.3.jar
 lib/antlr-2.7.7.jar
-lib/classgraph-4.8.143.jar
+lib/classgraph-4.8.145.jar
 lib/commons-beanutils-1.9.4.jar
 lib/commons-codec-1.15.jar
 lib/commons-collections-3.2.2.jar
diff --git 
a/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt 
b/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
index 0f5b5386a8..05ca42cfb4 100644
--- a/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
+++ b/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
@@ -53,7 +53,7 @@ commons-collections-3.2.2.jar
 commons-digester-2.1.jar
 commons-io-2.11.0.jar
 commons-logging-1.2.jar
-classgraph-4.8.143.jar
+classgraph-4.8.145.jar
 micrometer-core-1.8.4.jar
 fastutil-8.5.8.jar
 javax.resource-api-1.7.1.jar
diff --git 
a/geode-server-all/src/integrationTest/resources/dependency_classpath.txt 
b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
index e7f3ef42f2..a0b3622cea 100644
--- a/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
+++ b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
@@ -7,7 +7,7 @@ commons-digester-2.1.jar
 commons-validator-1.7.jar
 spring-jcl-5.3.18.jar
 commons-codec-1.15.jar
-classgraph-4.8.143.jar
+classgraph-4.8.145.jar
 jackson-databind-2.13.2.2.jar
 commons-logging-1.2.jar
 geode-management-0.0.0.jar



[geode] branch develop updated (f7eb7359a2 -> 39e3a89b9e)

2022-04-19 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


from f7eb7359a2 GEODE-10023: do not @link to type params (#7601)
 add 39e3a89b9e GEODE-10161: Remove unnecessary synchronization from 
RedisList (#7579)

No new revisions were added by this update.

Summary of changes:
 .../commands/executor/list/LInsertDUnitTest.java   |  6 ++-
 .../commands/executor/list/LPopDUnitTest.java  |  6 ++-
 .../commands/executor/list/LPushDUnitTest.java |  6 ++-
 .../commands/executor/list/LRemDUnitTest.java  |  9 ++--
 .../commands/executor/list/LTrimDUnitTest.java |  9 ++--
 .../commands/executor/list/RPopDUnitTest.java  |  9 ++--
 .../geode/redis/internal/data/RedisList.java   | 55 ++
 7 files changed, 41 insertions(+), 59 deletions(-)



[geode] branch develop updated (0e6d8377b4 -> 32ef396ef6)

2022-04-14 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


from 0e6d8377b4 GEODE-9759: replaces double-hyphens with  
(#7560)
 add 32ef396ef6 Revert "Revert "GEODE-10126: Replace Geode for Redis 
properties with system properties (#7478)" (#7576)" (#7586)

No new revisions were added by this update.

Summary of changes:
 .../geode/distributed/ConfigurationProperties.java |  77 --
 .../internal/AbstractDistributionConfig.java   |  26 
 .../distributed/internal/DistributionConfig.java   |  94 
 .../internal/DistributionConfigImpl.java   |  80 +-
 .../geode/internal/cache/GemFireCacheImpl.java |   1 +
 .../internal/DistributionConfigImplTest.java   |   8 +-
 .../GeodeRedisServerStartupAcceptanceTest.java | 139 ++---
 ...eRedisServerStartupUsingGfshAcceptanceTest.java |  58 ---
 .../apache/geode/redis/GeodeRedisServerRule.java   |  14 +-
 .../apache/geode/redis/TestRedisConfiguration.java |  97 
 .../test/dunit/rules/RedisClusterStartupRule.java  |  18 +--
 .../executor/hash/HashesAndCrashesDUnitTest.java   |   6 +-
 .../commands/executor/key/RenameDUnitTest.java |   6 +-
 .../commands/executor/list/RPushDUnitTest.java |   4 +-
 .../commands/executor/sortedset/ZRemDUnitTest.java |   4 +-
 .../sortedset/ZRemRangeByRankDUnitTest.java|   8 +-
 .../commands/executor/string/MSetDUnitTest.java|   6 +-
 .../commands/executor/string/MSetNXDUnitTest.java  |   6 +-
 .../auth/AuthWhileServersRestartDUnitTest.java |   4 +-
 .../redis/session/SessionsAndCrashesDUnitTest.java |   4 +-
 .../executor/connection/AuthIntegrationTest.java   |  26 ++--
 .../geode/redis/internal/GeodeRedisServer.java |  23 +--
 .../geode/redis/internal/GeodeRedisService.java|  25 ++-
 .../geode/redis/internal/RedisConfiguration.java   |  59 +++
 .../SystemPropertyBasedRedisConfiguration.java | 170 +
 .../redis/internal/netty/NettyRedisServer.java |  15 +-
 .../redis/internal/services/RegionProvider.java|  10 +-
 27 files changed, 540 insertions(+), 448 deletions(-)
 create mode 100644 
geode-for-redis/src/commonTest/java/org/apache/geode/redis/TestRedisConfiguration.java
 create mode 100644 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/RedisConfiguration.java
 create mode 100644 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/SystemPropertyBasedRedisConfiguration.java



[geode] branch develop updated (2456b89b26 -> 7965968003)

2022-04-12 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


from 2456b89b26 GEODE-10157: Add Radish Delta Unit Tests (#7558)
 add 7965968003 GEODE-10204: Add Test Coverage for SizeableByteArrayList 
(#7566)

No new revisions were added by this update.

Summary of changes:
 .../geode/redis/internal/data/RedisList.java   |   2 +-
 .../data/collections/SizeableByteArrayList.java|  28 +-
 .../collections/SizeableByteArrayListTest.java | 533 +++--
 3 files changed, 519 insertions(+), 44 deletions(-)



[geode] branch develop updated: Revert "GEODE-10126: Replace Geode for Redis properties with system properties (#7478)" (#7576)

2022-04-08 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 934f517e92 Revert "GEODE-10126: Replace Geode for Redis properties 
with system properties (#7478)" (#7576)
934f517e92 is described below

commit 934f517e92854cbfeb09d46f8ed9de806ef3eccb
Author: Jens Deppe 
AuthorDate: Fri Apr 8 16:53:23 2022 -0700

Revert "GEODE-10126: Replace Geode for Redis properties with system 
properties (#7478)" (#7576)

This reverts commit ee1c412d8af3e6311f569948c3248eddc1fe8009.
---
 .../geode/distributed/ConfigurationProperties.java |  77 ++
 .../internal/AbstractDistributionConfig.java   |  26 
 .../distributed/internal/DistributionConfig.java   |  94 
 .../internal/DistributionConfigImpl.java   |  80 +-
 .../geode/internal/cache/GemFireCacheImpl.java |   1 -
 .../internal/DistributionConfigImplTest.java   |   8 +-
 .../GeodeRedisServerStartupAcceptanceTest.java | 139 +++--
 ...eRedisServerStartupUsingGfshAcceptanceTest.java |  58 +++
 .../apache/geode/redis/GeodeRedisServerRule.java   |  14 +-
 .../apache/geode/redis/TestRedisConfiguration.java |  97 
 .../test/dunit/rules/RedisClusterStartupRule.java  |  18 +--
 .../executor/hash/HashesAndCrashesDUnitTest.java   |   6 +-
 .../commands/executor/key/RenameDUnitTest.java |   6 +-
 .../commands/executor/list/RPushDUnitTest.java |   4 +-
 .../commands/executor/sortedset/ZRemDUnitTest.java |   4 +-
 .../sortedset/ZRemRangeByRankDUnitTest.java|   8 +-
 .../commands/executor/string/MSetDUnitTest.java|   6 +-
 .../commands/executor/string/MSetNXDUnitTest.java  |   6 +-
 .../auth/AuthWhileServersRestartDUnitTest.java |   4 +-
 .../redis/session/SessionsAndCrashesDUnitTest.java |   4 +-
 .../executor/connection/AuthIntegrationTest.java   |  26 ++--
 .../geode/redis/internal/GeodeRedisServer.java |  23 ++-
 .../geode/redis/internal/GeodeRedisService.java|  25 +--
 .../geode/redis/internal/RedisConfiguration.java   |  59 ---
 .../SystemPropertyBasedRedisConfiguration.java | 170 -
 .../redis/internal/netty/NettyRedisServer.java |  15 +-
 .../redis/internal/services/RegionProvider.java|  10 +-
 27 files changed, 448 insertions(+), 540 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
index 1a4e205e2e..d8d32565a6 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
@@ -1920,6 +1920,83 @@ public interface ConfigurationProperties {
* Since: Geode 1.0
*/
   String OFF_HEAP_MEMORY_SIZE = "off-heap-memory-size";
+  /**
+   * The static String definition of the "geode-for-redis-bind-address" 
property 
+   * 
+   * Description: Specifies the address on which Geode for Redis is
+   * listening. If set to the empty string or this property is not specified, 
the server listens on
+   * all local addresses.
+   * 
+   * Default: ""
+   * 
+   * Since: Geode 1.15
+   */
+  String GEODE_FOR_REDIS_BIND_ADDRESS = "geode-for-redis-bind-address";
+  /**
+   * The static String definition of the "geode-for-redis-enabled" 
property 
+   * 
+   * Description: When the default value of false, Geode for Redis is
+   * not available.
+   * Set to true to enable Geode for Redis.
+   * 
+   * Default: false
+   * When the default value of false, Geode for Redis is not available.
+   * Set to true to enable Geode for Redis.
+   * 
+   * Since: Geode 1.15
+   */
+  String GEODE_FOR_REDIS_ENABLED = "geode-for-redis-enabled";
+  /**
+   * The static String definition of the "geode-for-redis-username" 
property 
+   * 
+   * Description: Specifies the default username that the server uses 
when a client attempts
+   * to authenticate using only a password. This requires a SecurityManager to 
be configured.
+   * 
+   * Default: default
+   * 
+   * Since: Geode 1.15
+   */
+  String GEODE_FOR_REDIS_USERNAME = "geode-for-redis-username";
+  /**
+   * The static String definition of the "geode-for-redis-port" 
property 
+   * 
+   * Description: Specifies the port on which the Geode for Redis 
server listens for clients.
+   * A value of 0 selects a random port.
+   * 
+   * Default: 6379
+   * 
+   * Allowed values: 0..65535
+   * 
+   * Since: Geode 1.15
+   */
+  String GEODE_FOR_REDIS_PORT = "geode-for-redis-port";
+  /**
+   * The static String definition of the 
"geode-for-redis-redundant-copies" property 
+   * 
+   * Description: Speci

[geode] branch develop updated (3889df2803 -> 4989b9ae82)

2022-04-07 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


from 3889df2803 GEODE-10077: Avoid callbacks in wan-copy region (#7391)
 add 4989b9ae82 GEODE-10221: Fix sizing when creating a RedisList copy 
(#7568)

No new revisions were added by this update.

Summary of changes:
 .../apache/geode/redis/internal/data/AbstractRedisData.java|  7 ---
 .../java/org/apache/geode/redis/internal/data/RedisList.java   |  3 +--
 .../redis/internal/data/collections/SizeableByteArrayList.java | 10 ++
 .../org/apache/geode/redis/internal/data/RedisListTest.java|  9 +
 .../internal/data/collections/SizeableByteArrayListTest.java   |  8 
 5 files changed, 32 insertions(+), 5 deletions(-)



[geode] branch develop updated: GEODE-10214: Improve speed of JvmSizeUtils.roundUpSize (#7548)

2022-04-06 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 982f846fb5 GEODE-10214: Improve speed of JvmSizeUtils.roundUpSize 
(#7548)
982f846fb5 is described below

commit 982f846fb5d8b61e617c7d0e1a484ea0664229ab
Author: Jens Deppe 
AuthorDate: Wed Apr 6 13:57:46 2022 -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  avgt5  3480.815 ± 387.131  us/op
PerformanceSample.benchmark2  avgt5  2418.937 ± 586.209  us/op
```
---
 .../geode/internal/JvmSizeUtilsBenchmark.java  | 78 ++
 .../org/apache/geode/internal/JvmSizeUtils.java| 13 ++--
 .../geode/internal/JvmSizeUtilsJUnitTest.java  | 38 +++
 3 files changed, 121 insertions(+), 8 deletions(-)

diff --git 
a/geode-core/src/jmh/java/org/apache/geode/internal/JvmSizeUtilsBenchmark.java 
b/geode-core/src/jmh/java/org/apache/geode/internal/JvmSizeUtilsBenchmark.java
new file mode 100644
index 00..7756a28024
--- /dev/null
+++ 
b/geode-core/src/jmh/java/org/apache/geode/internal/JvmSizeUtilsBenchmark.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.internal;
+
+import java.util.concurrent.TimeUnit;
+
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+import org.openjdk.jmh.annotations.Warmup;
+
+/**
+ * Run this benchmark individually with:
+ * 
+ * 
+ *./gradlew -Pjmh.include=JvmSizeUtilsBenchmark geode-core:jmh
+ * 
+ */
+@State(Scope.Thread)
+@Fork(1)
+public class JvmSizeUtilsBenchmark {
+
+  private int i = 0;
+
+  @TearDown(Level.Iteration)
+  public void teardown() {
+i++;
+  }
+
+  @Benchmark
+  @Measurement(iterations = 5)
+  @Warmup(iterations = 3)
+  @BenchmarkMode(Mode.Throughput)
+  @OutputTimeUnit(TimeUnit.MILLISECONDS)
+  public long benchmark_roundUpSize() {
+return JvmSizeUtils.roundUpSize(i);
+  }
+
+  @Benchmark
+  @Measurement(iterations = 5)
+  @Warmup(iterations = 3)
+  @BenchmarkMode(Mode.Throughput)
+  @OutputTimeUnit(TimeUnit.MILLISECONDS)
+  public long benchmark_old() {
+return roundUpSize_old(i);
+  }
+
+  /**
+   * For reference, and to compare benchmark numbers, this is the original 
method.
+   */
+  private static long roundUpSize_old(long size) {
+long remainder = size % 8;
+if (remainder != 0) {
+  size += 8 - remainder;
+}
+return size;
+  }
+}
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/JvmSizeUtils.java 
b/geode-core/src/main/java/org/apache/geode/internal/JvmSizeUtils.java
index 0731d8395e..673f1a0c55 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/JvmSizeUtils.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/JvmSizeUtils.java
@@ -135,15 +135,12 @@ public class JvmSizeUtils {
 return objectHeaderSize;
   }
 
+  /**
+   * Round up to the nearest 8 bytes. Experimentally, this is what we've seen 
the sun 32 bit JVM do
+   * with object size.
+   */
   public static long roundUpSize(long size) {
-// Round up to the nearest 8 bytes. Experimentally, this
-// is what we've seen the sun 32 bit VM do with object size.
-// See https://wiki.gemstone.com/display/rusage/Per+Entry+Overhead
-long remainder = size % 8;
-if (remainder != 0) {
-  size += 8 - remainder;
-}
-return size;
+return ((size + 7) & (-8));
   }
 
   public static 

[geode] branch develop updated: GEODE-10160: fixes SizeableByteArrayList sizing (#7519)

2022-04-06 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 4cae7ac076 GEODE-10160: fixes SizeableByteArrayList sizing (#7519)
4cae7ac076 is described below

commit 4cae7ac07641780663f648ef533cdb9a4b978aac
Author: Steve Sienkowski <30511577+steve-si...@users.noreply.github.com>
AuthorDate: Wed Apr 6 10:13:38 2022 -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 
---
 .../geode/redis/internal/data/RedisList.java   |  19 +--
 .../data/collections/SizeableByteArrayList.java|  58 ++-
 .../collections/SizeableByteArrayListTest.java | 190 -
 3 files changed, 234 insertions(+), 33 deletions(-)

diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
index 1c48f384ef..4dc66335ad 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
@@ -456,24 +456,7 @@ public class RedisList extends AbstractRedisData {
 
   public synchronized int elementInsert(byte[] elementToInsert, byte[] 
referenceElement,
   boolean before) {
-int i = 0;
-ListIterator iterator = elementList.listIterator();
-
-while (iterator.hasNext()) {
-  if (Arrays.equals(iterator.next(), referenceElement)) {
-if (before) {
-  iterator.previous();
-  iterator.add(elementToInsert);
-  return i;
-} else {
-  iterator.add(elementToInsert);
-  return i + 1;
-}
-  }
-  i++;
-}
-
-return -1;
+return elementList.insert(elementToInsert, referenceElement, before);
   }
 
   public synchronized void elementInsert(byte[] toInsert, int index) {
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/collections/SizeableByteArrayList.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/collections/SizeableByteArrayList.java
index fedc73470b..2e74a61889 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/collections/SizeableByteArrayList.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/collections/SizeableByteArrayList.java
@@ -136,20 +136,22 @@ public class SizeableByteArrayList extends 
LinkedList implements Sizeabl
   }
 
   /**
-   * @param remove in order (smallest to largest) list of indexes to remove
+   * @param removalList in order (smallest to largest) list of indexes to 
remove
*/
-  public void removeIndexes(List remove) {
-int removeIndex = 0;
-int firstIndexToRemove = remove.get(0);
+  public void removeIndexes(List removalList) {
+int removalListIndex = 0;
+int firstIndexToRemove = removalList.get(0);
+int lastIndexToRemove = removalList.get(removalList.size() - 1);
+
 ListIterator iterator = listIterator(firstIndexToRemove);
 
 // Iterates only through the indexes to remove
-for (int i = firstIndexToRemove; i <= remove.get(remove.size() - 1); i++) {
+for (int index = firstIndexToRemove; index <= lastIndexToRemove; index++) {
   byte[] element = iterator.next();
-  if (i == remove.get(removeIndex)) {
+  if (index == removalList.get(removalListIndex)) {
 iterator.remove();
 memberOverhead -= calculateByteArrayOverhead(element);
-removeIndex++;
+removalListIndex++;
   }
 }
   }
@@ -175,6 +177,25 @@ public class SizeableByteArrayList extends 
LinkedList implements Sizeabl
 return element;
   }
 
+  @Override
+  public boolean removeLastOccurrence(Object o) {
+throw new UnsupportedOperationException();
+  }
+
+  @Override
+  public byte[] set(int index, byte[] newElement) {
+byte[] replacedElement = super.set(index, newElement);
+memberOverhead -= calculateByteArrayOverhead(replacedElement);
+memberOverhead += calculateByteArrayOverhead(newElement);
+return replacedElement;
+  }
+
+  @Override
+  public void add(int index, byte[] element) {
+memberOverhead += calculateByteArrayOverhead(element);
+super.add(index, element);
+  }
+
   @Override
   public void addFirst(byte[] element) {
 memberOverhead += calculateByteArrayOverhead(element);
@@ -187,8 +208,27 @@ public class SizeableByteArrayList extends 
LinkedList implements Sizeabl
 super.addLast(element);
   }
 
-  public boolean removeLastOccurrence(Object o) {
- 

[geode] branch develop updated: GEODE-10198: Fix LINSERT's case-sensitivity for arguments (#7552)

2022-04-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new f1d5a25877 GEODE-10198: Fix LINSERT's case-sensitivity for arguments 
(#7552)
f1d5a25877 is described below

commit f1d5a2587754e49f2c7e6f0e1fc39b0221fb8ec3
Author: Bala Kaza Venkata <43208983+balak...@users.noreply.github.com>
AuthorDate: Tue Apr 5 14:16:32 2022 -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.
---
 .../resources/0001-configure-redis-tests.patch | 70 ++
 .../commands/executor/list/LInsertExecutor.java|  4 +-
 2 files changed, 19 insertions(+), 55 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch 
b/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
index 8ea96fe42f..6bf8dbd05f 100644
--- 
a/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
+++ 
b/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
@@ -1362,13 +1362,13 @@ index b5bd48cb0..5b9a529c7 100644
  r linsert key $where $otherele $ele
  }
 diff --git a/tests/unit/type/list.tcl b/tests/unit/type/list.tcl
-index 1557082a2..5395920c7 100644
+index 1557082a2..3d6a3ace4 100644
 --- a/tests/unit/type/list.tcl
 +++ b/tests/unit/type/list.tcl
 @@ -85,130 +85,130 @@ start_server {
  assert_encoding quicklist $key
  }
- 
+
 -foreach {type large} [array get largevalue] {
 -test "BLPOP, BRPOP: single existing list - $type" {
 -set rd [redis_deferring_client]
@@ -1551,12 +1551,12 @@ index 1557082a2..5395920c7 100644
 +  #  r lpush list b
 +  #  $rd read
 +  #  } {list b}
- 
+
  test "BLPOP with same key multiple times should work (issue #801)" {
  set rd [redis_deferring_client]
 -r del list1 list2
 +r del "{tag}list1" "{tag}list2"
- 
+
  # Data arriving after the BLPOP.
 -$rd blpop list1 list2 list2 list1 0
 -r lpush list1 a
@@ -1570,7 +1570,7 @@ index 1557082a2..5395920c7 100644
 +$rd blpop "{tag}list1" "{tag}list2" "{tag}list2" "{tag}list1" 0
 +r lpush "{tag}list2" b
 +assert_equal [$rd read] {{{tag}list2} b}
- 
+
  # Data already there.
 -r lpush list1 a
 -r lpush list2 b
@@ -1610,13 +1610,13 @@ index 1557082a2..5395920c7 100644
 +  #  r exec
 +  #  $rd read
 +  #  } {list c}
- 
+
  test "BLPOP with variadic LPUSH" {
  set rd [redis_deferring_client]
 @@ -222,203 +222,204 @@ start_server {
  assert_equal foo [lindex [r lrange blist 0 -1] 0]
  }
- 
+
 -test "BRPOPLPUSH with zero timeout should block indefinitely" {
 -set rd [redis_deferring_client]
 -r del blist target
@@ -2018,7 +2018,7 @@ index 1557082a2..5395920c7 100644
 @@ -434,11 +435,11 @@ start_server {
  assert_error "ERR*is negative*" {$rd read}
  }
- 
+
 -test "$pop: with non-integer timeout" {
 -set rd [redis_deferring_client]
 -$rd $pop blist1 1.1
@@ -2029,11 +2029,11 @@ index 1557082a2..5395920c7 100644
 +#$rd $pop blist1 1.1
 +#assert_error "ERR*not an integer*" {$rd read}
 +#}
- 
+
  test "$pop: with zero timeout should block indefinitely" {
  # To test this, use a timeout of 0 and wait a second.
-@@ -452,83 +453,84 @@ start_server {
- 
+@@ -452,65 +453,66 @@ start_server {
+
  test "$pop: second argument is not a list" {
  set rd [redis_deferring_client]
 -r del blist1 blist2
@@ -2044,7 +2044,7 @@ index 1557082a2..5395920c7 100644
 +$rd $pop "{tag}blist1" "{tag}blist2" 1
  assert_error "WRONGTYPE*" {$rd read}
  }
- 
+
  test "$pop: timeout" {
  set rd [redis_deferring_client]
 -r del blist1 blist2
@@ -2053,7 +2053,7 @@ index 1557082a2..5395920c7 100644
 +$rd $pop "{tag}blist1" "{tag}blist2" 1
  assert_equal {} [$rd read]
  }
- 
+
  test "$pop: arguments are empty" {
  set rd [redis_deferring_client]
 -r del blist1 blist2
@@ -2124,7 +2124,7 @@ index 1557082a2..5395920c7 100644
 +  #  assert_equal 0 [r rpushx xlist a]
 +  #  assert_equal 0 [r llen xlist]
 +  #  }
- 
+
  foreach {type large} [array get largevalue] {
 -test "LPUSHX, RPUSHX -

[geode] branch develop updated: GEODE-10126: Replace Geode for Redis properties with system properties (#7478)

2022-04-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new ee1c412d8a GEODE-10126: Replace Geode for Redis properties with system 
properties (#7478)
ee1c412d8a is described below

commit ee1c412d8af3e6311f569948c3248eddc1fe8009
Author: Jens Deppe 
AuthorDate: Tue Apr 5 09:53:00 2022 -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
---
 .../geode/distributed/ConfigurationProperties.java |  77 --
 .../internal/AbstractDistributionConfig.java   |  26 
 .../distributed/internal/DistributionConfig.java   |  94 
 .../internal/DistributionConfigImpl.java   |  80 +-
 .../geode/internal/cache/GemFireCacheImpl.java |   1 +
 .../internal/DistributionConfigImplTest.java   |   8 +-
 .../GeodeRedisServerStartupAcceptanceTest.java | 139 ++---
 ...eRedisServerStartupUsingGfshAcceptanceTest.java |  58 ---
 .../apache/geode/redis/GeodeRedisServerRule.java   |  14 +-
 .../apache/geode/redis/TestRedisConfiguration.java |  97 
 .../test/dunit/rules/RedisClusterStartupRule.java  |  18 +--
 .../executor/hash/HashesAndCrashesDUnitTest.java   |   6 +-
 .../commands/executor/key/RenameDUnitTest.java |   6 +-
 .../commands/executor/list/RPushDUnitTest.java |   4 +-
 .../commands/executor/sortedset/ZRemDUnitTest.java |   4 +-
 .../sortedset/ZRemRangeByRankDUnitTest.java|   8 +-
 .../commands/executor/string/MSetDUnitTest.java|   6 +-
 .../commands/executor/string/MSetNXDUnitTest.java  |   6 +-
 .../auth/AuthWhileServersRestartDUnitTest.java |   4 +-
 .../redis/session/SessionsAndCrashesDUnitTest.java |   4 +-
 .../executor/connection/AuthIntegrationTest.java   |  26 ++--
 .../geode/redis/internal/GeodeRedisServer.java |  23 +--
 .../geode/redis/internal/GeodeRedisService.java|  25 ++-
 .../geode/redis/internal/RedisConfiguration.java   |  59 +++
 .../SystemPropertyBasedRedisConfiguration.java | 170 +
 .../redis/internal/netty/NettyRedisServer.java |  15 +-
 .../redis/internal/services/RegionProvider.java|  10 +-
 27 files changed, 540 insertions(+), 448 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
index d8d32565a6..1a4e205e2e 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
@@ -1920,83 +1920,6 @@ public interface ConfigurationProperties {
* Since: Geode 1.0
*/
   String OFF_HEAP_MEMORY_SIZE = "off-heap-memory-size";
-  /**
-   * The static String definition of the "geode-for-redis-bind-address" 
property 
-   * 
-   * Description: Specifies the address on which Geode for Redis is
-   * listening. If set to the empty string or this property is not specified, 
the server listens on
-   * all local addresses.
-   * 
-   * Default: ""
-   * 
-   * Since: Geode 1.15
-   */
-  String GEODE_FOR_REDIS_BIND_ADDRESS = "geode-for-redis-bind-address";
-  /**
-   * The static String definition of the "geode-for-redis-enabled" 
property 
-   * 
-   * Description: When the default value of false, Geode for Redis is
-   * not available.
-   * Set to true to enable Geode for Redis.
-   * 
-   * Default: false
-   * When the default value of false, Geode for Redis is not available.
-   * Set to true to enable Geode for Redis.
-   * 
-   * Since: G

[geode] branch develop updated: GEODE-10125: Switch Radish data structures to use DataSerializable (#7512)

2022-04-01 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 5dce03c  GEODE-10125: Switch Radish data structures to use 
DataSerializable (#7512)
5dce03c is described below

commit 5dce03c9136e66d2497fdcbad8943620442d956b
Author: Jens Deppe 
AuthorDate: Fri Apr 1 06:29:14 2022 -0700

GEODE-10125: Switch Radish data structures to use DataSerializable (#7512)
---
 .../codeAnalysis/sanctionedDataSerializables.txt   | 24 ++---
 .../geode/redis/internal/GeodeRedisService.java| 31 ++---
 .../geode/redis/internal/RedisConstants.java   | 13 
 .../redis/internal/data/AbstractRedisData.java |  7 ++--
 .../geode/redis/internal/data/NullRedisData.java   | 31 -
 .../geode/redis/internal/data/RedisData.java   |  4 +--
 .../geode/redis/internal/data/RedisHash.java   | 34 +--
 .../apache/geode/redis/internal/data/RedisKey.java | 32 --
 .../geode/redis/internal/data/RedisList.java   | 35 +--
 .../apache/geode/redis/internal/data/RedisSet.java | 34 +--
 .../geode/redis/internal/data/RedisSortedSet.java  | 35 ++-
 .../geode/redis/internal/data/RedisString.java | 33 +-
 .../data/delta/AddByteArrayDoublePairs.java|  6 ++--
 .../internal/data/delta/AddByteArrayPairs.java |  6 ++--
 .../redis/internal/data/delta/AddByteArrays.java   |  6 ++--
 .../internal/data/delta/AddByteArraysTail.java |  6 ++--
 .../internal/data/delta/RemoveByteArrays.java  |  6 ++--
 .../internal/data/delta/RemoveElementsByIndex.java |  6 ++--
 .../data/delta/ReplaceByteArrayAtOffset.java   |  6 ++--
 .../data/delta/ReplaceByteArrayDoublePairs.java|  6 ++--
 .../internal/data/delta/ReplaceByteArrays.java |  6 ++--
 .../internal/data/delta/ReplaceByteAtOffset.java   |  7 ++--
 .../geode/redis/internal/pubsub/Publisher.java | 39 ++
 .../internal/services/cluster/RedisMemberInfo.java | 36 ++--
 ...serialization.DataSerializableFixedIdRegistrant | 16 -
 .../geode/redis/internal/data/RedisHashTest.java   |  5 ++-
 .../geode/redis/internal/data/RedisListTest.java   |  8 ++---
 .../geode/redis/internal/data/RedisSetTest.java| 10 +++---
 .../redis/internal/data/RedisSortedSetTest.java|  5 ++-
 .../geode/redis/internal/data/RedisStringTest.java |  8 ++---
 .../serialization/DataSerializableFixedID.java | 12 +--
 31 files changed, 212 insertions(+), 301 deletions(-)

diff --git 
a/geode-for-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
 
b/geode-for-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
index 5c1cf88..096dd65 100644
--- 
a/geode-for-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
+++ 
b/geode-for-redis/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
@@ -7,32 +7,32 @@ fromData,8
 toData,8
 
 org/apache/geode/redis/internal/data/RedisHash,2
-toData,15
-fromData,58
+toData,14
+fromData,55
 
 org/apache/geode/redis/internal/data/RedisKey,2
 fromData,19
 toData,19
 
 org/apache/geode/redis/internal/data/RedisList,2
-toData,55
-fromData,42
+toData,52
+fromData,39
 
 org/apache/geode/redis/internal/data/RedisSet,2
-toData,55
-fromData,51
+toData,52
+fromData,48
 
 org/apache/geode/redis/internal/data/RedisSortedSet,2
-toData,15
-fromData,86
+toData,14
+fromData,83
 
 org/apache/geode/redis/internal/data/RedisString,2
-toData,15
-fromData,15
+toData,14
+fromData,14
 
 org/apache/geode/redis/internal/pubsub/Publisher$PublishRequest,2
-fromData,55
-toData,61
+fromData,53
+toData,59
 
 org/apache/geode/redis/internal/services/cluster/RedisMemberInfo,2
 fromData,28
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/GeodeRedisService.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/GeodeRedisService.java
index 6a72f37..ba87db7 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/GeodeRedisService.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/GeodeRedisService.java
@@ -23,23 +23,10 @@ import org.apache.geode.distributed.internal.ResourceEvent;
 import org.apache.geode.distributed.internal.ResourceEventsListener;
 import org.apache.geode.internal.cache.CacheService;
 import org.apache.geode.internal.cache.InternalCache;
-import org.apache.geode.internal.serialization.DataSerializableFixedID;
-import 
org.apache.geode.internal.serialization.DataSerializableFixedIdRegistrant;
-import 
org.apache.geode.internal.serialization.DataSerializableFixedIdRegistrar;
 import org.apache.geode.logging.internal.log4j.api.LogService;
 import

[geode] branch develop updated: GEODE-10191: Radish RENAME and RESTORE create notification events (#7537)

2022-03-31 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 3a8044a  GEODE-10191: Radish RENAME and RESTORE create notification 
events (#7537)
3a8044a is described below

commit 3a8044aeec9d492182c4bf1a4a311fdc382a393d
Author: Jens Deppe 
AuthorDate: Thu Mar 31 20:26:59 2022 -0700

GEODE-10191: Radish RENAME and RESTORE create notification events (#7537)

- Both of these commands have the ability to create events to satisfy
  BLPOP.
- Introduce a NotificationEvent enum which is passed to fireEvent.
- Previously the RedisCommandType was being passed, but this does not
  work for RENAME which creates RENAME_FROM and RENAME_TO events. In the
  future, other commands will need to create multiple events too.
---
 .../list/AbstractBLPopIntegrationTest.java | 32 ++
 .../internal/eventing/EventDistributorTest.java|  3 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |  1 +
 .../executor/key/AbstractRenameExecutor.java   |  2 +-
 .../commands/executor/key/RestoreExecutor.java |  2 ++
 .../redis/internal/data/AbstractRedisData.java | 10 +--
 .../geode/redis/internal/data/NullRedisData.java   |  3 +-
 .../geode/redis/internal/data/NullRedisList.java   |  6 ++--
 .../geode/redis/internal/data/RedisData.java   |  3 +-
 .../geode/redis/internal/data/RedisList.java   |  6 ++--
 .../internal/eventing/BlockingCommandListener.java |  3 +-
 .../redis/internal/eventing/EventDistributor.java  |  5 ++--
 .../redis/internal/eventing/EventListener.java |  5 ++--
 .../redis/internal/eventing/EventResponse.java |  3 +-
 .../{EventResponse.java => NotificationEvent.java} | 25 -
 .../internal/netty/ExecutionHandlerContext.java|  5 ++--
 16 files changed, 75 insertions(+), 39 deletions(-)

diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractBLPopIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractBLPopIntegrationTest.java
index fd9b12a..f4d2fea 100755
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractBLPopIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractBLPopIntegrationTest.java
@@ -163,6 +163,38 @@ public abstract class AbstractBLPopIntegrationTest 
implements RedisIntegrationTe
   }
 
   @Test
+  public void testBLPopWhenValueGetsCreated_withRename() throws Exception {
+String initialName = "{tag}initial";
+String changedName = "{tag}changed";
+jedis.lpush(initialName, "value1", "value2");
+
+Future> future = executor.submit(() -> jedis.blpop(10, 
changedName));
+awaitEventDistributorSize(1);
+
+jedis.rename(initialName, changedName);
+
+assertThat(future.get()).containsExactly(changedName, "value2");
+assertThat(jedis.lpop(changedName)).isEqualTo("value1");
+  }
+
+  @Test
+  public void testBLPopWhenValueGetsCreated_withRestore() throws Exception {
+String key = "key";
+jedis.lpush(key, "value1", "value2");
+
+byte[] dumpBytes = jedis.dump(key);
+jedis.del(key);
+
+Future> future = executor.submit(() -> jedis.blpop(10, key));
+awaitEventDistributorSize(1);
+
+jedis.restore(key, 0, dumpBytes);
+
+assertThat(future.get()).containsExactly(key, "value2");
+assertThat(jedis.lpop(key)).isEqualTo("value1");
+  }
+
+  @Test
   public void testConcurrentBLPop() throws Exception {
 int totalElements = 10_000;
 List accumulated = Collections.synchronizedList(new 
ArrayList<>(totalElements + 2));
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/eventing/EventDistributorTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/eventing/EventDistributorTest.java
index d8a4d1c..b7a3cb6 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/eventing/EventDistributorTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/eventing/EventDistributorTest.java
@@ -27,7 +27,6 @@ import java.util.stream.Collectors;
 import org.junit.Test;
 
 import org.apache.geode.redis.ConcurrentLoopingThreads;
-import org.apache.geode.redis.internal.commands.RedisCommandType;
 import org.apache.geode.redis.internal.data.RedisKey;
 
 public class EventDistributorTest {
@@ -45,7 +44,7 @@ public class EventDistributorTest {
 }
 
 @Override
-public EventResponse process(RedisCommandType commandType, Redis

[geode] branch develop updated (86b5f7b -> 7c01027)

2022-03-29 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 86b5f7b  GEODE-10127: Adds test to preserve correct marshalling 
behavior. (#7461)
 add 7c01027  GEODE-10190: Improve runntime of MSetIntegrationTest and 
RenameIntegratinoTest (#7511)

No new revisions were added by this update.

Summary of changes:
 .../commands/executor/key/AbstractRenameIntegrationTest.java| 6 +++---
 .../commands/executor/string/AbstractMSetIntegrationTest.java   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)


[geode] branch develop updated (4b2f368 -> 5aa6b62)

2022-03-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 4b2f368  GEODE-9983: Implement RPOPLPUSH command (#7467)
 add 5aa6b62  GEODE-10171: AbstractRedisData version being incremented for 
no-op operations can lead to corruption (#7496)

No new revisions were added by this update.

Summary of changes:
 .../apache/geode/redis/internal/data/AbstractRedisData.java   |  4 
 .../java/org/apache/geode/redis/internal/data/RedisSet.java   |  8 
 .../org/apache/geode/redis/internal/data/RedisListTest.java   | 11 +++
 .../org/apache/geode/redis/internal/data/RedisSetTest.java| 11 +++
 4 files changed, 30 insertions(+), 4 deletions(-)


[geode] branch develop updated: GEODE-9946: Add Radish LREM command (#7431)

2022-03-24 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 1f668a2  GEODE-9946: Add Radish LREM command (#7431)
1f668a2 is described below

commit 1f668a2fa94ab77172670b22fc8310ef8198b243
Author: Kris10 
AuthorDate: Thu Mar 24 19:53:15 2022 -0700

GEODE-9946: Add Radish LREM command (#7431)


This implements a version of the Redis LREM command, which is used for
list data types. Associated tests were also added.

For a list stored at a key, lrem removes the first given count
occurrences equal to the element specified. A positive count starts at
the head, while a negative count starts at the tail. If the count is 0,
it removes all occurrences of the element. It returns the amount of
elements actually removed.

ApplyRemoveElementsByIndex delta was modified to remove elements in one
iteration. A new delta was added to remove elements in one iteration
starting from the tail.
---
 .../tools_modules/geode_for_redis.html.md.erb  |  34 ++--
 geode-for-redis/README.md  |   1 +
 .../list/LRemNativeRedisAcceptanceTest.java|  37 
 .../commands/executor/list/LRemDUnitTest.java  | 200 +
 .../executor/list/AbstractLRemIntegrationTest.java | 165 +
 .../executor/list/LRemIntegrationTest.java |  31 
 .../server/AbstractHitsMissesIntegrationTest.java  |   5 +
 .../redis/internal/commands/RedisCommandType.java  |   2 +
 .../commands/executor/list/LRemExecutor.java   |  51 ++
 .../redis/internal/data/AbstractRedisData.java |   3 +-
 .../geode/redis/internal/data/NullRedisList.java   |   6 +
 .../geode/redis/internal/data/RedisList.java   |  39 +++-
 .../data/collections/SizeableByteArrayList.java|  71 
 .../internal/data/delta/RemoveElementsByIndex.java |   5 +
 .../geode/redis/internal/data/RedisListTest.java   |  46 +
 .../collections/SizeableByteArrayListTest.java |  58 +-
 16 files changed, 721 insertions(+), 33 deletions(-)

diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 1f4346f..2e1a69d0 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -189,23 +189,23 @@ Could not connect to Redis at 127.0.0.1:6379: Connection 
refused
 | INCRBY | INCRBYFLOAT| INFO **[4]**   | KEYS  
 |
 | LINDEX | LINSERT| LLEN   | LOLWUT
 |
 | LPOP   | LPUSH  | LPUSHX | LRANGE
 |
-| LSET   | MGET   | MSET   | MSETNX
 |
-| PERSIST| PEXPIRE| PEXPIREAT  | PING  
 |
-| PSETEX | PSUBSCRIBE | PTTL   | PUBLISH   
 |
-| PUBSUB | PUNSUBSCRIBE   | RENAME | RENAMENX  
 |
-| RESTORE| RPUSH  | RPOP   | SADD  
 |
-| SCARD  | SDIFF  | SDIFFSTORE | SET   
 |
-| SETEX  | SETNX  | SETRANGE   | SINTER
 |
-| SINTERSTORE| SISMEMBER  | SMEMBERS   | SMOVE 
 |
-| SPOP   | SRANDMEMBER| SREM   | SSCAN **[3]** 
 |
-| STRLEN | SUBSCRIBE  | SUNION | SUNIONSTORE   
 |
-| TTL| TYPE   | UNSUBSCRIBE| QUIT  
 |
-| ZADD   | ZCARD  | ZCOUNT | ZINCRBY   
 |
-| ZINTERSTORE| ZLEXCOUNT  | ZPOPMAX| ZPOPMIN   
 |
-| ZRANGE | ZRANGEBYLEX| ZRANGEBYSCORE  | ZRANK 
 |
-| ZREM   | ZREMRANGEBYLEX | ZREMRANGEBYRANK| 
ZREMRANGEBYSCORE   |
-| ZREVRANGE  | ZREVRANGEBYLEX | ZREVRANGEBYSCORE   | ZREVRANK  
 |
-| ZSCAN **[3]**  | ZSCORE | ZUNIONSTORE|   
 |
+| LREM   | LSET   | MGET   | MSET  
 |
+| MSETNX | PERSIST| PEXPIRE| PEXPIREAT 
 |
+| PING   | PSETEX | PSUBSCRIBE | PTTL  
 |
+| PUBLISH| PUBSUB | PUNSUBSCRIBE   | RENAME
 |
+| RENAMENX   | RESTORE| RPUSH  | RPOP  
 |
+| SADD   | SCARD  | SDIFF  | SDIFFSTORE
 |
+| SET| SETEX  | SETNX  | SETRANGE  
 |
+| SINTER

[geode] branch develop updated (c175096 -> dca393f)

2022-03-23 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from c175096  GEODE-10127: Use correct hostname in WAN with LB test
 add dca393f  GEODE-10108: Remove extra enum written in 
ReplaceByteArrayAtOffset (#7477)

No new revisions were added by this update.

Summary of changes:
 .../data/delta/ReplaceByteArrayAtOffset.java   |  1 -
 .../redis/internal/data/DeltaClassesJUnitTest.java | 71 ++
 2 files changed, 71 insertions(+), 1 deletion(-)
 create mode 100644 
geode-for-redis/src/test/java/org/apache/geode/redis/internal/data/DeltaClassesJUnitTest.java


[geode] branch develop updated: GEODE-10048: Add framework for Redis events and BLPOP command (#7408)

2022-03-22 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 6b43b76  GEODE-10048: Add framework for Redis events and BLPOP command 
(#7408)
6b43b76 is described below

commit 6b43b76e3d5a9c5b0c84df8e1995d61528871068
Author: Jens Deppe 
AuthorDate: Tue Mar 22 19:47:00 2022 -0700

GEODE-10048: Add framework for Redis events and BLPOP command (#7408)

* GEODE-10048: Add framework for Redis events and BLPOP command

This commit adds a simple eventing framework to be used by blocking
commands as well as keyspace event notification (still to be
implemented). The main components are:

- EventListener: an interface to be immplemented by anything wishing to
  receive events. Currently only implemented for blocking commands in
  the form of BlockingCommandListener.
- EventDistributor: the component to which listeners are registered and
  where events are received and distributed. A single EventDistributor
  exists in the system and is associated with each
  ExecutionHandlerContext.
- Event: not implemented as a separate class but logically consists of
  the command (RedisCommandType) and key (RedisKey).

When a blocking command receives a relevant event the command is
resubmitted into the Netty pipeline. This also means that something
could happen (another command) that causes the blocking command to
re-block and not complete. This is also what happens with native Redis.
For example:

- BLPOP 0 A executes and blocks
- LPUSH A some-value
- Before LPUSH fires an event, LPOP A is received but needs to wait to
  acquire the lock on A
- LPUSH fires an event which the BLPOP listener receives and resubmits
  BLPOP into the pipeline
- Once LPUSH completes, LPOP is next and removes A
- BLPOP A runs and ends up blocking again because there is nothing to
  pop from A
---
 .../list/BLPopNativeRedisAcceptanceTest.java   |  41 
 .../commands/executor/list/BLPopDUnitTest.java | 120 
 .../list/AbstractBLPopIntegrationTest.java | 201 +++
 .../executor/list/BLPopIntegrationTest.java|  37 
 .../server/AbstractHitsMissesIntegrationTest.java  |   6 +
 .../eventing/BlockingCommandListenerTest.java  | 182 ++
 .../internal/eventing/EventDistributorTest.java| 213 +
 .../apache/geode/codeAnalysis/excludedClasses.txt  |  23 +--
 .../geode/redis/internal/GeodeRedisServer.java |  12 +-
 .../geode/redis/internal/RedisConstants.java   |   2 +
 .../geode/redis/internal/commands/Command.java |  21 +-
 .../redis/internal/commands/RedisCommandType.java  |   3 +
 .../internal/commands/executor/RedisResponse.java  |  12 ++
 .../commands/executor/list/BLPopExecutor.java  |  61 ++
 .../commands/executor/list/LPushExecutor.java  |   5 +-
 .../commands/executor/list/RPushExecutor.java  |   2 +-
 .../geode/redis/internal/data/NullRedisList.java   |  17 +-
 .../geode/redis/internal/data/RedisList.java   |  50 -
 .../internal/eventing/BlockingCommandListener.java | 123 
 .../redis/internal/eventing/EventDistributor.java  | 105 ++
 .../redis/internal/eventing/EventListener.java |  62 ++
 .../redis/internal/eventing/EventResponse.java |  34 
 .../apache/geode/redis/internal/netty/Client.java  |   6 +-
 .../apache/geode/redis/internal/netty/Coder.java   |   6 +
 .../internal/netty/ExecutionHandlerContext.java|  46 +++--
 .../redis/internal/netty/NettyRedisServer.java |   8 +-
 .../redis/internal/netty/StringBytesGlossary.java  |   6 +
 .../redis/internal/services/RegionProvider.java|   4 +-
 .../netty/ExecutionHandlerContextTest.java |   2 +-
 29 files changed, 1344 insertions(+), 66 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/BLPopNativeRedisAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/BLPopNativeRedisAcceptanceTest.java
new file mode 100755
index 000..2c54bdd
--- /dev/null
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/BLPopNativeRedisAcceptanceTest.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/L

[geode] branch develop updated (c77f262 -> d44df37)

2022-03-19 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from c77f262  GEODE-9948: Implement LINSERT Command (#7392)
 add d44df37  GEODE-10138: Add Versioning Support for Radish LPUSH (#7459)

No new revisions were added by this update.

Summary of changes:
 .../apache/geode/redis/internal/data/RedisList.java |  8 ++--
 .../apache/geode/redis/internal/data/RedisSet.java  | 21 +
 .../redis/internal/data/delta/AddByteArrays.java|  8 +---
 .../geode/redis/internal/data/delta/DeltaType.java  |  2 +-
 4 files changed, 25 insertions(+), 14 deletions(-)


[geode] branch develop updated (d67aba9 -> e83107c)

2022-03-18 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from d67aba9  GEODE-10105: when stopping gw sender, for pending events set 
possible… (#7422)
 add e83107c  GEODE-9951: Add support for Radish RPOP command (#7418)

No new revisions were added by this update.

Summary of changes:
 .../tools_modules/geode_for_redis.html.md.erb  | 26 
 geode-for-redis/README.md  |  1 +
 ...est.java => RPopNativeRedisAcceptanceTest.java} |  3 +-
 .../commands/executor/list/LPopDUnitTest.java  | 50 +++---
 .../{LPopDUnitTest.java => RPopDUnitTest.java} | 76 ++
 .../executor/list/AbstractLPopIntegrationTest.java | 12 ++--
 ...nTest.java => AbstractRPopIntegrationTest.java} | 70 +++-
 ...tegrationTest.java => RPopIntegrationTest.java} |  8 +--
 .../server/AbstractHitsMissesIntegrationTest.java  |  5 ++
 .../executor/server/CommandIntegrationTest.java|  4 ++
 .../redis/internal/commands/RedisCommandType.java  |  2 +
 .../list/{LPopExecutor.java => RPopExecutor.java}  |  6 +-
 .../geode/redis/internal/data/NullRedisList.java   |  5 ++
 .../geode/redis/internal/data/RedisList.java   | 40 +---
 .../geode/redis/internal/data/delta/DeltaType.java |  2 +-
 .../internal/data/delta/RemoveElementsByIndex.java |  3 +-
 16 files changed, 173 insertions(+), 140 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/{LLenNativeRedisAcceptanceTest.java
 => RPopNativeRedisAcceptanceTest.java} (94%)
 mode change 100755 => 100644
 copy 
geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/{LPopDUnitTest.java
 => RPopDUnitTest.java} (71%)
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{AbstractLPopIntegrationTest.java
 => AbstractRPopIntegrationTest.java} (60%)
 mode change 100755 => 100644
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{LPopIntegrationTest.java
 => RPopIntegrationTest.java} (88%)
 mode change 100755 => 100644
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/list/{LPopExecutor.java
 => RPopExecutor.java} (94%)
 mode change 100755 => 100644


[geode] branch develop updated (e9a5243 -> 199132e)

2022-03-17 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from e9a5243  GEODE-9642: Wait for colocation completed at partitioned 
region initialization (#6909)
 add 199132e  GEODE-9954: Implement Radish RPUSH command (#7417)

No new revisions were added by this update.

Summary of changes:
 .../tools_modules/geode_for_redis.html.md.erb  |  59 +++---
 geode-for-redis/README.md  |   1 +
 ...st.java => RPushNativeRedisAcceptanceTest.java} |   2 +-
 .../commands/executor/key/RenameDUnitTest.java |  17 +-
 .../commands/executor/list/LPushDUnitTest.java |   3 +-
 .../commands/executor/list/RPushDUnitTest.java | 213 +
 ...Test.java => AbstractRPushIntegrationTest.java} |  79 +++-
 ...egrationTest.java => RPushIntegrationTest.java} |   2 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |   5 +
 .../redis/internal/commands/RedisCommandType.java  |   3 +
 .../{LPushExecutor.java => RPushExecutor.java} |   4 +-
 .../redis/internal/data/AbstractRedisData.java |  11 ++
 .../geode/redis/internal/data/NullRedisList.java   |  17 +-
 .../geode/redis/internal/data/RedisList.java   |  51 +++--
 .../{AddByteArrays.java => AddByteArraysTail.java} |  16 +-
 .../geode/redis/internal/data/delta/DeltaType.java |   1 +
 .../geode/redis/internal/data/RedisListTest.java   |   4 +-
 17 files changed, 361 insertions(+), 127 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/{LPushNativeRedisAcceptanceTest.java
 => RPushNativeRedisAcceptanceTest.java} (95%)
 create mode 100644 
geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/RPushDUnitTest.java
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{AbstractLPushIntegrationTest.java
 => AbstractRPushIntegrationTest.java} (57%)
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{LPushIntegrationTest.java
 => RPushIntegrationTest.java} (94%)
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/list/{LPushExecutor.java
 => RPushExecutor.java} (94%)
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/delta/{AddByteArrays.java
 => AddByteArraysTail.java} (87%)


[geode] branch develop updated (8610ee7 -> 09cd192)

2022-03-09 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 8610ee7  GEODE-10103: Retrieve full region path names (#7419)
 add 09cd192  GEODE-10108: Add version field to AbstractRedisData and 
deltas (#7429)

No new revisions were added by this update.

Summary of changes:
 .../test/dunit/rules/RedisClusterStartupRule.java  |  50 ++
 .../commands/executor/string/StringsDUnitTest.java | 107 +++--
 .../geode/redis/internal/data/DeltaDUnitTest.java  |   9 +-
 .../codeAnalysis/sanctionedDataSerializables.txt   |   5 +-
 .../redis/internal/data/AbstractRedisData.java |  30 +-
 .../geode/redis/internal/data/RedisString.java |   8 +-
 .../data/delta/AddByteArrayDoublePairs.java|   9 +-
 .../internal/data/delta/AddByteArrayPairs.java |   9 +-
 .../redis/internal/data/delta/AddByteArrays.java   |  11 ++-
 .../redis/internal/data/delta/AppendByteArray.java |  12 ++-
 .../geode/redis/internal/data/delta/DeltaInfo.java |  28 +-
 .../geode/redis/internal/data/delta/DeltaType.java |  18 +++-
 .../internal/data/delta/RemoveByteArrays.java  |  11 ++-
 .../internal/data/delta/RemoveElementsByIndex.java |  17 ++--
 .../data/delta/ReplaceByteArrayAtOffset.java   |   8 +-
 .../data/delta/ReplaceByteArrayDoublePairs.java|   9 +-
 .../internal/data/delta/ReplaceByteArrays.java |   9 +-
 .../internal/data/delta/ReplaceByteAtOffset.java   |   9 +-
 .../redis/internal/data/delta/SetByteArray.java|   9 +-
 .../data/delta/SetByteArrayAndTimestamp.java   |  10 +-
 .../redis/internal/data/delta/SetTimestamp.java|   9 +-
 .../sanctioned-geode-for-redis-serializables.txt   |   2 +-
 22 files changed, 289 insertions(+), 100 deletions(-)


[geode] branch develop updated: GEODE-9950: Add Radish LRANGE command (#7389)

2022-03-07 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 2cd5d82  GEODE-9950: Add Radish LRANGE command (#7389)
2cd5d82 is described below

commit 2cd5d8271357b76e76c584577ae0c214cc5cdc16
Author: Kris10 
AuthorDate: Mon Mar 7 08:39:34 2022 -0800

GEODE-9950: Add Radish LRANGE command (#7389)

This implements a version of the Redis LRANGE command, which is used for 
list data types. Associated tests were also added.

Given a key, it returns a list of elements in the range (inclusive) for the 
specified start index and stop index. Both the start and stop indexes are zero 
based, which starts at the head of the list. Negative indexes start at the tail 
of the list.

LINDEX was modified to use a new method created in this commit. The method 
converts negative indexes to the corresponding positive index.
---
 .../tools_modules/geode_for_redis.html.md.erb  |   8 +-
 geode-for-redis/README.md  |   1 +
 .../list/LRangeNativeRedisAcceptanceTest.java} |  42 ++---
 .../list/AbstractLRangeIntegrationTest.java| 186 +
 .../executor/list/LRangeIntegrationTest.java}  |  44 +
 .../server/AbstractHitsMissesIntegrationTest.java  |   9 +-
 .../redis/internal/commands/RedisCommandType.java  |   2 +
 .../commands/executor/list/LRangeExecutor.java |  48 ++
 .../geode/redis/internal/data/NullRedisList.java   |   6 +
 .../geode/redis/internal/data/RedisList.java   |  76 -
 10 files changed, 343 insertions(+), 79 deletions(-)

diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index dce2066..f75daf2 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -188,10 +188,10 @@ Could not connect to Redis at 127.0.0.1:6379: Connection 
refused
 | HSETNX | HSTRLEN | HVALS | INCR |
 | INCRBY | INCRBYFLOAT | INFO **[4]** | KEYS |
 | LINDEX | LLEN | LOLWUT | LPOP |
-| LPUSH | LPUSHX | MGET | MSET |
-| MSETNX | PERSIST | PEXPIRE | PEXPIREAT |
-| PING | PSETEX | PSUBSCRIBE | PTTL |
-| PUBLISH PUBSUB | PUNSUBSCRIBE | RENAME |
+| LPUSH | LPUSHX | LRANGE | MGET |
+| MSET | MSETNX | PERSIST | PEXPIRE |
+| PEXPIREAT | PING | PSETEX | PSUBSCRIBE |
+| PTTL | PUBLISH PUBSUB | PUNSUBSCRIBE | RENAME |
 | RENAMENX | RESTORE | SADD | SCARD |
 | SDIFF | SDIFFSTORE | SET | SETEX |
 | SETNX | SETRANGE | SINTER | SINTERSTORE |
diff --git a/geode-for-redis/README.md b/geode-for-redis/README.md
index 2c954e9..7cd1531 100644
--- a/geode-for-redis/README.md
+++ b/geode-for-redis/README.md
@@ -183,6 +183,7 @@ Geode for Redis implements a subset of the full Redis 
command set.
 - INFO 2  
 - KEYS  
 - LINDEX
+- LRANGE
 - MGET
 - MSET
 - MSETNX
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisList.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/LRangeNativeRedisAcceptanceTest.java
old mode 100644
new mode 100755
similarity index 52%
copy from 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisList.java
copy to 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/LRangeNativeRedisAcceptanceTest.java
index 65006eb..6e4b27f
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisList.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/LRangeNativeRedisAcceptanceTest.java
@@ -11,48 +11,26 @@
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
  * or implied. See the License for the specific language governing permissions 
and limitations under
  * the License.
- *
  */
+package org.apache.geode.redis.internal.commands.executor.list;
 
-package org.apache.geode.redis.internal.data;
-
-import java.util.List;
+import org.junit.ClassRule;
 
-import org.apache.geode.cache.Region;
+import org.apache.geode.redis.NativeRedisClusterTestRule;
 
-class NullRedisList extends RedisList {
+public class LRangeNativeRedisAcceptanceTest extends 
AbstractLRangeIntegrationTest {
 
-  NullRedisList() {
-super();
-  }
+  @ClassRule
+  public static NativeRedisClusterTestRule redis = new 
NativeRedisClusterTestRule();
 
   @Override
-  public boolean isNull() {
-return true;
+  public int getPort() {
+return redis.getExposedPorts().get(0);
   }
 
   @Override
-  public long lpush(List elementsToAdd, Region 
region, RedisKey key,
-  final boolean onlyIfExists) {
-if (onlyIfExists) {
-  return 0;
-}
-
-RedisList newList = new RedisList();
-for (byte[] element : elementsToAdd) {
-  newList.elementPu

[geode] branch develop updated (dc1f1ab -> 438a4d4)

2022-02-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from dc1f1ab  Initial commit
 add 438a4d4  GEODE-9949: Implement Radish LPUSHX command (#7397)

No new revisions were added by this update.

Summary of changes:
 .../tools_modules/geode_for_redis.html.md.erb  | 34 +++
 ...t.java => LPushxNativeRedisAcceptanceTest.java} |  2 +-
 .../list/AbstractLPushIntegrationTest.java |  5 ++-
 ...est.java => AbstractLPushxIntegrationTest.java} | 50 ++
 ...grationTest.java => LPushxIntegrationTest.java} |  2 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |  5 +++
 .../redis/internal/commands/RedisCommandType.java  |  3 ++
 .../commands/executor/list/LPushExecutor.java  | 13 --
 .../LPushXExecutor.java}   |  9 ++--
 .../geode/redis/internal/data/NullRedisList.java   |  7 ++-
 .../geode/redis/internal/data/RedisList.java   |  7 ++-
 11 files changed, 87 insertions(+), 50 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/{LLenNativeRedisAcceptanceTest.java
 => LPushxNativeRedisAcceptanceTest.java} (93%)
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{AbstractLPushIntegrationTest.java
 => AbstractLPushxIntegrationTest.java} (66%)
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{LIndexIntegrationTest.java
 => LPushxIntegrationTest.java} (94%)
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/{key/PExpireAtExecutor.java
 => list/LPushXExecutor.java} (83%)


[geode] branch develop updated (45cbe7f -> b729702)

2022-02-25 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 45cbe7f  GEODE-10063: Correctly set primary queue connection.  (#7382)
 add b729702  GEODE-10083: Fix RedisProxy to correctly process MOVED 
response (#7394)

No new revisions were added by this update.

Summary of changes:
 .../geode/redis/internal/proxy/MovedResponseHandler.java   | 10 --
 .../redis/internal/proxy/RedisProxyInboundHandler.java | 14 +-
 .../redis/internal/proxy/RedisProxyOutboundHandler.java| 10 --
 3 files changed, 21 insertions(+), 13 deletions(-)


[geode] branch develop updated (e191407 -> 1fc35af)

2022-02-22 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from e191407  GEODE-10072: Restore japicmp report (#7383)
 add 1fc35af  GEODE-9947: Add Radish LINDEX command (#7380)

No new revisions were added by this update.

Summary of changes:
 .../tools_modules/geode_for_redis.html.md.erb  |   3 +-
 geode-for-redis/README.md  |   1 +
 ...t.java => LIndexNativeRedisAcceptanceTest.java} |   3 +-
 .../list/AbstractLIndexIntegrationTest.java| 145 +
 ...grationTest.java => LIndexIntegrationTest.java} |   3 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |   5 +
 .../redis/internal/commands/RedisCommandType.java  |   5 +-
 .../LIndexExecutor.java}   |  34 ++---
 .../geode/redis/internal/data/RedisList.java   |  18 +++
 9 files changed, 194 insertions(+), 23 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/{LLenNativeRedisAcceptanceTest.java
 => LIndexNativeRedisAcceptanceTest.java} (93%)
 create mode 100755 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractLIndexIntegrationTest.java
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/{LLenIntegrationTest.java
 => LIndexIntegrationTest.java} (93%)
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/{string/DecrByExecutor.java
 => list/LIndexExecutor.java} (68%)
 mode change 100755 => 100644


[geode-benchmarks] branch develop updated: Fix Jedis version to the version defined by benchmarks

2022-02-18 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/develop by this push:
 new d1ea34e  Fix Jedis version to the version defined by benchmarks
d1ea34e is described below

commit d1ea34e37f8759643e26c429aaf4e2b8ec3247bb
Author: Jens Deppe 
AuthorDate: Fri Feb 18 10:18:32 2022 -0800

Fix Jedis version to the version defined by benchmarks

- Develop has moved to Jedis 4.1.1 which requires code changes here.
  Since benchmark runs against the 'baseline' and develop both just use
  benchmarks at develop the benchmark code cannot be updated until the
  baseline is moved beyond the Jedis 4.1.1 change.
---
 geode-benchmarks/build.gradle | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle
index 53280be..5aed353 100644
--- a/geode-benchmarks/build.gradle
+++ b/geode-benchmarks/build.gradle
@@ -59,7 +59,9 @@ dependencies {
   geodeVersion = 
configurations.geodeVersionResolver.resolvedConfiguration.resolvedArtifacts.find
 {it.name == 'geode-core'}.moduleVersion.id.version
   logger.info("Building with Geode ${geodeVersion}.")
 
-  implementation platform("org.apache.geode:geode-all-bom:${geodeVersion}")
+  implementation platform("org.apache.geode:geode-all-bom:${geodeVersion}") {
+exclude group: 'redis.clients'
+  }
 
   implementation(project(':harness'))
 


[geode] branch develop updated: GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)

2022-02-17 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 9305169  GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)
9305169 is described below

commit 93051691eb5bda1277e901d04c554aa95419f9df
Author: Eric Zoerner 
AuthorDate: Thu Feb 17 14:18:02 2022 -0800

GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)
---
 .../src/test/resources/expected-pom.xml|   2 +-
 .../gradle/plugins/DependencyConstraints.groovy|   2 +-
 .../apache/geode/redis/mocks/MockSubscriber.java   |  23 +---
 .../geode/redis/UserExpirationDUnitTest.java   |   3 +-
 .../key/AbstractRenameRedirectionsDUnitTest.java   |   2 +-
 .../commands/executor/key/RenameDUnitTest.java |   2 +-
 .../sortedset/ZAddIncrOptionDUnitTest.java |   8 +-
 .../commands/executor/sortedset/ZRemDUnitTest.java |   6 +-
 .../sortedset/ZRemRangeByLexDUnitTest.java |   6 +-
 .../sortedset/ZRemRangeByRankDUnitTest.java|  24 +++-
 .../sortedset/ZRemRangeByScoreDUnitTest.java   |   6 +-
 .../auth/AuthWhileServersRestartDUnitTest.java |   7 +-
 .../StringsKillMultipleServersDUnitTest.java   |   9 +-
 .../AbstractCommandPipeliningIntegrationTest.java  |  14 ++-
 .../cluster/AbstractClusterIntegrationTest.java|   4 +-
 .../executor/cluster/ClusterIntegrationTest.java   |   2 +-
 .../connection/AbstractEchoIntegrationTest.java|   8 +-
 .../hash/AbstractHScanIntegrationTest.java |  16 +--
 .../hash/AbstractHashesIntegrationTest.java|   2 +-
 .../key/AbstractExistsIntegrationTest.java |   6 +-
 .../key/AbstractExpireIntegrationTest.java |   3 +-
 .../key/AbstractPersistIntegrationTest.java|   3 +-
 .../executor/key/AbstractScanIntegrationTest.java  |   4 +-
 .../commands/executor/key/ScanIntegrationTest.java |   4 +-
 .../pubsub/AbstractSubCommandsIntegrationTest.java |  64 +--
 .../AbstractSubscriptionsIntegrationTest.java  |   6 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |   4 +-
 .../server/AbstractInfoIntegrationTest.java|   2 +-
 .../server/AbstractSlowlogIntegrationTest.java |   2 +-
 .../executor/server/ShutdownIntegrationTest.java   |  12 +-
 .../executor/set/AbstractSScanIntegrationTest.java |  12 +-
 .../AbstractZInterStoreIntegrationTest.java| 123 +++--
 .../sortedset/AbstractZPopMaxIntegrationTest.java  |   2 +-
 .../sortedset/AbstractZPopMinIntegrationTest.java  |   2 +-
 .../AbstractZRangeByScoreIntegrationTest.java  |   2 +-
 .../sortedset/AbstractZRangeIntegrationTest.java   |   6 +-
 .../AbstractZRevRangeByScoreIntegrationTest.java   |   8 +-
 .../AbstractZRevRangeIntegrationTest.java  |   7 +-
 .../sortedset/AbstractZScanIntegrationTest.java|  14 +--
 .../AbstractZUnionStoreIntegrationTest.java|  75 ++---
 .../string/AbstractBitOpIntegrationTest.java   |   2 +-
 .../string/AbstractBitPosIntegrationTest.java  |   2 +-
 42 files changed, 254 insertions(+), 257 deletions(-)

diff --git a/boms/geode-all-bom/src/test/resources/expected-pom.xml 
b/boms/geode-all-bom/src/test/resources/expected-pom.xml
index 927e660..09bd9b3 100644
--- a/boms/geode-all-bom/src/test/resources/expected-pom.xml
+++ b/boms/geode-all-bom/src/test/resources/expected-pom.xml
@@ -460,7 +460,7 @@
   
 redis.clients
 jedis
-3.6.3
+4.1.1
   
   
 xerces
diff --git 
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
 
b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
index 2633533..9041707 100644
--- 
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
+++ 
b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
@@ -172,7 +172,7 @@ class DependencyConstraints implements Plugin {
 api(group: 'org.springframework.shell', name: 'spring-shell', version: 
get('springshell.version'))
 api(group: 'org.testcontainers', name: 'testcontainers', version: 
'1.15.3')
 api(group: 'pl.pragmatists', name: 'JUnitParams', version: '1.1.0')
-api(group: 'redis.clients', name: 'jedis', version: '3.6.3')
+api(group: 'redis.clients', name: 'jedis', version: '4.1.1')
 api(group: 'xerces', name: 'xercesImpl', version: '2.12.0')
 api(group: 'xml-apis', name: 'xml-apis', version: '1.4.01')
 api(group: 'org.junit-pioneer', name: 'junit-pioneer', version: 
'1.5.0')
diff --git 
a/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java
 
b/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java
index e0549e9..bdd2592 100644
--- 
a/geode-for-redis/src/commonTest/java/org/apache/geode/redis

[geode] branch develop updated (5f79b21 -> 9ef20d9)

2022-02-16 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 5f79b21  GEODE-10057: Correct geode-for-redis docs (#7370)
 add 9ef20d9  GEODE-10034: Organize Geode For Redis Stats By Category 
(#7363)

No new revisions were added by this update.

Summary of changes:
 .../statistics/GeodeRedisStatsIntegrationTest.java |  57 +
 .../geode/redis/internal/GeodeRedisServer.java |  24 +--
 .../redis/internal/statistics/GeodeRedisStats.java | 236 +++--
 3 files changed, 184 insertions(+), 133 deletions(-)
 create mode 100644 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/statistics/GeodeRedisStatsIntegrationTest.java


[geode] branch develop updated (a98197b -> fc3f991)

2022-02-14 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from a98197b  GEODE-9990: turn DiskAccessException into 
CacheClosedException (#7334)
 add fc3f991  GEODE-10032: Add Category to RedisCommandType (#7354)

No new revisions were added by this update.

Summary of changes:
 .../executor/server/CommandIntegrationTest.java|  15 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   1 +
 .../geode/redis/internal/RedisConstants.java   |   4 +-
 .../redis/internal/commands/RedisCommandType.java  | 409 +
 ...ndExecutor.java => CommandCommandExecutor.java} |  16 +-
 5 files changed, 277 insertions(+), 168 deletions(-)
 rename 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/{COMMANDCommandExecutor.java
 => CommandCommandExecutor.java} (85%)


[geode] branch support/1.15 updated: GEODE-9994 Make Redis RENAME atomic (#7328)

2022-02-02 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.15 by this push:
 new bff8082  GEODE-9994 Make Redis RENAME atomic (#7328)
bff8082 is described below

commit bff808245ab59e71a13e393a6301af444393abc4
Author: Eric Zoerner 
AuthorDate: Wed Feb 2 13:34:19 2022 -0800

GEODE-9994 Make Redis RENAME atomic (#7328)

- change verification to allow for erroneous client retries
- change error logging to warning level to prevent false negative test 
failure due to log

(cherry picked from commit 6413c33d6b0050a1ebe7e88f9ea20295ab780cab)
---
 .../commands/executor/key/RenameDUnitTest.java | 117 +
 .../executor/key/AbstractRenameExecutor.java   |   4 +-
 2 files changed, 101 insertions(+), 20 deletions(-)

diff --git 
a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
 
b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
index 73092a9..02dba47 100644
--- 
a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
+++ 
b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
@@ -15,6 +15,7 @@
 package org.apache.geode.redis.internal.commands.executor.key;
 
 
+import static 
org.apache.geode.distributed.ConfigurationProperties.GEODE_FOR_REDIS_PORT;
 import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
 import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -33,6 +34,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.logging.log4j.Logger;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -43,16 +45,22 @@ import redis.clients.jedis.HostAndPort;
 import redis.clients.jedis.Jedis;
 import redis.clients.jedis.JedisCluster;
 
+import org.apache.geode.cache.control.RebalanceFactory;
+import org.apache.geode.cache.control.ResourceManager;
+import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.logging.internal.log4j.api.LogService;
 import org.apache.geode.redis.internal.RedisConstants;
 import org.apache.geode.redis.internal.data.RedisKey;
 import 
org.apache.geode.redis.internal.services.locking.LockingStripedCoordinator;
 import org.apache.geode.redis.internal.services.locking.StripedCoordinator;
 import org.apache.geode.test.awaitility.GeodeAwaitility;
+import org.apache.geode.test.dunit.rules.ClusterStartupRule;
 import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.dunit.rules.RedisClusterStartupRule;
 import org.apache.geode.test.junit.rules.ExecutorServiceRule;
 
 public class RenameDUnitTest {
+  private static final Logger logger = LogService.getLogger();
 
   @ClassRule
   public static RedisClusterStartupRule clusterStartUp = new 
RedisClusterStartupRule(3);
@@ -61,14 +69,23 @@ public class RenameDUnitTest {
   public ExecutorServiceRule executor = new ExecutorServiceRule();
 
   private static JedisCluster jedisCluster;
-  private static MemberVM locator;
+  private static MemberVM server1;
+  private static int locatorPort;
+  private static int server3Port;
 
   @BeforeClass
   public static void setup() {
-locator = clusterStartUp.startLocatorVM(0);
-clusterStartUp.startRedisVM(1, locator.getPort());
-clusterStartUp.startRedisVM(2, locator.getPort());
-clusterStartUp.startRedisVM(3, locator.getPort());
+final MemberVM locator = clusterStartUp.startLocatorVM(0);
+locatorPort = locator.getPort();
+server1 = clusterStartUp.startRedisVM(1, locatorPort);
+clusterStartUp.startRedisVM(2, locatorPort);
+
+server3Port = AvailablePortHelper.getRandomAvailableTCPPort();
+final String finalRedisPort = Integer.toString(server3Port);
+final int finalLocatorPort = locatorPort;
+clusterStartUp.startRedisVM(3, x -> x
+.withProperty(GEODE_FOR_REDIS_PORT, finalRedisPort)
+.withConnectionToLocator(finalLocatorPort));
 
 int redisServerPort1 = clusterStartUp.getRedisPort(1);
 jedisCluster =
@@ -211,6 +228,48 @@ public class RenameDUnitTest {
   }
 
   @Test
+  public void givenCrashDuringRename_thenDoesNotLeaveInconsistencies() throws 
Exception {
+final AtomicBoolean running = new AtomicBoolean(true);
+
+final List hashtags = new ArrayList<>();
+hashtags.add(clusterStartUp.getKeyOnServer("rename", 1));
+hashtags.add(clusterStartUp.getKeyOnServer("rename", 2));
+hashtags.add(clusterStart

[geode] branch develop updated (064fe00 -> 6413c33)

2022-02-02 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 064fe00  GEODE-: Update the Geode for Redis documentation (#7326)
 add 6413c33  GEODE-9994 Make Redis RENAME atomic (#7328)

No new revisions were added by this update.

Summary of changes:
 .../commands/executor/key/RenameDUnitTest.java | 117 +
 .../executor/key/AbstractRenameExecutor.java   |   4 +-
 2 files changed, 101 insertions(+), 20 deletions(-)


[geode] 02/02: GEODE-9995: Use ephemeral ports to avoid port in use issues (#7329)

2022-02-01 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 55396d4650f5214b27982b43ea7b59d05a23ba55
Author: Jens Deppe 
AuthorDate: Mon Jan 31 12:04:15 2022 -0800

GEODE-9995: Use ephemeral ports to avoid port in use issues (#7329)

(cherry picked from commit 00ccce2a652e6fe21b8af8a162cff35ab47f036c)
---
 ...eRedisServerStartupUsingGfshAcceptanceTest.java | 28 +++---
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
index 6ce72a5..1377510 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
@@ -108,8 +108,8 @@ public class GeodeRedisServerStartupUsingGfshAcceptanceTest 
{
 
   @Test
   public void gfshStartsRedisServer_whenRedisEnabled() {
-String command =
-"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true";
+String command = "start server --server-port=0 "
++ "--J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + 
"=true";
 gfshRule.execute(command);
 
 try (Jedis jedis = new Jedis(BIND_ADDRESS, 6379)) {
@@ -120,9 +120,9 @@ public class GeodeRedisServerStartupUsingGfshAcceptanceTest 
{
   @Test
   public void gfshStartsRedisServer_whenCustomPort() {
 int port = AvailablePortHelper.getRandomAvailableTCPPort();
-String command =
-"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true"
-+ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT 
+ "=" + port;
+String command = "start server --server-port=0 "
++ "--J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + 
"=true"
++ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT + 
"=" + port;
 
 gfshRule.execute(command);
 
@@ -135,11 +135,11 @@ public class 
GeodeRedisServerStartupUsingGfshAcceptanceTest {
   public void gfshStartsRedisServer_whenCustomPortAndBindAddress() {
 int port = AvailablePortHelper.getRandomAvailableTCPPort();
 String anyLocal = LocalHostUtil.getAnyLocalAddress().getHostAddress();
-String command =
-"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true"
-+ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT 
+ "=" + port
-+ " --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_BIND_ADDRESS + "="
-+ anyLocal;
+String command = "start server --server-port=0 "
++ "--J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + 
"=true"
++ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT + 
"=" + port
++ " --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_BIND_ADDRESS + "="
++ anyLocal;
 
 gfshRule.execute(command);
 
@@ -152,10 +152,10 @@ public class 
GeodeRedisServerStartupUsingGfshAcceptanceTest {
   public void gfshDoesNotStartRedisServer_whenNotRedisEnabled() {
 int port = AvailablePortHelper.getRandomAvailableTCPPort();
 String anyLocal = LocalHostUtil.getAnyLocalAddress().getHostAddress();
-String command =
-"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_PORT + "=" + port
-+ " --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_BIND_ADDRESS + "="
-+ anyLocal;
+String command = "start server --server-port=0 "
++ "--J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT + 
"=" + port
++ " --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_BIND_ADDRESS + "="
++ anyLocal;
 
 gfshRule.execute(command);
 


[geode] 01/02: GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)

2022-02-01 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 9f021cf6f6216f9a8db6d395b07b9b74745cf75d
Author: Jens Deppe 
AuthorDate: Fri Jan 21 19:57:42 2022 -0800

GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)

(cherry picked from commit 77945531fafd566a0cbca7d05b5347b8ea299efc)
---
 .../GeodeRedisServerStartupAcceptanceTest.java |  5 --
 ...eRedisServerStartupUsingGfshAcceptanceTest.java | 65 ++
 2 files changed, 65 insertions(+), 5 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
index f16214c..523e63c 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
@@ -28,7 +28,6 @@ import java.net.BindException;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -43,16 +42,12 @@ import org.apache.geode.test.dunit.rules.ClusterStartupRule;
 import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.dunit.rules.RedisClusterStartupRule;
 import org.apache.geode.test.junit.categories.IgnoreInRepeatTestTasks;
-import org.apache.geode.test.junit.rules.GfshCommandRule;
 
 public class GeodeRedisServerStartupAcceptanceTest {
 
   @Rule
   public RedisClusterStartupRule cluster = new RedisClusterStartupRule();
 
-  @ClassRule
-  public static GfshCommandRule gfsh = new GfshCommandRule();
-
   @Category(IgnoreInRepeatTestTasks.class)
   @Test
   public void startupOnDefaultPort() {
diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
index 5827ccb..6ce72a5 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
@@ -15,7 +15,9 @@
 
 package org.apache.geode.redis.internal.commands.executor;
 
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -23,8 +25,12 @@ import java.net.ServerSocket;
 
 import org.junit.Rule;
 import org.junit.Test;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.exceptions.JedisConnectionException;
 
+import org.apache.geode.distributed.ConfigurationProperties;
 import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.internal.inet.LocalHostUtil;
 import org.apache.geode.test.junit.rules.gfsh.GfshExecution;
 import org.apache.geode.test.junit.rules.gfsh.GfshRule;
 import org.apache.geode.test.junit.rules.gfsh.GfshScript;
@@ -99,4 +105,63 @@ public class GeodeRedisServerStartupUsingGfshAcceptanceTest 
{
 assertThat(execution.getOutputText()).containsIgnoringCase(
 "The geode-for-redis-bind-address 1.1.1.1 is not a valid address for 
this machine");
   }
+
+  @Test
+  public void gfshStartsRedisServer_whenRedisEnabled() {
+String command =
+"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true";
+gfshRule.execute(command);
+
+try (Jedis jedis = new Jedis(BIND_ADDRESS, 6379)) {
+  assertThat(jedis.ping()).isEqualTo("PONG");
+}
+  }
+
+  @Test
+  public void gfshStartsRedisServer_whenCustomPort() {
+int port = AvailablePortHelper.getRandomAvailableTCPPort();
+String command =
+"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true"
++ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT 
+ "=" + port;
+
+gfshRule.execute(command);
+
+try (Jedis jedis = new Jedis(BIND_ADDRESS, port)) {
+  assertThat(jedis.ping()).isEqualTo("PONG");
+}
+  }
+
+  @Test
+  public void gfshStartsRedisServer_whenCustomPortAndBindAddress() {
+int port = AvailablePortHelper.getRandomAvailableTCPPort();
+String anyLocal = LocalHostUtil.getAnyLocalAddress().getHostAddress();
+String command =
+   

[geode] branch support/1.15 updated (3f56bd3 -> 55396d4)

2022-02-01 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 3f56bd3  GEODE-9835: Add SSCAN to Redis supported commands (#7278)
 new 9f021cf  GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)
 new 55396d4  GEODE-9995: Use ephemeral ports to avoid port in use issues 
(#7329)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../GeodeRedisServerStartupAcceptanceTest.java |  5 --
 ...eRedisServerStartupUsingGfshAcceptanceTest.java | 65 ++
 2 files changed, 65 insertions(+), 5 deletions(-)


[geode] branch develop updated (2db94b7 -> 00ccce2)

2022-01-31 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 2db94b7  Adding a script which performs validation of a release 
candidate
 add 00ccce2  GEODE-9995: Use ephemeral ports to avoid port in use issues 
(#7329)

No new revisions were added by this update.

Summary of changes:
 ...eRedisServerStartupUsingGfshAcceptanceTest.java | 28 +++---
 1 file changed, 14 insertions(+), 14 deletions(-)


[geode] 09/09: GEODE-9830: SINTERSTORE Command Support (#7302)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 0331eeeb0895167680e3d3f876bf05b457fec5aa
Author: Kris10 
AuthorDate: Thu Jan 27 12:40:53 2022 -0800

GEODE-9830: SINTERSTORE Command Support (#7302)

(cherry picked from commit 32e32af84a2727b3589d5940546ccc655a40e69d)
---
 geode-for-redis/README.md  |   1 +
 .../set/SInterStoreNativeRedisAcceptanceTest.java} |  20 ++-
 .../server/AbstractHitsMissesIntegrationTest.java  |  12 +-
 .../set/AbstractSInterIntegrationTest.java | 140 +
 ...ava => AbstractSInterStoreIntegrationTest.java} | 127 +++
 .../set/AbstractSUnionStoreIntegrationTest.java|   2 +-
 .../executor/set/SInterStoreIntegrationTest.java}  |  18 +--
 .../redis/internal/commands/RedisCommandType.java  |   4 +-
 .../commands/executor/set/SDiffExecutor.java   |  17 +-
 .../commands/executor/set/SDiffStoreExecutor.java  |  14 +-
 .../commands/executor/set/SInterExecutor.java  |  16 +-
 .../commands/executor/set/SInterStoreExecutor.java |  13 +-
 .../commands/executor/set/SUnionExecutor.java  |  16 +-
 .../commands/executor/set/SUnionStoreExecutor.java |  13 +-
 .../commands/executor/set/SetOpExecutor.java   | 173 +++--
 .../apache/geode/redis/internal/data/RedisSet.java |  51 +++---
 16 files changed, 196 insertions(+), 441 deletions(-)

diff --git a/geode-for-redis/README.md b/geode-for-redis/README.md
index 592b129..183d148 100644
--- a/geode-for-redis/README.md
+++ b/geode-for-redis/README.md
@@ -203,6 +203,7 @@ Geode for Redis implements a subset of the full Redis 
command set.
 - SDIFF
 - SDIFFSTORE
 - SINTER
+- SINTERSTORE
 - SISMEMBER
 - SET  
 - SETEX
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/set/SDiffExecutor.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SInterStoreNativeRedisAcceptanceTest.java
similarity index 69%
copy from 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/set/SDiffExecutor.java
copy to 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SInterStoreNativeRedisAcceptanceTest.java
index 1021b86..b19232a 100755
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/set/SDiffExecutor.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SInterStoreNativeRedisAcceptanceTest.java
@@ -14,18 +14,24 @@
  */
 package org.apache.geode.redis.internal.commands.executor.set;
 
-import java.util.Set;
 
-public class SDiffExecutor extends SetOpExecutor {
+import org.junit.ClassRule;
+
+import org.apache.geode.redis.NativeRedisClusterTestRule;
+
+public class SInterStoreNativeRedisAcceptanceTest extends 
AbstractSInterStoreIntegrationTest {
+
+  @ClassRule
+  public static NativeRedisClusterTestRule redis = new 
NativeRedisClusterTestRule();
 
   @Override
-  protected boolean doSetOp(Set resultSet, Set nextSet) {
-resultSet.removeAll(nextSet);
-return resultSet.isEmpty();
+  public int getPort() {
+return redis.getExposedPorts().get(0);
   }
 
   @Override
-  protected boolean isStorage() {
-return false;
+  public void flushAll() {
+redis.flushAll();
   }
+
 }
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
index 23735d9..0933ed6 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
@@ -395,6 +395,12 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
   }
 
   @Test
+  public void testSinterstore() {
+runMultiKeyCommandAndAssertNoStatUpdates(SET_KEY,
+(k1, k2) -> jedis.sinterstore(HASHTAG + "dest", k1, k2));
+  }
+
+  @Test
   public void testSismember() {
 runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.sismember(k, 
"member"));
   }
@@ -565,12 +571,6 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
 runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.sscan(k, "0"));
   }
 
-  @Test
-  public void testSinterstore() {
-runMultiKeyCommandAndAssertNoStatUpdates(SET_KEY,
-(k1, k2) -> jedis.sinterstore(HASHTAG + "dest", k1, k2));
-  }
-
   /* Helper Methods */
   private void runCommandAndAssertHitsA

[geode] 08/09: GEODE-9883 Update Geode for Redis docs file (#7274)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 9b8a768aa059ef1a08b8574d87f90a91d7409276
Author: Eric Zoerner 
AuthorDate: Wed Jan 26 16:05:17 2022 -0800

GEODE-9883 Update Geode for Redis docs file (#7274)

Co-authored-by: Dave Barnes 
(cherry picked from commit 1eeccabe35466883611803ed2516145564c4cfa3)
---
 .../source/subnavs/geode-subnav.erb|  24 +-
 .../tools_modules/geode_for_redis.html.md.erb  | 294 +++--
 2 files changed, 158 insertions(+), 160 deletions(-)

diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb 
b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
index 094959b..372a42a 100644
--- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb
+++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
@@ -2105,28 +2105,8 @@ limitations under the License.
 
 
 
-
-<%=vars.product_name%>
 for Redis
-
-
-Using
 <%=vars.product_name%> for Redis
-
-
-Supported
 Redis Commands
-
-
-Advantages
 of <%=vars.product_name%> over Redis
-
-
-Expiration
 Accuracy
-
- 
-  High
 Availability Model
-
-
-  Loss
 of Connections
-
-
+
+Geode
 for Redis
 
 
 Gemcached
diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 475fc7d..482d817 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -25,215 +25,233 @@ optional password authentication.
 
 
 
-## Using 
<%=vars.product_name%> for Redis
+## Using <%=vars.product_name%> for Redis
 
 The <%=vars.product_name%> cluster must have at least one server that is set 
up to handle the incoming Redis commands.
 
-Use gfsh to start at least one server with a command of the form:
+Prerequisites for running the examples:
 
-```pre
-start server \
-  --name= \
-  --locators= \
-  --J=-Dgemfire.geode-for-redis-enabled=true \
-  --J=-Dgemfire.geode-for-redis-port= \
-  --J=-Dgemfire.geode-for-redis-bind-address=
-```
-
-If the gemfire property `geode-for-redis-enabled`, is set to `true`, a 
<%=vars.product_name%>
-server with <%=vars.product_name%> for Redis will be started.
+1. **Install <%=vars.product_name%>** 
+Using the instructions in the `README.md` file in the root of the 
<%=vars.product_name%> checkout directory, build and install 
<%=vars.product_name%>.
+2. **Install the Redis CLI** 
+Follow installation instructions at https://redis.io/download
 
-Replace `` with the name of your server.
+Use `gfsh` to start a locator for managing a <%=vars.product_name%> cluster:
 
-Replace `` with your locator port.
+```commandLine
+gfsh> start locator
+```
 
-Replace `` with the port that the <%=vars.product_name%> 
server
- listens on for Redis commands. The typical port used with a cluster 
compatible with Redis is 6379.
+Use `gfsh` to start at least one server with a command of the form:
 
-Replace `` with the address of the server host.
+```commandLine
+gfsh> start server --J=-Dgemfire.geode-for-redis-enabled=true 
--J=-Dgemfire.geode-for-redis-port=6379
+```
 
-Replace `` with the password clients use to 
authenticate.
+More information about the options when starting a server is given in the 
section [Start Server Options](#redis-start-server-options) below.
 
-To confirm the server is listening, run:
+To confirm the server is listening, in a separate terminal run:
 
-``` pre
-redis-cli -h  -p  -a 
 ping
+```commandLine
+$ redis-cli -c ping
 ```
 
-Replace ``,``, and 
`` with the same values as the server.
+The `-c` option enables cluster mode in the redis-cli, which is necessary since
+<%=vars.product_name%> for Redis runs as a Redis Cluster.
 
 If the server is functioning properly, you should see a response of `PONG`.
 
-## Supported Redis 
Commands
+###  Add an additional server
+If you’re interested in testing <%=vars.product_name%> scalability, in gfsh 
run the `start server` command again.
 
-<%=vars.product_nam

[geode] 07/09: GEODE-9922: Move Redis cross-slot checking to RegionProvider (#7295)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit ebd17de286f5e12945c239ad6dfc9fd658ed7d8b
Author: Donal Evans 
AuthorDate: Fri Jan 21 17:54:03 2022 -0800

GEODE-9922: Move Redis cross-slot checking to RegionProvider (#7295)

* GEODE-9922: Move Redis cross-slot checking to RegionProvider

 - Move duplicated logic for determining if Keys are in different slots
 from various Executors to RegionProvider
 - Removed manual checks for if the key is local, as this is performed
 as part of locking the primary bucket
 - Created RedisCrossSlotException class
 - Added unit tests for new method in RegionProvider
 - Refactor SetOpExecutor to also lock the destination key for *STORE
 commands
 - Add missing test cases for cross-slot errors
 - Correct some tests for cross-slot behaviour that were inadvertantly
 testing the Jedis client's response rather than the Geode for Redis
 server
 - Changed name format for constants in AbstractSMoveIntegrationTest
 - Modify patch file to ensure tcl tests use keys with the same slot

Authored-by: Donal Evans 
(cherry picked from commit 7b0a88dbee36c6eb51513715af943f80ea6d93f9)
---
 .../resources/0001-configure-redis-tests.patch | 340 -
 .../key/AbstractRenameIntegrationTest.java |  15 +-
 .../key/AbstractRenameNXIntegrationTest.java   |  12 +
 .../executor/set/AbstractSDiffIntegrationTest.java |  15 +-
 .../set/AbstractSDiffStoreIntegrationTest.java |  15 +-
 .../set/AbstractSInterIntegrationTest.java |  14 +-
 .../executor/set/AbstractSMoveIntegrationTest.java | 165 +-
 .../set/AbstractSUnionIntegrationTest.java |  10 +-
 .../set/AbstractSUnionStoreIntegrationTest.java|   8 +-
 .../string/AbstractMSetIntegrationTest.java|   3 +-
 .../string/AbstractMSetNXIntegrationTest.java  |   3 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   1 +
 .../geode/redis/internal/RedisConstants.java   |   2 -
 .../executor/key/AbstractRenameExecutor.java   |   5 -
 .../commands/executor/set/SMoveExecutor.java   |   9 -
 .../commands/executor/set/SetOpExecutor.java   |  22 +-
 .../executor/sortedset/ZInterStoreExecutor.java|   2 +-
 .../executor/sortedset/ZStoreExecutor.java |  14 +-
 .../executor/sortedset/ZUnionStoreExecutor.java|   2 +-
 .../executor/string/AbstractMSetExecutor.java  |   8 +-
 .../internal/data/RedisCrossSlotException.java |  30 ++
 .../internal/netty/ExecutionHandlerContext.java|   3 +
 .../redis/internal/services/RegionProvider.java|  20 +-
 .../internal/services/RegionProviderTest.java  |  74 +
 24 files changed, 635 insertions(+), 157 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch 
b/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
index 88e1318..f9952bd 100644
--- 
a/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
+++ 
b/geode-for-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
@@ -111,7 +111,7 @@ index f5da728e8..13985dce2 100644
  
  test {Once AUTH succeeded we can actually send commands to the server} {
 diff --git a/tests/unit/dump.tcl b/tests/unit/dump.tcl
-index 4c4e5d075..18bb694f2 100644
+index 4c4e5d075..e465300f4 100644
 --- a/tests/unit/dump.tcl
 +++ b/tests/unit/dump.tcl
 @@ -41,34 +41,35 @@ start_server {tags {"dump"}} {
@@ -162,7 +162,7 @@ index 4c4e5d075..18bb694f2 100644
 +#assert {$idle >= 1000 && $idle <= 1010}
 +#r get foo
 +#} {bar}
-+#
++#
 +#test {RESTORE can set LFU} {
 +#r set foo bar
 +#set encoded [r dump foo]
@@ -1337,7 +1337,7 @@ index d2c679d32..6d17de48b 100644
  # The following test can only be executed if we don't use Valgrind, and if
  # we are using x86_64 architecture, because:
 diff --git a/tests/unit/type/set.tcl b/tests/unit/type/set.tcl
-index 7b467f1c4..21f0721c4 100644
+index 7b467f1c4..0c5ca1753 100644
 --- a/tests/unit/type/set.tcl
 +++ b/tests/unit/type/set.tcl
 @@ -34,8 +34,8 @@ start_server {
@@ -1360,15 +1360,341 @@ index 7b467f1c4..21f0721c4 100644
  assert_encoding intset myintset
  assert_encoding hashtable mylargeintset
  assert_encoding hashtable myhashset
-@@ -157,7 +157,7 @@ start_server {
+@@ -113,19 +113,19 @@ start_server {
+ 
+ foreach {type} {hashtable intset} {
+ for {set i 1} {$i <= 5} {incr i} {
+-r del [format "set%d" $i]
++r del [format "{tag}set%d" $i]
+ }
+ for {set i 0} {$i < 200} {incr i} {
+-r sadd set1 $i
+-r sadd set2 [expr $i+195]
++r sadd "{tag}set1" $i
++r sadd "{tag}

[geode] 06/09: update redis svg to use new module name (#7288)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 731fcd0bb5a1ca29a78f5b7dbe07450ccc563c5f
Author: Hale Bales 
AuthorDate: Fri Jan 21 15:31:49 2022 -0800

update redis svg to use new module name (#7288)

(cherry picked from commit 66eb3f93aa44613a355515ee7d8e0bb36775d932)
---
 geode-docs/images_svg/geode_for_redis.svg | 206 +++---
 1 file changed, 188 insertions(+), 18 deletions(-)

diff --git a/geode-docs/images_svg/geode_for_redis.svg 
b/geode-docs/images_svg/geode_for_redis.svg
index f983cf8..26efc38 100644
--- a/geode-docs/images_svg/geode_for_redis.svg
+++ b/geode-docs/images_svg/geode_for_redis.svg
@@ -1,19 +1,189 @@
-http://www.w3.org/2000/svg; xmlns:xlink="http://www.w3.org/1999/xlink;>
-
-
-
-
-
-
-
-
-
-
-
-
-
+http://www.inkscape.org/namespaces/inkscape;
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd;
+   xmlns:xlink="http://www.w3.org/1999/xlink;
+   xmlns="http://www.w3.org/2000/svg;
+   xmlns:svg="http://www.w3.org/2000/svg;>
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+  
+
+Geode 
for Redis
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  Geode 
for Redis
 


[geode] 05/09: GEODE-9885: Handle duplicated appends in Redis StringsDUnitTest (#7290)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 9166cb44ec2854c8c5d501334476f0d6dfe9d258
Author: Donal Evans 
AuthorDate: Fri Jan 21 15:28:10 2022 -0800

GEODE-9885: Handle duplicated appends in Redis StringsDUnitTest (#7290)

* GEODE-9885: Handle duplicated appends in Redis StringsDUnitTest

 - The Jedis client automatically retries when a bucket is moved during
 an APPEND operation, which can lead to the append being duplicated. Add
 error handling to the test to check if unexpected append values are
 duplicates of the previous append and if so, ignore the AssertionError
 - Add missing synchronization around in-place array modification in
 RedisString.applyReplaceByteArrayAtOffsetDelta() method
 - Remove unnecessarily overridden method from NullRedisSet

Authored-by: Donal Evans 
(cherry picked from commit b8dd86b846083a59ffe1aa56b489df60f4d75d39)
---
 .../commands/executor/string/StringsDUnitTest.java | 71 +-
 .../geode/redis/internal/data/NullRedisString.java |  5 --
 .../geode/redis/internal/data/RedisString.java |  6 +-
 3 files changed, 47 insertions(+), 35 deletions(-)

diff --git 
a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/string/StringsDUnitTest.java
 
b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/string/StringsDUnitTest.java
index 2a4479a..a8f8ff4 100644
--- 
a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/string/StringsDUnitTest.java
+++ 
b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/string/StringsDUnitTest.java
@@ -30,7 +30,6 @@ import java.util.function.Consumer;
 
 import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
 import org.junit.Rule;
@@ -57,14 +56,13 @@ public class StringsDUnitTest {
   private static final int NUM_ITERATIONS = 1000;
   private static JedisCluster jedisCluster;
 
-  private static MemberVM locator;
-
   @BeforeClass
   public static void classSetup() {
-locator = clusterStartUp.startLocatorVM(0);
-clusterStartUp.startRedisVM(1, locator.getPort());
-clusterStartUp.startRedisVM(2, locator.getPort());
-clusterStartUp.startRedisVM(3, locator.getPort());
+MemberVM locator = clusterStartUp.startLocatorVM(0);
+int locatorPort = locator.getPort();
+clusterStartUp.startRedisVM(1, locatorPort);
+clusterStartUp.startRedisVM(2, locatorPort);
+clusterStartUp.startRedisVM(3, locatorPort);
 
 int redisServerPort1 = clusterStartUp.getRedisPort(1);
 jedisCluster =
@@ -263,9 +261,9 @@ public class StringsDUnitTest {
 hashtags.add(clusterStartUp.getKeyOnServer("append", 2));
 hashtags.add(clusterStartUp.getKeyOnServer("append", 3));
 
-Runnable task1 = () -> appendPerformAndVerify(1, 1, hashtags.get(0), 
running);
-Runnable task2 = () -> appendPerformAndVerify(2, 1, hashtags.get(1), 
running);
-Runnable task3 = () -> appendPerformAndVerify(3, 1, hashtags.get(2), 
running);
+Runnable task1 = () -> appendPerformAndVerify(1, hashtags.get(0), running);
+Runnable task2 = () -> appendPerformAndVerify(2, hashtags.get(1), running);
+Runnable task3 = () -> appendPerformAndVerify(3, hashtags.get(2), running);
 
 Future future1 = executor.runAsync(task1);
 Future future2 = executor.runAsync(task2);
@@ -276,11 +274,6 @@ public class StringsDUnitTest {
   GeodeAwaitility.await().during(Duration.ofMillis(200)).until(() -> true);
 }
 
-for (int i = 0; i < 100 && running.get(); i++) {
-  clusterStartUp.moveBucketForKey(hashtags.get(i % hashtags.size()));
-  GeodeAwaitility.await().during(Duration.ofMillis(200)).until(() -> true);
-}
-
 running.set(false);
 
 future1.get();
@@ -288,12 +281,11 @@ public class StringsDUnitTest {
 future3.get();
   }
 
-  private void appendPerformAndVerify(int index, int minimumIterations, String 
hashtag,
-  AtomicBoolean isRunning) {
+  private void appendPerformAndVerify(int index, String hashtag, AtomicBoolean 
isRunning) {
 String key = "{" + hashtag + "}-key-" + index;
 int iterationCount = 0;
 
-while (iterationCount < minimumIterations || isRunning.get()) {
+while (isRunning.get()) {
   String appendString = "-" + key + "-" + iterationCount + "-";
   try {
 jedisCluster.append(key, appendString);
@@ -301,23 +293,46 @@ public class StringsDUnitTest {
 isRunning.set(false);
 throw new RuntimeException("Exception performing APPEND " + 
appendString, ex);
   }
-  itera

[geode] 03/09: GEODE-9837: SUNIONSTORE Command Support (#7284)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 0ade491c33f55176d7ea7fa9d07fa028e9857c90
Author: Kris10 
AuthorDate: Thu Jan 20 14:11:41 2022 -0800

GEODE-9837: SUNIONSTORE Command Support (#7284)

(cherry picked from commit 3a36962edfcd30aa3afa3a50813c63bfc155f699)
---
 .../tools_modules/geode_for_redis.html.md.erb  |   1 +
 geode-for-redis/README.md  |   1 +
 .../set/SUnionStoreNativeRedisAcceptanceTest.java  |  36 +++
 .../server/AbstractHitsMissesIntegrationTest.java  |  12 +-
 .../set/AbstractSUnionIntegrationTest.java | 141 
 .../set/AbstractSUnionStoreIntegrationTest.java| 242 +
 .../executor/set/SUnionStoreIntegrationTest.java   |  31 +++
 .../redis/internal/commands/RedisCommandType.java  |   4 +-
 .../commands/executor/set/SetOpExecutor.java   |  16 +-
 .../apache/geode/redis/internal/data/RedisSet.java |  18 +-
 10 files changed, 344 insertions(+), 158 deletions(-)

diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 9451dc7..748ddf8 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -125,6 +125,7 @@ If the server is functioning properly, you should see a 
response of `PONG`.
  - STRLEN 
  - SUBSCRIBE 
  - SUNION 
+ - SUNIONSTORE 
  - TTL 
  - TYPE 
  - UNSUBSCRIBE 
diff --git a/geode-for-redis/README.md b/geode-for-redis/README.md
index 2162229..fa392d9 100644
--- a/geode-for-redis/README.md
+++ b/geode-for-redis/README.md
@@ -215,6 +215,7 @@ Geode for Redis implements a subset of the full Redis 
command set.
 - STRLEN  
 - SUBSCRIBE  
 - SUNION
+- SUNIONSTORE
 - TTL  
 - TYPE  
 - UNSUBSCRIBE  
diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SUnionStoreNativeRedisAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SUnionStoreNativeRedisAcceptanceTest.java
new file mode 100644
index 000..8f63afa
--- /dev/null
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SUnionStoreNativeRedisAcceptanceTest.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.redis.internal.commands.executor.set;
+
+import org.junit.ClassRule;
+
+import org.apache.geode.redis.NativeRedisClusterTestRule;
+
+public class SUnionStoreNativeRedisAcceptanceTest extends 
AbstractSUnionStoreIntegrationTest {
+
+  @ClassRule
+  public static NativeRedisClusterTestRule redis = new 
NativeRedisClusterTestRule();
+
+  @Override
+  public int getPort() {
+return redis.getExposedPorts().get(0);
+  }
+
+  @Override
+  public void flushAll() {
+redis.flushAll();
+  }
+
+}
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
index 1c9a0da..5923e07 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
@@ -419,6 +419,12 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
 runMultiKeyCommandAndAssertHitsAndMisses(SET_KEY, (k1, k2) -> 
jedis.sunion(k1, k2));
   }
 
+  @Test
+  public void testSunionstore() {
+runMultiKeyCommandAndAssertNoStatUpdates(SET_KEY,
+(k1, k2) -> jedis.sunionstore(HASHTAG + "dest", k1, k2));
+  }
+
   /* Hash related commands */
   @Test
   public void testHset() {
@@ -565,12 +571,6 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
 (k1, k2) -> jed

[geode] 04/09: GEODE-9834: SRANDMEMBER Command Support (#7228)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit d4563383d0e8dbbd8f67f28d3367664c5c8f518b
Author: Kris10 
AuthorDate: Fri Jan 21 10:14:07 2022 -0800

GEODE-9834: SRANDMEMBER Command Support (#7228)

(cherry picked from commit a53c6da8dad75c8953de7e7ceb4bbfa545e5f405)
---
 .../tools_modules/geode_for_redis.html.md.erb  |   1 +
 geode-for-redis/README.md  |   1 +
 .../set/SRandMemberNativeRedisAcceptanceTest.java  |  34 +
 .../server/AbstractHitsMissesIntegrationTest.java  |  10 +-
 .../set/AbstractSRandMemberIntegrationTest.java| 165 +
 .../executor/set/AbstractSetsIntegrationTest.java  |  49 --
 .../executor/set/SRandMemberIntegrationTest.java   |  29 
 .../redis/internal/commands/RedisCommandType.java  |   4 +-
 .../commands/executor/set/SRandMemberExecutor.java |  50 +--
 ...dMemberExecutor.java => SetRandomExecutor.java} |  52 ---
 .../geode/redis/internal/data/NullRedisSet.java|   2 +-
 .../apache/geode/redis/internal/data/RedisSet.java |  85 ++-
 .../SizeableObjectOpenCustomHashSet.java   |   8 +
 13 files changed, 330 insertions(+), 160 deletions(-)

diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 748ddf8..475fc7d 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -121,6 +121,7 @@ If the server is functioning properly, you should see a 
response of `PONG`.
  - SLOWLOG **[3]**  
  - SMEMBERS 
  - SMOVE 
+ - SRANDMEMBER 
  - SREM 
  - STRLEN 
  - SUBSCRIBE 
diff --git a/geode-for-redis/README.md b/geode-for-redis/README.md
index fa392d9..592b129 100644
--- a/geode-for-redis/README.md
+++ b/geode-for-redis/README.md
@@ -211,6 +211,7 @@ Geode for Redis implements a subset of the full Redis 
command set.
 - SLOWLOG 3  
 - SMEMBERS  
 - SMOVE
+- SRANDMEMBER
 - SREM  
 - STRLEN  
 - SUBSCRIBE  
diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SRandMemberNativeRedisAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SRandMemberNativeRedisAcceptanceTest.java
new file mode 100644
index 000..dcab8c0
--- /dev/null
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/SRandMemberNativeRedisAcceptanceTest.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.redis.internal.commands.executor.set;
+
+import org.junit.ClassRule;
+
+import org.apache.geode.redis.NativeRedisClusterTestRule;
+
+public class SRandMemberNativeRedisAcceptanceTest extends 
AbstractSRandMemberIntegrationTest {
+  @ClassRule
+  public static NativeRedisClusterTestRule redis = new 
NativeRedisClusterTestRule();
+
+  @Override
+  public int getPort() {
+return redis.getExposedPorts().get(0);
+  }
+
+  @Override
+  public void flushAll() {
+redis.flushAll();
+  }
+}
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
index 5923e07..23735d9 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
@@ -410,6 +410,11 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
   }
 
   @Test
+  public void testSrandmember() {
+runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.srandmember(k));
+  }
+
+  @Test
   public void testSrem() {
 runCommandAndAssertNoStatUpdates(SET_KEY, k -> jedis.srem(k, "member"));
   }
@@ 

[geode] 01/09: Revert "GEODE-9883 Update Geode for Redis docs file (#7274)"

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 08d2006cac31be6bf97cc30f3edd63eacc241a39
Author: Jens Deppe 
AuthorDate: Fri Jan 28 09:38:42 2022 -0800

Revert "GEODE-9883 Update Geode for Redis docs file (#7274)"

This reverts commit 49367309e65b5b9710cac0646fe950173af2e1bc.
---
 .../source/subnavs/geode-subnav.erb|  24 +-
 .../tools_modules/geode_for_redis.html.md.erb  | 292 ++---
 2 files changed, 158 insertions(+), 158 deletions(-)

diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb 
b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
index 372a42a..094959b 100644
--- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb
+++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
@@ -2105,8 +2105,28 @@ limitations under the License.
 
 
 
-
-Geode
 for Redis
+
+<%=vars.product_name%>
 for Redis
+
+
+Using
 <%=vars.product_name%> for Redis
+
+
+Supported
 Redis Commands
+
+
+Advantages
 of <%=vars.product_name%> over Redis
+
+
+Expiration
 Accuracy
+
+ 
+  High
 Availability Model
+
+
+  Loss
 of Connections
+
+
 
 
 Gemcached
diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 482d817..9451dc7 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -25,233 +25,213 @@ optional password authentication.
 
 
 
-## Using <%=vars.product_name%> for Redis
+## Using 
<%=vars.product_name%> for Redis
 
 The <%=vars.product_name%> cluster must have at least one server that is set 
up to handle the incoming Redis commands.
 
-Prerequisites for running the examples:
+Use gfsh to start at least one server with a command of the form:
 
-1. **Install <%=vars.product_name%>** 
-Using the instructions in the `README.md` file in the root of the 
<%=vars.product_name%> checkout directory, build and install 
<%=vars.product_name%>.
-2. **Install the Redis CLI** 
-Follow installation instructions at https://redis.io/download
+```pre
+start server \
+  --name= \
+  --locators= \
+  --J=-Dgemfire.geode-for-redis-enabled=true \
+  --J=-Dgemfire.geode-for-redis-port= \
+  --J=-Dgemfire.geode-for-redis-bind-address=
+```
 
-Use `gfsh` to start a locator for managing a <%=vars.product_name%> cluster:
+If the gemfire property `geode-for-redis-enabled`, is set to `true`, a 
<%=vars.product_name%>
+server with <%=vars.product_name%> for Redis will be started.
 
-```commandLine
-gfsh> start locator
-```
+Replace `` with the name of your server.
 
-Use `gfsh` to start at least one server with a command of the form:
+Replace `` with your locator port.
 
-```commandLine
-gfsh> start server --J=-Dgemfire.geode-for-redis-enabled=true 
--J=-Dgemfire.geode-for-redis-port=6379
-```
+Replace `` with the port that the <%=vars.product_name%> 
server
+ listens on for Redis commands. The typical port used with a cluster 
compatible with Redis is 6379.
 
-More information about the options when starting a server is given in the 
section [Start Server Options](#redis-start-server-options) below.
+Replace `` with the address of the server host.
 
-To confirm the server is listening, in a separate terminal run:
+Replace `` with the password clients use to 
authenticate.
 
-```commandLine
-$ redis-cli -c ping
+To confirm the server is listening, run:
+
+``` pre
+redis-cli -h  -p  -a 
 ping
 ```
 
-The `-c` option enables cluster mode in the redis-cli, which is necessary since
-<%=vars.product_name%> for Redis runs as a Redis Cluster.
+Replace ``,``, and 
`` with the same values as the server.
 
 If the server is functioning properly, you should see a response of `PONG`.
 
-###  Add an additional server
-If you’re interested in testing <%=vars.product_name%> scalability, in gfsh 
run the `start server` command again.
+## Supported Redis 
Commands
 
-However, there are two ports that must be uniq

[geode] 02/09: GEODE-9977: Remove defunct RedisCommandSupportLevel.INTERNAL type (#7283)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit d1d5e1e7c09f89a81cdaed6d4478d2f8cd121a41
Author: Donal Evans 
AuthorDate: Thu Jan 20 08:53:14 2022 -0800

GEODE-9977: Remove defunct RedisCommandSupportLevel.INTERNAL type (#7283)

Authored-by: Donal Evans 
(cherry picked from commit b349cb8b33fb0c93c0a3ea6a2f6c32bd33b51319)
---
 .../geode/redis/internal/commands/RedisCommandSupportLevel.java | 3 +--
 .../org/apache/geode/redis/internal/commands/RedisCommandType.java  | 6 --
 .../internal/commands/executor/server/COMMANDCommandExecutor.java   | 3 +--
 3 files changed, 2 insertions(+), 10 deletions(-)

diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandSupportLevel.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandSupportLevel.java
index a8f6796..15caf12 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandSupportLevel.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandSupportLevel.java
@@ -19,6 +19,5 @@ package org.apache.geode.redis.internal.commands;
 public enum RedisCommandSupportLevel {
   SUPPORTED,
   UNSUPPORTED,
-  UNKNOWN,
-  INTERNAL
+  UNKNOWN
 }
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandType.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandType.java
index acf335f..3a461de 100755
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandType.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/RedisCommandType.java
@@ -16,7 +16,6 @@
 package org.apache.geode.redis.internal.commands;
 
 import static org.apache.geode.redis.internal.RedisConstants.ERROR_SYNTAX;
-import static 
org.apache.geode.redis.internal.commands.RedisCommandSupportLevel.INTERNAL;
 import static 
org.apache.geode.redis.internal.commands.RedisCommandSupportLevel.SUPPORTED;
 import static 
org.apache.geode.redis.internal.commands.RedisCommandSupportLevel.UNSUPPORTED;
 import static 
org.apache.geode.redis.internal.commands.RedisCommandType.Flag.ADMIN;
@@ -447,11 +446,6 @@ public enum RedisCommandType {
 return supportLevel == UNSUPPORTED;
   }
 
-
-  public boolean isInternal() {
-return supportLevel == INTERNAL;
-  }
-
   public boolean isUnknown() {
 return supportLevel == RedisCommandSupportLevel.UNKNOWN;
   }
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/COMMANDCommandExecutor.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/COMMANDCommandExecutor.java
index 1557d92..b5950a8 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/COMMANDCommandExecutor.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/COMMANDCommandExecutor.java
@@ -62,8 +62,7 @@ public class COMMANDCommandExecutor implements 
CommandExecutor {
 List response = new ArrayList<>();
 
 for (RedisCommandType type : RedisCommandType.values()) {
-  if (type.isInternal()
-  || type.isUnknown()
+  if (type.isUnknown()
   || (type.isUnsupported() && !context.allowUnsupportedCommands())
   || type == RedisCommandType.QUIT) {
 continue;


[geode] branch support/1.15 updated (0271f6a -> 0331eee)

2022-01-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 0271f6a  GEODE-8616: Refactoring the test to remove deprecated APIs 
(#7301)
 new 08d2006  Revert "GEODE-9883 Update Geode for Redis docs file (#7274)"
 new d1d5e1e  GEODE-9977: Remove defunct RedisCommandSupportLevel.INTERNAL 
type (#7283)
 new 0ade491  GEODE-9837: SUNIONSTORE Command Support (#7284)
 new d456338  GEODE-9834: SRANDMEMBER Command Support (#7228)
 new 9166cb4  GEODE-9885: Handle duplicated appends in Redis 
StringsDUnitTest (#7290)
 new 731fcd0  update redis svg to use new module name (#7288)
 new ebd17de  GEODE-9922: Move Redis cross-slot checking to RegionProvider 
(#7295)
 new 9b8a768  GEODE-9883 Update Geode for Redis docs file (#7274)
 new 0331eee  GEODE-9830: SINTERSTORE Command Support (#7302)

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 geode-docs/images_svg/geode_for_redis.svg  | 206 +++--
 geode-for-redis/README.md  |   3 +
 ...a => SInterStoreNativeRedisAcceptanceTest.java} |   2 +-
 ...a => SRandMemberNativeRedisAcceptanceTest.java} |   2 +-
 ...a => SUnionStoreNativeRedisAcceptanceTest.java} |   2 +-
 .../resources/0001-configure-redis-tests.patch | 340 -
 .../commands/executor/string/StringsDUnitTest.java |  71 +++--
 .../key/AbstractRenameIntegrationTest.java |  15 +-
 .../key/AbstractRenameNXIntegrationTest.java   |  12 +
 .../server/AbstractHitsMissesIntegrationTest.java  |  34 +--
 .../executor/set/AbstractSDiffIntegrationTest.java |  15 +-
 .../set/AbstractSDiffStoreIntegrationTest.java |  15 +-
 .../set/AbstractSInterIntegrationTest.java | 148 +
 .../set/AbstractSInterStoreIntegrationTest.java| 237 ++
 .../executor/set/AbstractSMoveIntegrationTest.java | 165 +-
 .../set/AbstractSRandMemberIntegrationTest.java| 165 ++
 .../set/AbstractSUnionIntegrationTest.java | 151 +
 .../set/AbstractSUnionStoreIntegrationTest.java| 244 +++
 .../executor/set/AbstractSetsIntegrationTest.java  |  49 ---
 ...onTest.java => SInterStoreIntegrationTest.java} |   2 +-
 ...onTest.java => SRandMemberIntegrationTest.java} |   2 +-
 ...onTest.java => SUnionStoreIntegrationTest.java} |   2 +-
 .../string/AbstractMSetIntegrationTest.java|   3 +-
 .../string/AbstractMSetNXIntegrationTest.java  |   3 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   1 +
 .../geode/redis/internal/RedisConstants.java   |   2 -
 .../commands/RedisCommandSupportLevel.java |   3 +-
 .../redis/internal/commands/RedisCommandType.java  |  18 +-
 .../executor/key/AbstractRenameExecutor.java   |   5 -
 .../executor/server/COMMANDCommandExecutor.java|   3 +-
 .../commands/executor/set/SDiffExecutor.java   |  17 +-
 .../commands/executor/set/SDiffStoreExecutor.java  |  14 +-
 .../commands/executor/set/SInterExecutor.java  |  16 +-
 .../commands/executor/set/SInterStoreExecutor.java |  13 +-
 .../commands/executor/set/SMoveExecutor.java   |   9 -
 .../commands/executor/set/SRandMemberExecutor.java |  50 +--
 .../commands/executor/set/SUnionExecutor.java  |  16 +-
 .../commands/executor/set/SUnionStoreExecutor.java |  13 +-
 .../commands/executor/set/SetOpExecutor.java   | 167 ++
 ...dMemberExecutor.java => SetRandomExecutor.java} |  52 ++--
 .../executor/sortedset/ZInterStoreExecutor.java|   2 +-
 .../executor/sortedset/ZStoreExecutor.java |  14 +-
 .../executor/sortedset/ZUnionStoreExecutor.java|   2 +-
 .../executor/string/AbstractMSetExecutor.java  |   8 +-
 .../geode/redis/internal/data/NullRedisSet.java|   2 +-
 .../geode/redis/internal/data/NullRedisString.java |   5 -
 ...Exception.java => RedisCrossSlotException.java} |  12 +-
 .../apache/geode/redis/internal/data/RedisSet.java | 142 +
 .../geode/redis/internal/data/RedisString.java |   6 +-
 .../SizeableObjectOpenCustomHashSet.java   |   8 +
 .../internal/netty/ExecutionHandlerContext.java|   3 +
 .../redis/internal/services/RegionProvider.java|  20 +-
 .../internal/services/RegionProviderTest.java  |  74 +
 53 files changed, 1710 insertions(+), 875 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/{SMoveNativeRedisAcceptanceTest.java
 => SInterStoreNativeRedisAcceptanceTest.java} (92%)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/{SCardNativeRedisAcceptanceTest.java
 => S

[geode] branch develop updated (32e32af -> e0c4b9c)

2022-01-27 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 32e32af  GEODE-9830: SINTERSTORE Command Support (#7302)
 add e0c4b9c  GEODE-9988: Log full exception when JNDI binding fails during 
cache creation (#7304)

No new revisions were added by this update.

Summary of changes:
 geode-core/src/main/java/org/apache/geode/internal/jndi/JNDIInvoker.java | 1 +
 1 file changed, 1 insertion(+)


[geode] 01/01: Initial commit

2022-01-25 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch feature/redis-lists-interview
in repository https://gitbox.apache.org/repos/asf/geode.git

commit bd96ca2d5f60946279c63690b6892c08ae7ca713
Author: Jens Deppe 
AuthorDate: Tue Jan 25 06:47:22 2022 -0800

Initial commit
---
 .../list/RedisListNativeRedisAcceptanceTest.java}  | 30 +++---
 .../list/AbstractRedisListIntegrationTest.java | 46 +++
 .../executor/list/RedisListIntegrationTest.java}   | 22 ---
 .../geode/redis/internal/GeodeRedisService.java|  2 +
 .../redis/internal/commands/RedisCommandType.java  |  9 +++
 .../commands/executor/list/LLenExecutor.java   | 38 
 .../commands/executor/list/LPopExecutor.java   | 43 ++
 .../commands/executor/list/LPushExecutor.java  | 42 +
 .../internal/data/NullRedisDataStructures.java |  1 +
 ...RedisDataStructures.java => NullRedisList.java} | 18 --
 .../geode/redis/internal/data/RedisDataType.java   |  2 +
 .../geode/redis/internal/data/RedisList.java   | 68 ++
 .../internal/netty/ExecutionHandlerContext.java| 11 +++-
 .../serialization/DataSerializableFixedID.java |  1 +
 14 files changed, 311 insertions(+), 22 deletions(-)

diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisDataStructures.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/RedisListNativeRedisAcceptanceTest.java
similarity index 61%
copy from 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisDataStructures.java
copy to 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/RedisListNativeRedisAcceptanceTest.java
index e0e750e..9de54ea 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/NullRedisDataStructures.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/list/RedisListNativeRedisAcceptanceTest.java
@@ -12,12 +12,26 @@
  * or implied. See the License for the specific language governing permissions 
and limitations under
  * the License.
  */
-package org.apache.geode.redis.internal.data;
-
-public class NullRedisDataStructures {
-  public static final NullRedisString NULL_REDIS_STRING = new 
NullRedisString();
-  public static final NullRedisSet NULL_REDIS_SET = new NullRedisSet();
-  public static final NullRedisSortedSet NULL_REDIS_SORTED_SET = new 
NullRedisSortedSet();
-  public static final NullRedisHash NULL_REDIS_HASH = new NullRedisHash();
-  public static final NullRedisData NULL_REDIS_DATA = new NullRedisData();
+package org.apache.geode.redis.internal.commands.executor.list;
+
+
+import org.junit.ClassRule;
+
+import org.apache.geode.redis.NativeRedisClusterTestRule;
+
+public class RedisListNativeRedisAcceptanceTest extends 
AbstractRedisListIntegrationTest {
+
+  @ClassRule
+  public static NativeRedisClusterTestRule redis = new 
NativeRedisClusterTestRule();
+
+  @Override
+  public int getPort() {
+return redis.getExposedPorts().get(0);
+  }
+
+  @Override
+  public void flushAll() {
+redis.flushAll();
+  }
+
 }
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractRedisListIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractRedisListIntegrationTest.java
new file mode 100644
index 000..446016f
--- /dev/null
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/list/AbstractRedisListIntegrationTest.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.redis.internal.commands.executor.list;
+
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import redis.clients.jedis.HostAndPort;
+import redis.clients.jedis.

[geode] branch feature/redis-lists-interview created (now bd96ca2)

2022-01-25 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch feature/redis-lists-interview
in repository https://gitbox.apache.org/repos/asf/geode.git.


  at bd96ca2  Initial commit

This branch includes the following new commits:

 new bd96ca2  Initial commit

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[geode] branch develop updated: GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)

2022-01-21 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 7794553  GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)
7794553 is described below

commit 77945531fafd566a0cbca7d05b5347b8ea299efc
Author: Jens Deppe 
AuthorDate: Fri Jan 21 19:57:42 2022 -0800

GEODE-9958: Add gfsh-specific tests for Radish startup (#7297)
---
 .../GeodeRedisServerStartupAcceptanceTest.java |  5 --
 ...eRedisServerStartupUsingGfshAcceptanceTest.java | 65 ++
 2 files changed, 65 insertions(+), 5 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
index f16214c..523e63c 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/GeodeRedisServerStartupAcceptanceTest.java
@@ -28,7 +28,6 @@ import java.net.BindException;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -43,16 +42,12 @@ import org.apache.geode.test.dunit.rules.ClusterStartupRule;
 import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.dunit.rules.RedisClusterStartupRule;
 import org.apache.geode.test.junit.categories.IgnoreInRepeatTestTasks;
-import org.apache.geode.test.junit.rules.GfshCommandRule;
 
 public class GeodeRedisServerStartupAcceptanceTest {
 
   @Rule
   public RedisClusterStartupRule cluster = new RedisClusterStartupRule();
 
-  @ClassRule
-  public static GfshCommandRule gfsh = new GfshCommandRule();
-
   @Category(IgnoreInRepeatTestTasks.class)
   @Test
   public void startupOnDefaultPort() {
diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
index 5827ccb..6ce72a5 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/GeodeRedisServerStartupUsingGfshAcceptanceTest.java
@@ -15,7 +15,9 @@
 
 package org.apache.geode.redis.internal.commands.executor;
 
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -23,8 +25,12 @@ import java.net.ServerSocket;
 
 import org.junit.Rule;
 import org.junit.Test;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.exceptions.JedisConnectionException;
 
+import org.apache.geode.distributed.ConfigurationProperties;
 import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.internal.inet.LocalHostUtil;
 import org.apache.geode.test.junit.rules.gfsh.GfshExecution;
 import org.apache.geode.test.junit.rules.gfsh.GfshRule;
 import org.apache.geode.test.junit.rules.gfsh.GfshScript;
@@ -99,4 +105,63 @@ public class GeodeRedisServerStartupUsingGfshAcceptanceTest 
{
 assertThat(execution.getOutputText()).containsIgnoringCase(
 "The geode-for-redis-bind-address 1.1.1.1 is not a valid address for 
this machine");
   }
+
+  @Test
+  public void gfshStartsRedisServer_whenRedisEnabled() {
+String command =
+"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true";
+gfshRule.execute(command);
+
+try (Jedis jedis = new Jedis(BIND_ADDRESS, 6379)) {
+  assertThat(jedis.ping()).isEqualTo("PONG");
+}
+  }
+
+  @Test
+  public void gfshStartsRedisServer_whenCustomPort() {
+int port = AvailablePortHelper.getRandomAvailableTCPPort();
+String command =
+"start server --J=-Dgemfire." + 
ConfigurationProperties.GEODE_FOR_REDIS_ENABLED + "=true"
++ " --J=-Dgemfire." + ConfigurationProperties.GEODE_FOR_REDIS_PORT 
+ "=" + port;
+
+gfshRule.execute(command);
+
+try (Jedis jedis = new Jedis(BIND_ADDRESS, port)) {
+  assertThat(jedis.ping()).isEqualTo("PONG");
+}
+  }
+
+  @Test
+  public void gfshStartsRedisServer_whenCustomPortAndBindAddress() {
+int port = AvailablePortHelper.getRandomAvailableTCPPort();
+

[geode] branch develop updated (a2ed241 -> a53c6da)

2022-01-21 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from a2ed241  add 1.13.7 to old versions on develop (#7292)
 add a53c6da  GEODE-9834: SRANDMEMBER Command Support (#7228)

No new revisions were added by this update.

Summary of changes:
 .../tools_modules/geode_for_redis.html.md.erb  |   1 +
 geode-for-redis/README.md  |   1 +
 ...a => SRandMemberNativeRedisAcceptanceTest.java} |   2 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |  10 +-
 .../set/AbstractSRandMemberIntegrationTest.java| 165 +
 .../executor/set/AbstractSetsIntegrationTest.java  |  49 --
 ...onTest.java => SRandMemberIntegrationTest.java} |   2 +-
 .../redis/internal/commands/RedisCommandType.java  |   4 +-
 .../commands/executor/set/SRandMemberExecutor.java |  50 +--
 ...dMemberExecutor.java => SetRandomExecutor.java} |  52 ---
 .../geode/redis/internal/data/NullRedisSet.java|   2 +-
 .../apache/geode/redis/internal/data/RedisSet.java |  85 ++-
 .../SizeableObjectOpenCustomHashSet.java   |   8 +
 13 files changed, 269 insertions(+), 162 deletions(-)
 copy 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/set/{SCardNativeRedisAcceptanceTest.java
 => SRandMemberNativeRedisAcceptanceTest.java} (92%)
 create mode 100644 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSRandMemberIntegrationTest.java
 copy 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/{SCardIntegrationTest.java
 => SRandMemberIntegrationTest.java} (92%)
 copy 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/set/{SRandMemberExecutor.java
 => SetRandomExecutor.java} (59%)
 mode change 100755 => 100644


[geode] branch develop updated (7978abf -> 6b20445)

2022-01-18 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 7978abf  GEODE-9758: Add internal serial filter API (#7217)
 add 6b20445  GEODE-9962: Update redis INFO command for cluster mode 
responses (#7273)

No new revisions were added by this update.

Summary of changes:
 .../executor/server/InfoNativeRedisAcceptanceTest.java |  6 +++---
 .../executor/server/AbstractInfoIntegrationTest.java   | 14 +++---
 .../commands/executor/server/InfoIntegrationTest.java  |  2 +-
 .../internal/commands/executor/server/InfoExecutor.java|  6 +++---
 4 files changed, 18 insertions(+), 10 deletions(-)


[geode] branch develop updated (2b03244 -> 93fdccc)

2022-01-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 2b03244  GEODE-9944: Handle a race when HARegionQueue is not 
initialized yet. (#7259)
 add 93fdccc  GEODE-9937: Add convenience methods to 
FileWatchingX509Extended*Manager (#7251)

No new revisions were added by this update.

Summary of changes:
 .../FileWatchingX509ExtendedKeyManager.java| 24 --
 .../FileWatchingX509ExtendedTrustManager.java  | 24 --
 2 files changed, 36 insertions(+), 12 deletions(-)


[geode] branch develop updated (97601eb -> f23c23d)

2022-01-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 97601eb  GEODE-9819: fix durable client socket leak
 add f23c23d  GEODE-9691: Fix flaky ZRemDUnitTest (#7239)

No new revisions were added by this update.

Summary of changes:
 .../commands/executor/sortedset/ZRemDUnitTest.java | 73 +++---
 1 file changed, 50 insertions(+), 23 deletions(-)


[geode] branch develop updated (237d3ac -> 68f074d)

2022-01-04 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 237d3ac  GEODE-9911: Allow ExecutorServiceRule to name threads (#7231)
 add 68f074d  Enable tests again (#7233)

No new revisions were added by this update.

Summary of changes:
 .../executor/hash/HashesAndCrashesDUnitTest.java   | 260 +++--
 1 file changed, 136 insertions(+), 124 deletions(-)


[geode] branch develop updated (5c76706 -> 237d3ac)

2022-01-04 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 5c76706  GEODE-9912: Add unique identifier to DUnit log lines (#7232)
 add 237d3ac  GEODE-9911: Allow ExecutorServiceRule to name threads (#7231)

No new revisions were added by this update.

Summary of changes:
 .../test/junit/rules/ExecutorServiceRule.java  | 35 ++
 1 file changed, 29 insertions(+), 6 deletions(-)


[geode] branch develop updated (87b1007 -> 5c76706)

2022-01-04 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 87b1007  Revert "GEODE-9854: Orphaned .drf file causing memory leak 
(#7145)" (#7209)
 add 5c76706  GEODE-9912: Add unique identifier to DUnit log lines (#7232)

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/geode/test/dunit/internal/ProcessManager.java   | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)


[geode] branch develop updated (3b2595a -> 0aced7f)

2021-12-15 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 3b2595a  GEODE-9850: resolve the flaky test in getting the oldest 
tombstone (#7198)
 add 0aced7f  GEODE-9810: More robust waiting for native Redis cluster to 
start (#7192)

No new revisions were added by this update.

Summary of changes:
 .../apache/geode/redis/NativeRedisClusterTest.java | 41 ---
 .../java/org/apache/geode/redis/ClusterNodes.java  |  5 +--
 .../geode/redis/NativeRedisClusterTestRule.java| 46 +-
 3 files changed, 74 insertions(+), 18 deletions(-)


[geode] branch develop updated (9359388 -> da16195)

2021-12-15 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 9359388  GEODE-9148: prevent expiration reschedules (#6514)
 add da16195  GEODE-9899: Fix synchronization for RedisSet (#7201)

No new revisions were added by this update.

Summary of changes:
 .../apache/geode/redis/internal/data/RedisSet.java | 10 ++--
 .../geode/redis/internal/data/RedisSetTest.java| 70 ++
 2 files changed, 75 insertions(+), 5 deletions(-)


[geode] branch support/1.14 updated: GEODE-9877: Use ServerSocket to create interfering port (#7182)

2021-12-11 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.14 by this push:
 new e3ab8ca  GEODE-9877: Use ServerSocket to create interfering port 
(#7182)
e3ab8ca is described below

commit e3ab8cae9bbf4518416bef4ecba99792bfc25224
Author: Jens Deppe 
AuthorDate: Sat Dec 11 22:39:41 2021 -0800

GEODE-9877: Use ServerSocket to create interfering port (#7182)

- This is a manual backport of 310c647da6 since there are a lot of
  conflicts when cherry picking and the fix is quite trivial.


[geode] branch develop updated (3b133c3 -> 310c647)

2021-12-09 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 3b133c3  GEODE-9882: User Guide, Micrometer section, fix product_name 
typo (#7181)
 add 310c647  GEODE-9877: Use ServerSocket to create interfering port 
(#7180)

No new revisions were added by this update.

Summary of changes:
 ...pDUnitTest.java => GeodeRedisServerStartupAcceptanceTest.java} | 7 ---
 ...t.java => GeodeRedisServerStartupUsingGfshAcceptanceTest.java} | 8 
 2 files changed, 8 insertions(+), 7 deletions(-)
 rename 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/{GeodeRedisServerStartupDUnitTest.java
 => GeodeRedisServerStartupAcceptanceTest.java} (98%)
 rename 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/{GeodeRedisServerStartUpAcceptanceTest.java
 => GeodeRedisServerStartupUsingGfshAcceptanceTest.java} (93%)


[geode] branch develop updated (db64b49 -> c65f048)

2021-12-09 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from db64b49  GEODE-9758: Move SanctionedSerializables to filter package 
(#7165)
 add c65f048  GEODE-9871: Improve Radish test for network KB/s verification 
(#7170)

No new revisions were added by this update.

Summary of changes:
 .../AbstractRedisInfoStatsIntegrationTest.java | 68 +-
 1 file changed, 28 insertions(+), 40 deletions(-)


[geode] branch develop updated: GEODE-9831: support SISMEMBER support command (#7164)

2021-12-08 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new d093b73  GEODE-9831: support SISMEMBER support command (#7164)
d093b73 is described below

commit d093b73cafeeb7b40e9156f3a3a85bb706881a98
Author: Kris10 
AuthorDate: Wed Dec 8 08:34:06 2021 -0800

GEODE-9831: support SISMEMBER support command (#7164)

* Update geode-docs/tools_modules/geode_for_redis.html.md.erb
---
 .../tools_modules/geode_for_redis.html.md.erb  |  1 +
 geode-for-redis/README.md  |  1 +
 .../server/AbstractHitsMissesIntegrationTest.java  | 10 +--
 .../set/AbstractSIsMemberIntegrationTest.java  | 78 ++
 .../redis/internal/commands/RedisCommandType.java  |  2 +-
 5 files changed, 57 insertions(+), 35 deletions(-)

diff --git a/geode-docs/tools_modules/geode_for_redis.html.md.erb 
b/geode-docs/tools_modules/geode_for_redis.html.md.erb
index 91c6c16..06d9d8d 100644
--- a/geode-docs/tools_modules/geode_for_redis.html.md.erb
+++ b/geode-docs/tools_modules/geode_for_redis.html.md.erb
@@ -113,6 +113,7 @@ If the server is functioning properly, you should see a 
response of `PONG`.
  - SADD 
  - SCARD 
  - SDIFF 
+ - SISMEMBER 
  - SET 
  - SETNX 
  - SLOWLOG **[3]**  
diff --git a/geode-for-redis/README.md b/geode-for-redis/README.md
index 82d452e..1f4d70f 100644
--- a/geode-for-redis/README.md
+++ b/geode-for-redis/README.md
@@ -199,6 +199,7 @@ Geode for Redis implements a subset of the full Redis 
command set.
 - SADD  
 - SCARD
 - SDIFF
+- SISMEMBER
 - SET  
 - SETEX
 - SETNX  
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
index 511e9fc..0dc3084 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
@@ -384,6 +384,11 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
   }
 
   @Test
+  public void testSismember() {
+runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.sismember(k, 
"member"));
+  }
+
+  @Test
   public void testSmembers() {
 runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.smembers(k));
   }
@@ -524,11 +529,6 @@ public abstract class AbstractHitsMissesIntegrationTest 
implements RedisIntegrat
   }
 
   @Test
-  public void testSismember() {
-runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.sismember(k, 
"member"));
-  }
-
-  @Test
   public void testSrandmember() {
 runCommandAndAssertHitsAndMisses(SET_KEY, k -> jedis.srandmember(k));
   }
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSIsMemberIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSIsMemberIntegrationTest.java
index 2b1b2b7..2a62305 100755
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSIsMemberIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSIsMemberIntegrationTest.java
@@ -15,10 +15,11 @@
 package org.apache.geode.redis.internal.commands.executor.set;
 
 import static 
org.apache.geode.redis.RedisCommandArgumentsTestHelper.assertExactNumberOfArgs;
+import static org.apache.geode.redis.internal.RedisConstants.ERROR_WRONG_TYPE;
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
+import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
 import static org.assertj.core.api.Assertions.assertThat;
-
-import java.util.HashSet;
-import java.util.Set;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.junit.After;
 import org.junit.Before;
@@ -27,19 +28,16 @@ import redis.clients.jedis.HostAndPort;
 import redis.clients.jedis.JedisCluster;
 import redis.clients.jedis.Protocol;
 
-import org.apache.geode.management.internal.cli.util.ThreePhraseGenerator;
 import org.apache.geode.redis.RedisIntegrationTest;
-import org.apache.geode.test.awaitility.GeodeAwaitility;
 
 public abstract class AbstractSIsMemberIntegrationTest implements 
RedisIntegrationTest {
   private JedisCluster jedis;
-  private static final ThreePhraseGenerator generator = new 
ThreePhraseGenerator();
-  private static final int REDIS_CLIENT_TIMEOUT =
-  Math.toIntExact(Geode

[geode] branch develop updated (20242c6 -> 588e26a)

2021-12-06 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 20242c6  GEODE-9865: Decrement the count if the connection is 
unsuccessful (#7159)
 add 588e26a  GEODE-9866: Improvements to 
AbstractRedisMemoryStatsIntegrationTest (#7168)

No new revisions were added by this update.

Summary of changes:
 .../AbstractRedisMemoryStatsIntegrationTest.java   | 36 ++
 1 file changed, 17 insertions(+), 19 deletions(-)


[geode] branch develop updated (673d447 -> 4f573ec)

2021-12-01 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 673d447  GEODE-9863: Point redis benchmarks at 
geode-for-redis-benchmark-baseline branch (#7154)
 add 4f573ec  GEODE-9866: Call System.gc before Radish tests query memory 
info (#7156)

No new revisions were added by this update.

Summary of changes:
 .../AppendMemoryNativeRedisAcceptanceTest.java | 30 --
 .../org/apache/geode/redis/RedisTestHelper.java|  3 +
 .../AbstractAppendMemoryIntegrationTest.java   | 69 --
 .../string/AppendMemoryIntegrationTest.java| 29 -
 4 files changed, 3 insertions(+), 128 deletions(-)
 delete mode 100644 
geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/commands/executor/string/AppendMemoryNativeRedisAcceptanceTest.java
 delete mode 100644 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractAppendMemoryIntegrationTest.java
 delete mode 100644 
geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AppendMemoryIntegrationTest.java


[geode] branch develop updated (a24fceb -> 673d447)

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from a24fceb  GEODE-9396: Translate Old Member IP to Name for Endpoint ID 
(#7119)
 add 673d447  GEODE-9863: Point redis benchmarks at 
geode-for-redis-benchmark-baseline branch (#7154)

No new revisions were added by this update.

Summary of changes:
 ci/pipelines/shared/jinja.variables.yml | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)


[geode-benchmarks] branch develop updated: Revert "GEODE-9862: protect from jgit6.0.0 when building older Geodes for benchmarks"

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/develop by this push:
 new 8bdfeb6  Revert "GEODE-9862: protect from jgit6.0.0 when building 
older Geodes for benchmarks"
8bdfeb6 is described below

commit 8bdfeb6790ffd1af5cfe6bba6392ee594824ea3d
Author: Jens Deppe 
AuthorDate: Tue Nov 30 15:08:37 2021 -0800

Revert "GEODE-9862: protect from jgit6.0.0 when building older Geodes for 
benchmarks"

This reverts commit caa17e273b04eabf13b66a014042b73f97e457d0.
---
 infrastructure/scripts/aws/run_tests.sh | 1 -
 1 file changed, 1 deletion(-)

diff --git a/infrastructure/scripts/aws/run_tests.sh 
b/infrastructure/scripts/aws/run_tests.sh
index 64f1233..9617658 100755
--- a/infrastructure/scripts/aws/run_tests.sh
+++ b/infrastructure/scripts/aws/run_tests.sh
@@ -171,7 +171,6 @@ if [[ -z "${VERSION}" ]]; then
   || remoteShell rm -rf geode '&&' git clone "${REPO}" geode
   fi
   remoteShell "cd geode && git checkout \"${BRANCH}\" && [ \"\$(git rev-parse 
--abbrev-ref --symbolic-full-name HEAD)\" == \"HEAD\" ] || git reset --hard 
\"origin/${BRANCH}\""
-  remoteShell "cd geode && echo \"dependencies { 
runtimeOnly('org.eclipse.jgit:org.eclipse.jgit:5.13.0.202109080827-r') }\" >> 
./buildSrc/build.gradle"
 
   set +e
   for i in {1..5}; do


[geode] branch geode-for-redis-benchmark-baseline created (now fd3396a)

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch geode-for-redis-benchmark-baseline
in repository https://gitbox.apache.org/repos/asf/geode.git.


  at fd3396a  GEODE-9862: pin Gradle use of jgit (#7152)

This branch includes the following new commits:

 new fd3396a  GEODE-9862: pin Gradle use of jgit (#7152)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[geode] 01/01: GEODE-9862: pin Gradle use of jgit (#7152)

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch geode-for-redis-benchmark-baseline
in repository https://gitbox.apache.org/repos/asf/geode.git

commit fd3396a114b65ac74161a24610a3160c55b4ff8e
Author: Robert Houghton 
AuthorDate: Mon Nov 29 16:12:07 2021 -0800

GEODE-9862: pin Gradle use of jgit (#7152)

* dependency of grgit used in GemFireVersion.properties

Authored-by: Robert Houghton 
(cherry picked from commit 5d89d4f6e6ded010d05434e76d7baed6c7e9db28)
---
 buildSrc/build.gradle | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index 5116d5b..70e4d46 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -38,6 +38,9 @@ dependencies {
   implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
   implementation('junit:junit:4.13.2')
 
+  // Pin jgit to 5.13.0 to fix grgit having open dependencies on jgit, which 
rolled to java 11 with version 6.
+  runtimeOnly('org.eclipse.jgit:org.eclipse.jgit:5.13.0.202109080827-r')
+
   testAnnotationProcessor(this.project)
 }
 


[geode] branch develop updated (e69590e -> 2b523e1)

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from e69590e  GEODE-9669: Improve reporting of Radish 
mem_fragmentation_ratio (#7127)
 add 2b523e1  GEODE-9855: Radish authentication during HA test (#7146)

No new revisions were added by this update.

Summary of changes:
 .../test/dunit/rules/SerializableFunction.java |   7 ++
 .../test/dunit/rules/RedisClusterStartupRule.java  |  18 ++-
 .../auth/AuthWhileServersRestartDUnitTest.java | 130 +
 3 files changed, 153 insertions(+), 2 deletions(-)
 create mode 100644 
geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/auth/AuthWhileServersRestartDUnitTest.java


[geode] branch develop updated: GEODE-9669: Improve reporting of Radish mem_fragmentation_ratio (#7127)

2021-11-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new e69590e  GEODE-9669: Improve reporting of Radish 
mem_fragmentation_ratio (#7127)
e69590e is described below

commit e69590e1061c0184385c1b2305f7593b1ec3f01a
Author: Jens Deppe 
AuthorDate: Tue Nov 30 05:13:35 2021 -0800

GEODE-9669: Improve reporting of Radish mem_fragmentation_ratio (#7127)

- For this implementation, this value is the ratio of total amount of
  memory available to the JVM (Java heap) vs. the amount of memory
  used by the JVM.
---
 .../AbstractRedisInfoStatsIntegrationTest.java |  2 --
 .../AbstractAppendMemoryIntegrationTest.java   | 16 +
 .../commands/executor/server/InfoExecutor.java | 38 +-
 3 files changed, 40 insertions(+), 16 deletions(-)

diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractRedisInfoStatsIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractRedisInfoStatsIntegrationTest.java
index 480619f..30c1edc 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractRedisInfoStatsIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractRedisInfoStatsIntegrationTest.java
@@ -28,7 +28,6 @@ import org.assertj.core.data.Offset;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 import redis.clients.jedis.Jedis;
 
@@ -142,7 +141,6 @@ public abstract class AbstractRedisInfoStatsIntegrationTest 
implements RedisInte
 assertThat(Long.valueOf(getInfo(jedis).get(USED_MEMORY))).isGreaterThan(0);
   }
 
-  @Ignore("tracked by GEODE-9669") // currently we return 1.0
   @Test
   public void memFragmentation_shouldBeGreaterThanOne() {
 for (int i = 0; i < 1; i++) {
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractAppendMemoryIntegrationTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractAppendMemoryIntegrationTest.java
index 05bea0b..e1e44e9 100644
--- 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractAppendMemoryIntegrationTest.java
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractAppendMemoryIntegrationTest.java
@@ -16,6 +16,7 @@ package 
org.apache.geode.redis.internal.commands.executor.string;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import java.time.Duration;
 import java.util.Map;
 
 import org.junit.After;
@@ -45,21 +46,24 @@ public abstract class AbstractAppendMemoryIntegrationTest 
implements RedisIntegr
 
   @Test
   public void testAppend_actuallyIncreasesBucketSize() {
-int listSize = 1000;
+int listSize = 100_000;
 String key = "key";
 
-Map info = RedisTestHelper.getInfo(jedis);
-Long previousMemValue = Long.valueOf(info.get("used_memory"));
+System.gc();
+Long startingMemValue = getUsedMemory(jedis);
 
 jedis.set(key, "initial");
 for (int i = 0; i < listSize; i++) {
   jedis.append(key, "morestuff");
 }
 
-info = RedisTestHelper.getInfo(jedis);
-Long finalMemValue = Long.valueOf(info.get("used_memory"));
+
GeodeAwaitility.await().atMost(Duration.ofSeconds(20)).pollInterval(Duration.ofSeconds(1))
+.untilAsserted(() -> 
assertThat(getUsedMemory(jedis)).isGreaterThan(startingMemValue));
+  }
 
-assertThat(finalMemValue).isGreaterThan(previousMemValue);
+  private Long getUsedMemory(Jedis jedis) {
+Map info = RedisTestHelper.getInfo(jedis);
+return Long.valueOf(info.get("used_memory"));
   }
 
 }
diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/InfoExecutor.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/InfoExecutor.java
index 2a3c420..08192df 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/InfoExecutor.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/commands/executor/server/InfoExecutor.java
@@ -31,7 +31,6 @@ import java.text.DecimalFormat;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.geode.internal.cache.PartitionedRegion;
 import org.apache.geode.redis.internal.commands.Command;
 import org.apache.geode.redis.internal.commands.executor.CommandExecutor;
 import 

[geode] branch develop updated (f56d60a -> b0d05cf)

2021-11-23 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from f56d60a  GEODE-9838: Log key info for deserialization issue while 
index update (#7136)
 add b0d05cf  GEODE-9812: Add Radish tests that kills multiple servers 
(#7115)

No new revisions were added by this update.

Summary of changes:
 .../StringsKillMultipleServersDUnitTest.java   | 115 +
 1 file changed, 115 insertions(+)
 create mode 100644 
geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/StringsKillMultipleServersDUnitTest.java


[geode] branch develop updated (f61e32f -> 5ec6a66)

2021-11-22 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from f61e32f  GEODE-9820: stopCQ should handle general exception same way 
as ExecuteCQ61 (#7122)
 add 5ec6a66  GEODE-1537: Re-order ephemeral port acquisition to fix flaky 
DurableRegistrationDUnitTest (#7111)

No new revisions were added by this update.

Summary of changes:
 .../tier/sockets/DurableRegistrationDUnitTest.java | 24 --
 1 file changed, 8 insertions(+), 16 deletions(-)


[geode] branch develop updated (1fac184 -> 477a3dc)

2021-11-18 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 1fac184  GEODE-9803: turning on security debug log in the test and add 
more debug logging (#7117)
 add 477a3dc  GEODE-9821: Remove use of local docker-compose from Radish 
native tests (#7125)

No new revisions were added by this update.

Summary of changes:
 .../java/org/apache/geode/redis/NativeRedisClusterTestRule.java| 3 ---
 1 file changed, 3 deletions(-)


[geode] branch develop updated (9675cf8 -> 0ac9c8a)

2021-11-16 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 9675cf8  GEODE-6588: Use System.lineSeparator()
 add 0ac9c8a  GEODE-9090: Do not log non-printable characters when debug 
logging from ManagementLoggingFilter (#7110)

No new revisions were added by this update.

Summary of changes:
 .../geode/management/internal/rest/ManagementLoggingFilter.java   | 8 
 1 file changed, 8 insertions(+)


[geode] branch wip/corrupt-client updated: Export file apparently wants to be called *.gfd.

2021-11-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch wip/corrupt-client
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/wip/corrupt-client by this 
push:
 new 898748a  Export file apparently wants to be called *.gfd.
898748a is described below

commit 898748a3528a19f711038aaeb5d44318e7262f5f
Author: Jens Deppe 
AuthorDate: Sat Nov 13 16:31:16 2021 -0800

Export file apparently wants to be called *.gfd.

- Ensure fn is compatible with 9.8.
---
 .../org/apache/geode/ExportLocalDataFunction.java  | 49 ++
 .../geode/pdx/CorruptPdxClientServerDUnitTest.java | 30 +++--
 .../apache/geode/pdx/internal/PdxWriterImpl.java   |  1 +
 3 files changed, 40 insertions(+), 40 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
index 3aac1c2..d7c1044 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
@@ -22,11 +22,7 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.logging.log4j.Logger;
-
-import org.apache.geode.LogWriter;
 import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.Declarable;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.execute.Function;
@@ -40,49 +36,48 @@ import 
org.apache.geode.cache.snapshot.SnapshotOptions.SnapshotFormat;
 import org.apache.geode.internal.cache.CachedDeserializable;
 import org.apache.geode.internal.cache.EntrySnapshot;
 import org.apache.geode.internal.cache.RegionEntry;
-import org.apache.geode.logging.internal.log4j.api.LogService;
 
-public class ExportLocalDataFunction implements Function, Declarable {
+public class ExportLocalDataFunction implements Function, Declarable 
{
 
   private static final long serialVersionUID = 4380042210718815441L;
-  private static final Logger logger = LogService.getLogger();
 
-  public ExportLocalDataFunction() {
-  }
+  public ExportLocalDataFunction() {}
 
-  public void execute(final FunctionContext context) {
-logger.info("DEBUG: Executing ExportLocalDataFunction on {}", 
context.getMemberName());
+  public void execute(final FunctionContext context) {
+final Cache cache = context.getCache();
+final LogWriter logger = cache.getLogger();
 
-// Get file name parameter
-final String fileName = context.getArguments();
+logger.info("EXPORT: Executing ExportLocalDataFunction on " + 
cache.getName());
 
-if (fileName == null) {
-  throw new IllegalArgumentException(getId() + " requires an export 
filename as parameter");
+Object[] arguments = context.getArguments();
+String directoryName = null;
+if (arguments != null && arguments.length > 0) {
+  directoryName = (String) arguments[0];
 }
 
-final Cache cache = context.getCache();
-final String memberName = cache.getName();
-final LogWriter logger = cache.getLogger();
+final String memberName = context.getMemberName();
 
 // Get local data set
 final RegionFunctionContext rfc = (RegionFunctionContext) context;
 final Region localData = 
PartitionRegionHelper.getLocalDataForContext(rfc);
 
 // Create the file
-final File file = new File(fileName);
+final String fileName =
+"server_" + memberName + "_region_" + localData.getName() + 
"_snapshot.gfd";
+final File file = new File(directoryName, fileName);
 
 // Export local data set
 final RegionSnapshotService service = 
localData.getSnapshotService();
 try {
-  logger.warning(
+  logger.warning("EXPORT: " +
   currentThread().getName() + ": Exporting " + localData.size() + " 
entries in region "
-  + localData.getName() + " to file " + file.getAbsolutePath() + " 
started");
+  + localData.getName() + " to file " + file.getAbsolutePath() + " 
started");
   final SnapshotOptions options = service.createOptions();
   options.setFilter(getRejectingFilter(localData, logger));
   service.save(file, SnapshotFormat.GEMFIRE, options);
-  logger.warning(
+  logger.warning("EXPORT: " +
   currentThread().getName() + ": Exporting " + localData.size() + " 
entries in region "
-  + localData.getName() + " to file " + file.getAbsolutePath() + " 
completed");
+  + localData.getName() + " to file " + file.getAbsolutePath() + " 
completed");
 } catch (Exception e) {
   context.getResultSende

[geode] branch wip/corrupt-client updated: Parameterize fn with the file name

2021-11-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch wip/corrupt-client
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/wip/corrupt-client by this 
push:
 new 6e6ae32  Parameterize fn with the file name
6e6ae32 is described below

commit 6e6ae3222bb70352584c86594611d4faf82faebd
Author: Jens Deppe 
AuthorDate: Sat Nov 13 14:53:24 2021 -0800

Parameterize fn with the file name
---
 .../org/apache/geode/ExportLocalDataFunction.java  | 80 +++---
 .../geode/pdx/CorruptPdxClientServerDUnitTest.java |  4 +-
 2 files changed, 12 insertions(+), 72 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
index 9a22ccc..3aac1c2 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
@@ -44,20 +44,22 @@ import 
org.apache.geode.logging.internal.log4j.api.LogService;
 
 public class ExportLocalDataFunction implements Function, Declarable {
 
+  private static final long serialVersionUID = 4380042210718815441L;
   private static final Logger logger = LogService.getLogger();
-  private static final byte DSCODE_DATA_SERIALIZABLE = 45;
-  private static final byte DSCODE_SERIALIZABLE = 44;
-  private static final byte DSCODE_PDX = 93;
 
   public ExportLocalDataFunction() {
   }
 
   public void execute(final FunctionContext context) {
-// Get directory name
-
 logger.info("DEBUG: Executing ExportLocalDataFunction on {}", 
context.getMemberName());
 
-final String directoryName = context.getArguments();
+// Get file name parameter
+final String fileName = context.getArguments();
+
+if (fileName == null) {
+  throw new IllegalArgumentException(getId() + " requires an export 
filename as parameter");
+}
+
 final Cache cache = context.getCache();
 final String memberName = cache.getName();
 final LogWriter logger = cache.getLogger();
@@ -67,9 +69,7 @@ public class ExportLocalDataFunction implements 
Function, Declarable {
 final Region localData = 
PartitionRegionHelper.getLocalDataForContext(rfc);
 
 // Create the file
-final String fileName =
-"server_" + memberName + "_region_" + localData.getName() + 
"_snapshot.gfd";
-final File file = new File(directoryName, fileName);
+final File file = new File(fileName);
 
 // Export local data set
 final RegionSnapshotService service = 
localData.getSnapshotService();
@@ -79,7 +79,6 @@ public class ExportLocalDataFunction implements 
Function, Declarable {
   + localData.getName() + " to file " + file.getAbsolutePath() + " 
started");
   final SnapshotOptions options = service.createOptions();
   options.setFilter(getRejectingFilter(localData, logger));
-  //  options.setFilter(getReserializingFilter(localData, logger));
   service.save(file, SnapshotFormat.GEMFIRE, options);
   logger.warning(
   currentThread().getName() + ": Exporting " + localData.size() + " 
entries in region "
@@ -110,67 +109,6 @@ public class ExportLocalDataFunction implements 
Function, Declarable {
 };
   }
 
-  private  SnapshotFilter getReserializingFilter(final Region localData,
- final LogWriter 
logger) {
-return new SnapshotFilter() {
-  public boolean accept(Map.Entry entry) {
-boolean accept = true;
-try {
-  //noinspection ResultOfMethodCallIgnored
-  entry.getValue();
-} catch (Exception e) {
-  final byte[] valueBytes = getValueBytes(entry);
-  logger.warning("Caught the following exception attempting to 
deserialize value region="
-  + localData.getName() + "; key=" + entry.getKey() + "; 
valueLength="
-  + valueBytes.length
-  + "; value=" + Arrays.toString(valueBytes) + ":", e);
-  logger.warning(
-  "Attempting to deserialize as DataSerializable value region=" + 
localData.getName()
-  + "; key=" + entry.getKey());
-  accept =
-  attemptToDeserialize(entry, valueBytes, logger, 
"DataSerializable",
-  DSCODE_DATA_SERIALIZABLE);
-  if (!accept) {
-logger.warning(
-"Attempting to deserialize as Serializable value region=" + 
localData.getName()
-+ "; key="
-+ entry.getKey());
-accept =
-attemptToDeserialize(entry, valueBytes, logger, "Serializab

[geode] branch wip/corrupt-client updated: Add ExportLocalDataFunction and run it from the DUnit test

2021-11-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch wip/corrupt-client
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/wip/corrupt-client by this 
push:
 new bc07734  Add ExportLocalDataFunction and run it from the DUnit test
bc07734 is described below

commit bc07734bced6fe15432afdfa9a1763301f18a022
Author: Jens Deppe 
AuthorDate: Sat Nov 13 14:37:54 2021 -0800

Add ExportLocalDataFunction and run it from the DUnit test
---
 .../org/apache/geode/ExportLocalDataFunction.java  | 208 +
 .../geode/pdx/CorruptPdxClientServerDUnitTest.java |  22 ++-
 2 files changed, 226 insertions(+), 4 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
new file mode 100644
index 000..9a22ccc
--- /dev/null
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/ExportLocalDataFunction.java
@@ -0,0 +1,208 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode;
+
+import static java.lang.Thread.currentThread;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.logging.log4j.Logger;
+
+import org.apache.geode.LogWriter;
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Declarable;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.execute.Function;
+import org.apache.geode.cache.execute.FunctionContext;
+import org.apache.geode.cache.execute.RegionFunctionContext;
+import org.apache.geode.cache.partition.PartitionRegionHelper;
+import org.apache.geode.cache.snapshot.RegionSnapshotService;
+import org.apache.geode.cache.snapshot.SnapshotFilter;
+import org.apache.geode.cache.snapshot.SnapshotOptions;
+import org.apache.geode.cache.snapshot.SnapshotOptions.SnapshotFormat;
+import org.apache.geode.internal.cache.CachedDeserializable;
+import org.apache.geode.internal.cache.EntrySnapshot;
+import org.apache.geode.internal.cache.RegionEntry;
+import org.apache.geode.logging.internal.log4j.api.LogService;
+
+public class ExportLocalDataFunction implements Function, Declarable {
+
+  private static final Logger logger = LogService.getLogger();
+  private static final byte DSCODE_DATA_SERIALIZABLE = 45;
+  private static final byte DSCODE_SERIALIZABLE = 44;
+  private static final byte DSCODE_PDX = 93;
+
+  public ExportLocalDataFunction() {
+  }
+
+  public void execute(final FunctionContext context) {
+// Get directory name
+
+logger.info("DEBUG: Executing ExportLocalDataFunction on {}", 
context.getMemberName());
+
+final String directoryName = context.getArguments();
+final Cache cache = context.getCache();
+final String memberName = cache.getName();
+final LogWriter logger = cache.getLogger();
+
+// Get local data set
+final RegionFunctionContext rfc = (RegionFunctionContext) context;
+final Region localData = 
PartitionRegionHelper.getLocalDataForContext(rfc);
+
+// Create the file
+final String fileName =
+"server_" + memberName + "_region_" + localData.getName() + 
"_snapshot.gfd";
+final File file = new File(directoryName, fileName);
+
+// Export local data set
+final RegionSnapshotService service = 
localData.getSnapshotService();
+try {
+  logger.warning(
+  currentThread().getName() + ": Exporting " + localData.size() + " 
entries in region "
+  + localData.getName() + " to file " + file.getAbsolutePath() + " 
started");
+  final SnapshotOptions options = service.createOptions();
+  options.setFilter(getRejectingFilter(localData, logger));
+  //  options.setFilter(getReserializingFilter(localData, logger));
+  service.save(file, SnapshotFormat.GEMFIRE, options);
+  logger.warning(
+  currentThread().getName() + ": Exporting " + localData.size() + " 
entries in region "

[geode] branch develop updated (4c43c53 -> 7f4bf62)

2021-11-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 4c43c53  GEODE-9774: Clear networkHop variable at function execution 
exit (#7051)
 add 7f4bf62  GEODE-9778: Bump netty from 4.1.67.Final to 4.1.70.Final 
(#7075)

No new revisions were added by this update.

Summary of changes:
 boms/geode-all-bom/src/test/resources/expected-pom.xml| 15 ++-
 .../geode/gradle/plugins/DependencyConstraints.groovy |  6 +-
 dev-tools/release/license_review.sh   |  2 +-
 .../src/integrationTest/resources/assembly_content.txt|  9 +++--
 .../integrationTest/resources/dependency_classpath.txt| 15 ++-
 .../src/integrationTest/resources/expected_jars.txt   |  9 +++--
 geode-for-redis/build.gradle  |  5 -
 geode-for-redis/src/test/resources/expected-pom.xml   |  2 +-
 8 files changed, 45 insertions(+), 18 deletions(-)


[geode] branch develop updated: GEODE-9794: Radish PassiveExpirationManager can throw NPE (#7072)

2021-11-03 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 835167a  GEODE-9794: Radish PassiveExpirationManager can throw NPE 
(#7072)
835167a is described below

commit 835167a58b329ce8ba51265b288e72ac264e9976
Author: Jens Deppe 
AuthorDate: Wed Nov 3 16:37:53 2021 -0700

GEODE-9794: Radish PassiveExpirationManager can throw NPE (#7072)
---
 .../java/org/apache/geode/redis/internal/PassiveExpirationManager.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java
 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java
index 4e5bdf6..805b77b 100644
--- 
a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java
+++ 
b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java
@@ -63,7 +63,8 @@ public class PassiveExpirationManager {
   
PartitionRegionHelper.getLocalPrimaryData(regionProvider.getLocalDataRegion());
   for (Map.Entry entry : localPrimaryData.entrySet()) 
{
 try {
-  if (entry.getValue().hasExpired(now)) {
+  RedisData value = entry.getValue();
+  if (value != null && value.hasExpired(now)) {
 // pttl will do its own check using active expiration and expire 
the key if needed
 
 if (-2 == internalPttl(regionProvider, entry.getKey())) {


[geode-benchmarks] branch debug-netty-latest updated: Fix concourse script issue

2021-11-03 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch debug-netty-latest
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/debug-netty-latest by this 
push:
 new eb4f0be  Fix concourse script issue
eb4f0be is described below

commit eb4f0be4ccd5775353845331ac1b63c37015a36d
Author: Jens Deppe 
AuthorDate: Wed Nov 3 16:21:36 2021 -0700

Fix concourse script issue
---
 gradlew | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gradlew b/gradlew
index de155c6..df0aa1e 100755
--- a/gradlew
+++ b/gradlew
@@ -92,13 +92,13 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
 # Determine the Java command to use to start the JVM.
 if [ -n "$JAVA_HOME" ] ; then
-if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+if [ -f "$JAVA_HOME/jre/sh/java" ] ; then
 # IBM's JDK on AIX uses strange locations for the executables
 JAVACMD="$JAVA_HOME/jre/sh/java"
 else
 JAVACMD="$JAVA_HOME/bin/java"
 fi
-if [ ! -x "$JAVACMD" ] ; then
+if [ ! -f "$JAVACMD" ] ; then
 die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
 
 Please set the JAVA_HOME variable in your environment to match the


[geode-benchmarks] branch debug-netty-latest created (now 6f9b9c8)

2021-11-03 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch debug-netty-latest
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git.


  at 6f9b9c8  GEODE-9291 Benchmarks for sorted sets (#158)

No new revisions were added by this update.


[geode] branch develop updated: GEODE-9646: Update native redis tests to consistently use version 6.2.6 (#7019)

2021-10-29 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new 22577d7  GEODE-9646: Update native redis tests to consistently use 
version 6.2.6 (#7019)
22577d7 is described below

commit 22577d73fba46ee4724c1d17e8b7d228c622907a
Author: Jens Deppe 
AuthorDate: Fri Oct 29 05:29:38 2021 -0700

GEODE-9646: Update native redis tests to consistently use version 6.2.6 
(#7019)
---
 .../connection/AuthNativeRedisAcceptanceTest.java  | 10 +++---
 .../MemoryOverheadNativeRedisAcceptanceTest.java   |  2 +-
 .../java/org/apache/geode/NativeRedisTestRule.java |  2 +-
 .../geode/redis/internal/proxy/RedisProxy.java |  2 +-
 .../internal/proxy/RedisProxyInboundHandler.java   | 13 +++-
 .../commonTest/resources/redis-cluster-compose.yml | 14 
 .../executor/AbstractUnknownIntegrationTest.java   | 37 --
 .../internal/executor/UnknownIntegrationTest.java  | 14 
 .../pubsub/AbstractSubCommandsIntegrationTest.java |  8 +++--
 .../AbstractSubscriptionsIntegrationTest.java  |  3 +-
 .../server/AbstractInfoIntegrationTest.java| 11 +--
 .../executor/server/CommandIntegrationTest.java|  2 +-
 .../executor/server/InfoIntegrationTest.java   | 12 +++
 .../executor/set/AbstractSPopIntegrationTest.java  |  4 +--
 .../AbstractZInterStoreIntegrationTest.java|  4 +--
 .../AbstractZUnionStoreIntegrationTest.java|  4 +--
 .../geode/redis/internal/RedisConstants.java   | 10 --
 .../internal/executor/pubsub/PubSubExecutor.java   |  2 +-
 .../redis/internal/executor/set/SPopExecutor.java  |  4 +--
 .../executor/sortedset/ZInterStoreExecutor.java|  7 
 .../executor/sortedset/ZStoreExecutor.java |  6 ++--
 .../executor/sortedset/ZUnionStoreExecutor.java|  8 +
 .../internal/netty/ExecutionHandlerContext.java|  4 ++-
 .../pubsub/AbstractSubscriptionManager.java|  4 +++
 .../apache/geode/redis/internal/pubsub/PubSub.java |  2 +-
 .../geode/redis/internal/pubsub/PubSubImpl.java|  4 +--
 .../geode/redis/internal/pubsub/Subscriptions.java |  7 
 27 files changed, 136 insertions(+), 64 deletions(-)

diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/connection/AuthNativeRedisAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/connection/AuthNativeRedisAcceptanceTest.java
index 2be4be8..c17401c 100644
--- 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/connection/AuthNativeRedisAcceptanceTest.java
+++ 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/connection/AuthNativeRedisAcceptanceTest.java
@@ -15,6 +15,7 @@
 package org.apache.geode.redis.internal.executor.connection;
 
 
+import static org.apache.geode.NativeRedisTestRule.DEFAULT_REDIS_IMAGE;
 import static 
org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
 
 import org.junit.After;
@@ -27,8 +28,6 @@ import org.apache.geode.test.junit.rules.IgnoreOnWindowsRule;
 
 public class AuthNativeRedisAcceptanceTest extends AbstractAuthIntegrationTest 
{
 
-  private static final String REDIS_DOCKER_IMAGE = "redis:6.2.6";
-
   // Docker compose does not work on windows in CI. Ignore this test on windows
   // Using a RuleChain to make sure we ignore the test before the rule comes 
into play
   @ClassRule
@@ -59,16 +58,15 @@ public class AuthNativeRedisAcceptanceTest extends 
AbstractAuthIntegrationTest {
 
   @Override
   public void setupCacheWithSecurity(boolean needsWritePermission) {
-redisContainer =
-new GenericContainer<>(REDIS_DOCKER_IMAGE).withExposedPorts(6379)
-.withCommand("redis-server --requirepass " + getPassword());
+redisContainer = new 
GenericContainer<>(DEFAULT_REDIS_IMAGE).withExposedPorts(6379)
+.withCommand("redis-server --requirepass " + getPassword());
 redisContainer.start();
 jedis = new Jedis("localhost", redisContainer.getFirstMappedPort(), 
REDIS_CLIENT_TIMEOUT);
   }
 
   @Override
   public void setupCacheWithoutSecurity() {
-redisContainer = new 
GenericContainer<>(REDIS_DOCKER_IMAGE).withExposedPorts(6379);
+redisContainer = new 
GenericContainer<>(DEFAULT_REDIS_IMAGE).withExposedPorts(6379);
 redisContainer.start();
 jedis = new Jedis("localhost", redisContainer.getFirstMappedPort(), 
REDIS_CLIENT_TIMEOUT);
   }
diff --git 
a/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadNativeRedisAcceptanceTest.java
 
b/geode-for-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/hash/MemoryOverheadNativeRedisAcceptanceTest.java
index 698a52e..1ddbb1c 10

[geode] branch develop updated (dae7b82 -> b4deab0)

2021-10-28 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from dae7b82  GEODE-9684: Add unit test coverage for 
RedisMemberInfoRetrievalFunction (#7053)
 add b4deab0  Revert "GEODE-9767: Bump netty from 4.1.67.Final to 
4.1.69.Final (#7031)" (#7061)

No new revisions were added by this update.

Summary of changes:
 .../src/test/resources/expected-pom.xml| 27 +-
 .../gradle/plugins/DependencyConstraints.groovy|  6 +
 dev-tools/release/license_review.sh|  2 +-
 .../integrationTest/resources/assembly_content.txt |  9 ++--
 .../resources/dependency_classpath.txt | 15 
 .../integrationTest/resources/expected_jars.txt|  9 ++--
 geode-for-redis/build.gradle   |  5 +---
 .../src/test/resources/expected-pom.xml|  2 +-
 8 files changed, 24 insertions(+), 51 deletions(-)


[geode] branch develop updated (7340352 -> e0c33cd)

2021-10-27 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 7340352  [GEODE-9775] Add heavy-lifter environment variables. (#7052)
 add e0c33cd  GEODE-9757: Ensure that tx cache ops always add 
CachedDeserializable entries (#7022)

No new revisions were added by this update.

Summary of changes:
 ...va => TestDeltaSerializableSizeableObject.java} |  53 +-
 .../TransactionCommitOnFarSideDistributedTest.java |  18 
 .../apache/geode/internal/cache/BucketRegion.java  |  60 +++
 .../apache/geode/internal/cache/TXEntryState.java  |   2 +-
 .../geode/internal/cache/BucketRegionTest.java | 113 +
 .../string/AbstractMSetIntegrationTest.java|  10 ++
 6 files changed, 227 insertions(+), 29 deletions(-)
 copy 
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/{SerializableMonth.java
 => TestDeltaSerializableSizeableObject.java} (57%)


[geode-benchmarks] branch develop updated: GEODE-9773: Update Radish region name

2021-10-26 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/develop by this push:
 new db2a063  GEODE-9773: Update Radish region name
db2a063 is described below

commit db2a063db226bcbb8cd24f757a10cff85472bc50
Author: Jens Deppe 
AuthorDate: Tue Oct 26 12:41:39 2021 -0700

GEODE-9773: Update Radish region name
---
 .../main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
 
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
index 8210c7a..63cfaf2 100644
--- 
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
+++ 
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
@@ -28,7 +28,7 @@ import org.apache.geode.perftest.TestContext;
 
 public class InitRegion implements Task {
 
-  public static final String REDIS_DATA_REGION = "REDIS_DATA";
+  public static final String REDIS_DATA_REGION = "GEODE_FOR_REDIS";
 
   @Override
   public void run(final TestContext context) throws Exception {


[geode] branch develop updated (636bea3 -> 4398bec)

2021-10-19 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 636bea3  GEODE-9713: Support thread count in ExecutorService rules 
(#7002)
 add 4398bec  GEODE-9676: Limit array and string sizes for unauthenticated 
Radish connections (#6994)

No new revisions were added by this update.

Summary of changes:
 .../connection/AuthNativeRedisAcceptanceTest.java  |   2 +-
 .../resources/0001-configure-redis-tests.patch |  37 +-
 .../connection/AbstractAuthIntegrationTest.java| 144 +
 .../geode/redis/internal/GeodeRedisServer.java |   4 +-
 .../geode/redis/internal/RedisConstants.java   |   4 +
 .../internal/executor/connection/AuthExecutor.java |  10 +-
 .../redis/internal/netty/ByteToCommandDecoder.java |  39 +-
 .../internal/netty/ExecutionHandlerContext.java|  23 +++-
 .../redis/internal/netty/NettyRedisServer.java |   8 +-
 .../netty/RedisCommandParserException.java |   2 +-
 .../internal/services/RedisSecurityService.java|  68 ++
 .../executor/connection/AuthExecutorTest.java  |  10 +-
 .../services/RedisSecurityServiceTest.java |  91 +
 13 files changed, 371 insertions(+), 71 deletions(-)
 create mode 100644 
geode-for-redis/src/main/java/org/apache/geode/redis/internal/services/RedisSecurityService.java
 create mode 100644 
geode-for-redis/src/test/java/org/apache/geode/redis/internal/services/RedisSecurityServiceTest.java


[geode] branch develop updated (a21df0b -> 3860c2f)

2021-10-18 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from a21df0b  GEODE-9720: remove *FunctionExecutor classes (#6977)
 add 3860c2f  GEODE-9604: Use AvailablePortHelper in MSetDUnitTest (#7011)

No new revisions were added by this update.

Summary of changes:
 .../internal/executor/string/MSetDUnitTest.java| 28 --
 1 file changed, 21 insertions(+), 7 deletions(-)


[geode] branch develop updated: GEODE-9660: ConcurrentLoopingThreads should not run action in case of thread exceptions (#6993)

2021-10-14 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
 new fa82bc8  GEODE-9660: ConcurrentLoopingThreads should not run action in 
case of thread exceptions (#6993)
fa82bc8 is described below

commit fa82bc871821c78818e518b7ce84a1286e6abe28
Author: Jens Deppe 
AuthorDate: Thu Oct 14 05:36:23 2021 -0700

GEODE-9660: ConcurrentLoopingThreads should not run action in case of 
thread exceptions (#6993)
---
 .../geode/redis/ConcurrentLoopingThreads.java  |   9 +-
 .../geode/redis/ConcurrentLoopingThreadsTest.java  | 148 +
 .../key/AbstractRenameIntegrationTest.java |  15 +--
 3 files changed, 152 insertions(+), 20 deletions(-)

diff --git 
a/geode-for-redis/src/commonTest/java/org/apache/geode/redis/ConcurrentLoopingThreads.java
 
b/geode-for-redis/src/commonTest/java/org/apache/geode/redis/ConcurrentLoopingThreads.java
index b1ec0af..21a0cc1 100644
--- 
a/geode-for-redis/src/commonTest/java/org/apache/geode/redis/ConcurrentLoopingThreads.java
+++ 
b/geode-for-redis/src/commonTest/java/org/apache/geode/redis/ConcurrentLoopingThreads.java
@@ -165,12 +165,9 @@ public class ConcurrentLoopingThreads {
 waitForBarrier();
   }
   for (int i = 0; i < iterationCount && running.get(); i++) {
-try {
-  runnable.accept(i);
-} finally {
-  if (lockstep) {
-waitForBarrier();
-  }
+runnable.accept(i);
+if (lockstep) {
+  waitForBarrier();
 }
   }
 }
diff --git 
a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/ConcurrentLoopingThreadsTest.java
 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/ConcurrentLoopingThreadsTest.java
new file mode 100644
index 000..f80a92c
--- /dev/null
+++ 
b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/ConcurrentLoopingThreadsTest.java
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.redis;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.Test;
+
+public class ConcurrentLoopingThreadsTest {
+
+  @Test
+  public void withIterations_actionDoesNotRunWhenThreadsThrowExceptions() {
+AtomicBoolean actionRan = new AtomicBoolean(false);
+AtomicInteger count = new AtomicInteger(0);
+
+assertThatThrownBy(() -> new ConcurrentLoopingThreads(10,
+i -> count.incrementAndGet(),
+i -> {
+  throw new RuntimeException("BANG");
+})
+.runWithAction(() -> actionRan.set(true)))
+.isInstanceOf(RuntimeException.class);
+
+assertThat(count.get()).as("Expecting good thread to run 
once").isEqualTo(1);
+assertThat(actionRan.get()).as("action should not run").isFalse();
+  }
+
+  @Test
+  public void withSignal_actionDoesNotRunWhenThreadsThrowExceptions() {
+AtomicBoolean actionRan = new AtomicBoolean(false);
+AtomicBoolean running = new AtomicBoolean(true);
+AtomicInteger count = new AtomicInteger(0);
+
+assertThatThrownBy(() -> new ConcurrentLoopingThreads(running,
+i -> count.incrementAndGet(),
+i -> {
+  throw new RuntimeException("BANG");
+})
+.runWithAction(() -> actionRan.set(true)))
+.isInstanceOf(RuntimeException.class);
+
+assertThat(count.get()).as("Expecting good thread to run 
once").isEqualTo(1);
+assertThat(actionRan.get()).as("action should not run").isFalse();
+  }
+
+  @Test
+  public void withIterations_threadFailure_shouldStopAllOtherThreads() {
+AtomicInteger count = new AtomicInteger(0);
+
+assertThatThrownBy(() -> new ConcurrentLoopingThreads(10,
+i -> count.incrementAndGet(),
+i -> {
+  throw new Runtime

[geode] branch develop updated (4497428 -> 567460f)

2021-10-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 4497428  GEODE-9731: Fix flaky PubSubIntegrationTest (#6991)
 add 567460f  GEODE-9627: Add service provider interface to register 
DataSerializableFixedIDs (#6891)

No new revisions were added by this update.

Summary of changes:
 ...ackwardCompatibilitySerializationDUnitTest.java |  27 +-
 .../org/apache/geode/internal/DSFIDFactory.java| 876 ++---
 .../geode/internal/InternalDataSerializer.java |  13 +
 .../internal/functions/CliFunctionResult.java  |   9 +-
 .../geode/internal/offheap/DataTypeJUnitTest.java  |  14 +-
 .../geode/ClusterCommunicationsDUnitTest.java  |  48 +-
 .../key/AbstractDumpRestoreIntegrationTest.java|  23 -
 .../server/AbstractHitsMissesIntegrationTest.java  |  11 -
 .../geode/redis/internal/GeodeRedisService.java|  48 +-
 .../org.apache.geode.internal.cache.CacheService   |  15 +
 ...erialization.DataSerializableFixedIdRegistrant} |   2 +-
 .../geode/redis/internal/data/RedisHashTest.java   |  10 -
 .../redis/internal/data/RedisKeyJUnitTest.java |   9 -
 .../geode/redis/internal/data/RedisSetTest.java|  10 -
 .../redis/internal/data/RedisSortedSetTest.java|  10 -
 .../geode/redis/internal/data/RedisStringTest.java |  10 -
 .../cache/lucene/internal/LuceneServiceImpl.java   |  49 +-
 ...serialization.DataSerializableFixedIdRegistrant |   2 +-
 .../LuceneIndexCreationProfileJUnitTest.java   |   1 -
 .../internal/StringQueryProviderJUnitTest.java |   1 -
 .../internal/distributed/EntryScoreJUnitTest.java  |   2 -
 .../LuceneQueryFunctionContextJUnitTest.java   |   3 -
 .../distributed/TopEntriesCollectorJUnitTest.java  |   3 -
 .../internal/distributed/TopEntriesJUnitTest.java  |   2 -
 .../internal/filesystem/ChunkKeyJUnitTest.java |   2 -
 .../lucene/internal/filesystem/FileJUnitTest.java  |   2 -
 .../internal/results/PageResultsJUnitTest.java |   5 -
 ...lyzeMembershipSerializablesIntegrationTest.java |   7 +-
 .../membership/gms/GMSMemberDataJUnitTest.java |   1 -
 .../membership/gms/GMSMembershipJUnitTest.java |   3 +-
 .../membership/gms/MembershipIntegrationTest.java  |   1 +
 .../gms/locator/GMSLocatorIntegrationTest.java |   1 -
 .../gms/messenger/JGroupsMessengerJUnitTest.java   |   2 +-
 .../gms/MembershipLocatorBuilderImpl.java  |   1 -
 .../internal/membership/gms/Services.java  |  47 +-
 .../internal/serialization/DSFIDSerializer.java|   9 +-
 ...java => DataSerializableFixedIdRegistrant.java} |  16 +-
 java => DataSerializableFixedIdRegistrar.java} |  11 +-
 .../internal/DSFIDSerializerImpl.java  |  23 +-
 .../internal/SerializationContextImpl.java |   3 +-
 .../internal/DSFIDSerializerImplTest.java  |  44 ++
 .../internal/tcpserver/HostAndPortTest.java|   6 +-
 .../internal/client/locator/WANFactoryImpl.java|  47 +-
 ...erialization.DataSerializableFixedIdRegistrant} |   1 +
 44 files changed, 689 insertions(+), 741 deletions(-)
 copy geode-for-redis/src/{acceptanceTest/resources/testcontainers.properties 
=> 
main/resources/META-INF/services/org.apache.geode.internal.serialization.DataSerializableFixedIdRegistrant}
 (93%)
 copy geode-for-redis/src/acceptanceTest/resources/testcontainers.properties => 
geode-lucene/src/main/resources/META-INF/services/org.apache.geode.internal.serialization.DataSerializableFixedIdRegistrant
 (93%)
 copy 
geode-serialization/src/main/java/org/apache/geode/internal/serialization/{SerializationSanctionedSerializablesService.java
 => DataSerializableFixedIdRegistrant.java} (70%)
 copy 
geode-serialization/src/main/java/org/apache/geode/internal/serialization/{UnknownVersion.java
 => DataSerializableFixedIdRegistrar.java} (72%)
 create mode 100644 
geode-serialization/src/test/java/org/apache/geode/internal/serialization/internal/DSFIDSerializerImplTest.java
 copy 
geode-wan/src/main/resources/META-INF/services/{org.apache.geode.internal.cache.wan.spi.WANFactory
 => org.apache.geode.internal.serialization.DataSerializableFixedIdRegistrant} 
(99%)


[geode] branch develop updated (00f92b6 -> 4497428)

2021-10-13 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 00f92b6  GEODE-9677: After provider sends ImageReply, requester could 
finish e… (#6992)
 add 4497428  GEODE-9731: Fix flaky PubSubIntegrationTest (#6991)

No new revisions were added by this update.

Summary of changes:
 .../redis/internal/executor/pubsub/AbstractPubSubIntegrationTest.java   | 2 ++
 1 file changed, 2 insertions(+)


[geode] branch support/1.14 updated: GEODE-9672: Disable native redis multibulk test (#6941)

2021-10-06 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch support/1.14
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/1.14 by this push:
 new e868ba3  GEODE-9672: Disable native redis multibulk test (#6941)
e868ba3 is described below

commit e868ba3dc3d42bde67aaeb99c6b45440a13afbd6
Author: Jens Deppe 
AuthorDate: Wed Oct 6 08:18:44 2021 -0700

GEODE-9672: Disable native redis multibulk test (#6941)

- This is a manual packport of the original fix
---
 .../resources/0001-configure-redis-tests.patch | 97 +-
 1 file changed, 57 insertions(+), 40 deletions(-)

diff --git 
a/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
 
b/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
index e83bf1d..533a2c3 100644
--- 
a/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
+++ 
b/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch
@@ -1,22 +1,3 @@
-From 15b752b4d129d4f303d033f0e6e63871355388cc Mon Sep 17 00:00:00 2001
-From: Hale Bales 
-Date: Wed, 22 Jul 2020 16:55:20 -0400
-Subject: [PATCH] configure redis tests
-
-change redis tests for compatibility with geode redis

- tests/support/server.tcl   |   7 +-
- tests/support/test.tcl |   4 +-
- tests/test_helper.tcl  |  11 +-
- tests/unit/auth.tcl|  13 +-
- tests/unit/expire.tcl  | 104 +++---
- tests/unit/pubsub.tcl  | 336 +++--
- tests/unit/quit.tcl|   5 +-
- tests/unit/type/hash.tcl   |  52 +++
- tests/unit/type/set.tcl|   8 +-
- tests/unit/type/string.tcl |  42 +++---
- 10 files changed, 294 insertions(+), 288 deletions(-)
-
 diff --git a/tests/support/server.tcl b/tests/support/server.tcl
 index 5578f1fd6..55c0a5253 100644
 --- a/tests/support/server.tcl
@@ -93,7 +74,7 @@ index 8978631e0..33c10eb15 100644
  } elseif {$opt eq {--port}} {
  set ::port $arg
 diff --git a/tests/unit/auth.tcl b/tests/unit/auth.tcl
-index 633cda95c..03857205d 100644
+index f5da728e8..c8b40385f 100644
 --- a/tests/unit/auth.tcl
 +++ b/tests/unit/auth.tcl
 @@ -1,9 +1,10 @@
@@ -113,8 +94,43 @@ index 633cda95c..03857205d 100644
  
  start_server {tags {"auth"} overrides {requirepass foobar}} {
  test {AUTH fails when a wrong password is given} {
+@@ -25,19 +26,19 @@ start_server {tags {"auth"} overrides {requirepass 
foobar}} {
+ r incr foo
+ } {101}
+ 
+-test {For unauthenticated clients multibulk and bulk length are limited} {
+-set rr [redis [srv "host"] [srv "port"] 0]
+-$rr write "*100\r\n"
+-$rr flush
+-catch {[$rr read]} e
+-assert_match {*unauthenticated multibulk length*} $e
+-$rr close
+-
+-set rr [redis [srv "host"] [srv "port"] 0]
+-$rr write "*1\r\n\$1\r\n"
+-$rr flush
+-catch {[$rr read]} e
+-assert_match {*unauthenticated bulk length*} $e
+-$rr close
+-}
++#test {For unauthenticated clients multibulk and bulk length are limited} 
{
++#set rr [redis [srv "host"] [srv "port"] 0]
++#$rr write "*100\r\n"
++#$rr flush
++#catch {[$rr read]} e
++#assert_match {*unauthenticated multibulk length*} $e
++#$rr close
++#
++#set rr [redis [srv "host"] [srv "port"] 0]
++#$rr write "*1\r\n\$1\r\n"
++#$rr flush
++#catch {[$rr read]} e
++#assert_match {*unauthenticated bulk length*} $e
++#$rr close
++#}
+ }
 diff --git a/tests/unit/expire.tcl b/tests/unit/expire.tcl
-index de24eabed..aeeb1da7f 100644
+index de24eabed..6b37389de 100644
 --- a/tests/unit/expire.tcl
 +++ b/tests/unit/expire.tcl
 @@ -7,7 +7,7 @@ start_server {tags {"expire"}} {
@@ -162,7 +178,10 @@ index de24eabed..aeeb1da7f 100644
  
  test {PERSIST returns 0 against non existing or non volatile keys} {
  r set x foo
-@@ -149,44 +149,44 @@ start_server {tags {"expire"}} {
+@@ -146,47 +146,47 @@ start_server {tags {"expire"}} {
+ list [r ttl x] [r pttl x]
+ } {-2 -2}
+ 
 -test {Redis should actively expire keys incrementally} {
 -r flushdb
 -r psetex key1 500 a
@@ -176,20 +195,7 @@ index de24eabed..aeeb1da7f 100644
 -set size2 [r dbsize]
 -list $size1 $size2
 -} {3 0}
-+#test {Redis should actively expire keys incrementally} {
-+#r flushdb
-+#r psetex key1 500 a
-+#r psetex key2 500 a
-+#r psetex key3 500 a
-+#set size1 [r dbsize]
-+## Redis expires random keys ten times eve

[geode] branch develop updated (d5995b5 -> 3f3dfdb)

2021-10-06 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from d5995b5  GEODE-9662: increase acceptance test timeout (#6940)
 add 3f3dfdb  GEODE-9623: Radish COMMAND command should return simple 
strings (#6937)

No new revisions were added by this update.

Summary of changes:
 .../proxy/ClusterNodesResponseProcessor.java   |  2 +-
 .../redis/internal/executor/AbstractExecutor.java  |  2 +-
 .../redis/internal/executor/RedisResponse.java |  8 ++--
 .../internal/executor/cluster/ClusterExecutor.java |  2 +-
 .../internal/executor/connection/PingExecutor.java |  2 +-
 .../internal/executor/hash/HGetAllExecutor.java|  2 +-
 .../internal/executor/hash/HKeysExecutor.java  |  2 +-
 .../internal/executor/hash/HMGetExecutor.java  |  2 +-
 .../internal/executor/hash/HValsExecutor.java  |  2 +-
 .../internal/executor/pubsub/PubSubExecutor.java   |  4 +-
 .../internal/executor/server/CommandExecutor.java  |  2 +-
 .../internal/executor/set/SMembersExecutor.java|  2 +-
 .../redis/internal/executor/set/SPopExecutor.java  |  2 +-
 .../internal/executor/set/SRandMemberExecutor.java |  2 +-
 .../executor/sortedset/AbstractZPopExecutor.java   |  2 +-
 .../executor/sortedset/ZRangeByLexExecutor.java|  2 +-
 .../executor/sortedset/ZRangeByScoreExecutor.java  |  2 +-
 .../executor/sortedset/ZRangeExecutor.java |  2 +-
 .../executor/sortedset/ZRevRangeByLexExecutor.java |  2 +-
 .../sortedset/ZRevRangeByScoreExecutor.java|  2 +-
 .../executor/sortedset/ZRevRangeExecutor.java  |  2 +-
 .../apache/geode/redis/internal/netty/Coder.java   | 47 --
 22 files changed, 51 insertions(+), 46 deletions(-)


[geode] branch develop updated (3448e82 -> 4e85e29)

2021-10-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 3448e82  GEODE-9623: Unsupported commands should not be returned by 
COMMAND when not enabled (#6933)
 add 4e85e29  GEODE-9587: Support MSETNX command (#6925)

No new revisions were added by this update.

Summary of changes:
 geode-apis-compatible-with-redis/README.md |   4 +-
 .../internal/executor/string/MSetDUnitTest.java|   7 +-
 .../{MSetDUnitTest.java => MSetNXDUnitTest.java}   |  44 +++-
 .../string/AbstractMSetNXIntegrationTest.java  | 122 +
 .../geode/redis/internal/RedisCommandType.java |   6 +-
 .../data/RedisStringCommandsFunctionExecutor.java  |  14 ++-
 .../executor/key/AbstractRenameExecutor.java   |   2 +-
 ...MSetExecutor.java => AbstractMSetExecutor.java} |  20 +++-
 .../internal/executor/string/MSetExecutor.java |  42 ++-
 .../internal/executor/string/MSetNXExecutor.java   |  46 +++-
 .../executor/string/RedisStringCommands.java   |   2 +-
 11 files changed, 180 insertions(+), 129 deletions(-)
 copy 
geode-apis-compatible-with-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/{MSetDUnitTest.java
 => MSetNXDUnitTest.java} (78%)
 copy 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/string/{MSetExecutor.java
 => AbstractMSetExecutor.java} (75%)
 mode change 100755 => 100644


[geode] branch develop updated (b73065f -> 3448e82)

2021-10-05 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from b73065f  GEODE-9672: Disable native redis multibulk test (#6934)
 add 3448e82  GEODE-9623: Unsupported commands should not be returned by 
COMMAND when not enabled (#6933)

No new revisions were added by this update.

Summary of changes:
 .../executor/server/CommandIntegrationTest.java| 23 ++
 .../internal/executor/server/CommandExecutor.java  |  5 -
 2 files changed, 27 insertions(+), 1 deletion(-)


[geode] branch develop updated (ab651eb -> 3c70fee)

2021-09-30 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from ab651eb  GEODE-9625: Only serialize transaction metadata when grouping 
enabled. (#6892)
 add 3c70fee  GEODE-8840: Support RENAMENX command (#6877)

No new revisions were added by this update.

Summary of changes:
 geode-apis-compatible-with-redis/README.md |   3 +-
 ...java => RenameNXNativeRedisAcceptanceTest.java} |   3 +-
 .../key/AbstractRenameIntegrationTest.java | 209 +++---
 ...t.java => AbstractRenameNXIntegrationTest.java} | 234 +
 ...ationTest.java => RenameNXIntegrationTest.java} |   2 +-
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   2 +-
 .../geode/redis/internal/RedisCommandType.java |   3 +
 .../geode/redis/internal/RedisConstants.java   |   2 +-
 .../redis/internal/data/AbstractRedisData.java |  20 +-
 .../geode/redis/internal/data/NullRedisData.java   |   3 +-
 .../geode/redis/internal/data/RedisData.java   |   3 +-
 .../data/RedisKeyCommandsFunctionExecutor.java |   4 +-
 ...Exception.java => RedisKeyExistsException.java} |   6 +-
 ...meExecutor.java => AbstractRenameExecutor.java} |  31 ++-
 .../internal/executor/key/RedisKeyCommands.java|   2 +-
 .../internal/executor/key/RenameExecutor.java  |  47 ++---
 .../{TypeExecutor.java => RenameNXExecutor.java}   |  28 ++-
 .../internal/executor/key/RestoreExecutor.java |   8 +-
 18 files changed, 379 insertions(+), 231 deletions(-)
 copy 
geode-apis-compatible-with-redis/src/acceptanceTest/java/org/apache/geode/redis/internal/executor/key/{DelNativeRedisAcceptanceTest.java
 => RenameNXNativeRedisAcceptanceTest.java} (93%)
 mode change 100644 => 100755
 copy 
geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/key/{AbstractRenameIntegrationTest.java
 => AbstractRenameNXIntegrationTest.java} (57%)
 copy 
geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/key/{ExpireAtIntegrationTest.java
 => RenameNXIntegrationTest.java} (94%)
 rename 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/data/{RedisRestoreKeyExistsException.java
 => RedisKeyExistsException.java} (86%)
 copy 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/key/{RenameExecutor.java
 => AbstractRenameExecutor.java} (68%)
 copy 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/key/{TypeExecutor.java
 => RenameNXExecutor.java} (63%)
 mode change 100755 => 100644


[geode] branch develop updated (28321af -> 5b78326)

2021-09-29 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 28321af  GEODE-9516: add ZINTERSTORE command (#6861)
 add 5b78326  GEODE-9623: Add Radish COMMAND command (#6907)

No new revisions were added by this update.

Summary of changes:
 geode-apis-compatible-with-redis/build.gradle  |   1 +
 .../java/org/apache/geode/NativeRedisTestRule.java |   9 +-
 .../executor/server/CommandIntegrationTest.java| 129 +++
 .../apache/geode/codeAnalysis/excludedClasses.txt  |   2 +
 .../geode/redis/internal/RedisCommandType.java | 370 +
 ...{FlushAllExecutor.java => CommandExecutor.java} |  38 ++-
 .../redis/internal/executor/set/SPopExecutor.java  |   7 +-
 .../parameters/ClusterParameterRequirements.java   |  29 +-
 .../parameters/EvenParameterRequirements.java  |  51 ---
 .../parameters/ExactParameterRequirements.java |  34 --
 .../parameters/MaximumParameterRequirements.java   |  49 ---
 .../parameters/MinimumParameterRequirements.java   |  35 --
 .../parameters/MultipleParameterRequirements.java  |  36 --
 .../parameters/OddParameterRequirements.java   |  50 ---
 .../geode/redis/internal/parameters/Parameter.java | 163 +
 .../internal/parameters/ParameterRequirements.java |  27 --
 .../parameters/SlowlogParameterRequirements.java   |  37 ++-
 .../parameters/SpopParameterRequirements.java  |  35 --
 .../UnspecifiedParameterRequirements.java  |  27 --
 ...de-apis-compatible-with-redis-serializables.txt |   1 -
 20 files changed, 597 insertions(+), 533 deletions(-)
 create mode 100644 
geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/server/CommandIntegrationTest.java
 copy 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/server/{FlushAllExecutor.java
 => CommandExecutor.java} (58%)
 mode change 100755 => 100644
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/EvenParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/ExactParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/MaximumParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/MinimumParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/MultipleParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/OddParameterRequirements.java
 create mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/Parameter.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/ParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/SpopParameterRequirements.java
 delete mode 100644 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/parameters/UnspecifiedParameterRequirements.java


[geode] branch develop updated (1d6eef3 -> db60e0e)

2021-09-24 Thread jensdeppe
This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


from 1d6eef3  GEODE-4181: Migrate uses of JUnitParamsRunner (#6890)
 add db60e0e  GEODE-8192: Make Radish MSET command atomic (#6862)

No new revisions were added by this update.

Summary of changes:
 .../resources/0001-configure-redis-tests.patch |  27 ++-
 .../geode/redis/ConcurrentLoopingThreads.java  |  37 -
 .../test/dunit/rules/RedisClusterStartupRule.java  |  64 ---
 .../internal/executor/key/RenameDUnitTest.java |   4 +-
 .../internal/executor/string/MSetDUnitTest.java| 184 +
 .../common/UnsupportedCommandsIntegrationTest.java |  13 +-
 .../key/AbstractRenameIntegrationTest.java |   8 +-
 .../server/AbstractHitsMissesIntegrationTest.java  |   3 +-
 .../string/AbstractMSetIntegrationTest.java| 137 ++-
 .../LockingStripedCoordinatorIntegrationTest.java  |  65 
 .../geode/redis/internal/GeodeRedisServer.java |   4 +-
 .../geode/redis/internal/RedisCommandType.java |   4 +-
 .../geode/redis/internal/RegionProvider.java   |  51 +-
 .../data/RedisDataCommandsFunctionExecutor.java|  13 +-
 .../data/RedisKeyCommandsFunctionExecutor.java |   8 +-
 .../RedisSortedSetCommandsFunctionExecutor.java|   2 -
 .../data/RedisStringCommandsFunctionExecutor.java  |  23 ++-
 .../internal/executor/string/MSetExecutor.java |  32 ++--
 .../executor/string/RedisStringCommands.java   |   2 +
 ...dinator.java => LockingStripedCoordinator.java} |  65 
 .../LockingStripedCoordinatorTest.java}|  26 ++-
 21 files changed, 574 insertions(+), 198 deletions(-)
 create mode 100644 
geode-apis-compatible-with-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/MSetDUnitTest.java
 create mode 100644 
geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/services/LockingStripedCoordinatorIntegrationTest.java
 rename 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/services/{SynchronizedStripedCoordinator.java
 => LockingStripedCoordinator.java} (52%)
 rename 
geode-apis-compatible-with-redis/src/test/java/org/apache/geode/redis/internal/{executor/SynchronizedStripedCoordinatorTest.java
 => services/LockingStripedCoordinatorTest.java} (71%)


  1   2   3   4   5   6   7   8   9   10   >