You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2021/03/16 18:54:40 UTC

[geode] 07/36: Add READONLY command for go radix client suport

This is an automated email from the ASF dual-hosted git repository.

upthewaterspout pushed a commit to branch feature/redis-performance-testing
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 8481a3474581c4adecc2ba90aaf2b83a51b27901
Author: Jens Deppe <jd...@pivotal.io>
AuthorDate: Fri Feb 19 20:01:50 2021 -0800

    Add READONLY command for go radix client suport
---
 .../geode/redis/internal/RedisCommandType.java     |  3 ++-
 .../internal/executor/server/CommandExecutor.java  | 10 +++-----
 ...{CommandExecutor.java => ReadonlyExecutor.java} | 29 ++--------------------
 3 files changed, 7 insertions(+), 35 deletions(-)

diff --git a/geode-redis/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java b/geode-redis/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
index 3e86e94..fd2429d 100755
--- a/geode-redis/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
+++ b/geode-redis/src/main/java/org/apache/geode/redis/internal/RedisCommandType.java
@@ -76,6 +76,7 @@ import org.apache.geode.redis.internal.executor.server.CommandExecutor;
 import org.apache.geode.redis.internal.executor.server.DBSizeExecutor;
 import org.apache.geode.redis.internal.executor.server.FlushAllExecutor;
 import org.apache.geode.redis.internal.executor.server.InfoExecutor;
+import org.apache.geode.redis.internal.executor.server.ReadonlyExecutor;
 import org.apache.geode.redis.internal.executor.server.ShutDownExecutor;
 import org.apache.geode.redis.internal.executor.server.SlowlogExecutor;
 import org.apache.geode.redis.internal.executor.server.TimeExecutor;
@@ -281,6 +282,7 @@ public enum RedisCommandType {
 
   /*********** CLUSTER **********/
   CLUSTER(new ClusterExecutor(), UNSUPPORTED, new MinimumParameterRequirements(1)),
+  READONLY(new ReadonlyExecutor(), UNSUPPORTED, new MinimumParameterRequirements(1)),
 
   /////////// UNIMPLEMENTED /////////////////////
 
@@ -333,7 +335,6 @@ public enum RedisCommandType {
   PSYNC(null, UNIMPLEMENTED),
   PUBSUB(null, UNIMPLEMENTED),
   RANDOMKEY(null, UNIMPLEMENTED),
-  READONLY(null, UNIMPLEMENTED),
   READWRITE(null, UNIMPLEMENTED),
   RENAMENX(null, UNIMPLEMENTED),
   RESTORE(null, UNIMPLEMENTED),
diff --git a/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java b/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java
index 452ccc6..c0c8e06 100644
--- a/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java
+++ b/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java
@@ -32,21 +32,17 @@ public class CommandExecutor extends AbstractExecutor {
             "flushall",
             -1,
             Arrays.asList("write"),
-            0, 0, 0
-        ),
+            0, 0, 0),
         Arrays.asList(
             "get",
             2,
             Arrays.asList("readonly"),
-            1, 1, 1
-        ),
+            1, 1, 1),
         Arrays.asList(
             "set",
             -3,
             Arrays.asList("write"),
-            1, 1, 1
-        )
-    );
+            1, 1, 1));
 
     return RedisResponse.array(response);
   }
diff --git a/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java b/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/ReadonlyExecutor.java
similarity index 67%
copy from geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java
copy to geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/ReadonlyExecutor.java
index 452ccc6..aa3ae86 100644
--- a/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/CommandExecutor.java
+++ b/geode-redis/src/main/java/org/apache/geode/redis/internal/executor/server/ReadonlyExecutor.java
@@ -15,39 +15,14 @@
 
 package org.apache.geode.redis.internal.executor.server;
 
-import java.util.Arrays;
-import java.util.List;
-
 import org.apache.geode.redis.internal.executor.AbstractExecutor;
 import org.apache.geode.redis.internal.executor.RedisResponse;
 import org.apache.geode.redis.internal.netty.Command;
 import org.apache.geode.redis.internal.netty.ExecutionHandlerContext;
 
-public class CommandExecutor extends AbstractExecutor {
+public class ReadonlyExecutor extends AbstractExecutor {
   @Override
   public RedisResponse executeCommand(Command command, ExecutionHandlerContext context) {
-
-    List<Object> response = Arrays.asList(
-        Arrays.asList(
-            "flushall",
-            -1,
-            Arrays.asList("write"),
-            0, 0, 0
-        ),
-        Arrays.asList(
-            "get",
-            2,
-            Arrays.asList("readonly"),
-            1, 1, 1
-        ),
-        Arrays.asList(
-            "set",
-            -3,
-            Arrays.asList("write"),
-            1, 1, 1
-        )
-    );
-
-    return RedisResponse.array(response);
+    return RedisResponse.ok();
   }
 }