From 5dbbd9803a6f2d6fb2192702b8a356757372af28 Mon Sep 17 00:00:00 2001 From: sazzad16 Date: Mon, 22 Jul 2019 11:36:20 +0600 Subject: [PATCH 1/4] Remove WATCH from Transaction Redis doesn't support WATCH within MULTI --- .../clients/jedis/MultiKeyPipelineBase.java | 18 ------------------ .../java/redis/clients/jedis/Pipeline.java | 15 +++++++++++++++ .../java/redis/clients/jedis/Transaction.java | 5 +++++ .../commands/MultiKeyBinaryRedisPipeline.java | 4 ---- .../commands/MultiKeyCommandsPipeline.java | 4 ---- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index c0bc5bc12b..64d8fe1177 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -295,24 +295,6 @@ public Response sunionstore(byte[] dstkey, byte[]... keys) { return getResponse(BuilderFactory.LONG); } - @Override - public Response watch(String... keys) { - client.watch(keys); - return getResponse(BuilderFactory.STRING); - } - - @Override - public Response watch(byte[]... keys) { - client.watch(keys); - return getResponse(BuilderFactory.STRING); - } - - @Override - public Response unwatch() { - client.unwatch(); - return getResponse(BuilderFactory.STRING); - } - @Override public Response zinterstore(String dstkey, String... sets) { client.zinterstore(dstkey, sets); diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index 2c347a967d..cef375af1e 100644 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -157,4 +157,19 @@ public void close() { clear(); } + public Response watch(String... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + + public Response watch(byte[]... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + + public Response unwatch() { + client.unwatch(); + return getResponse(BuilderFactory.STRING); + } + } diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index 726c9357d2..b786bd78b3 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -91,4 +91,9 @@ public void setClient(Client client) { public void close() { clear(); } + + public Response unwatch() { + client.unwatch(); + return getResponse(BuilderFactory.STRING); + } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java index 981e8d27f1..efe835e6fb 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java @@ -56,10 +56,6 @@ public interface MultiKeyBinaryRedisPipeline { Response sunionstore(byte[] dstkey, byte[]... keys); - Response watch(byte[]... keys); - - Response unwatch(); - Response zinterstore(byte[] dstkey, byte[]... sets); Response zinterstore(byte[] dstkey, ZParams params, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java index b2f22d35f1..704b1093c4 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java @@ -55,10 +55,6 @@ public interface MultiKeyCommandsPipeline { Response sunionstore(String dstkey, String... keys); - Response watch(String... keys); - - Response unwatch(); - Response zinterstore(String dstkey, String... sets); Response zinterstore(String dstkey, ZParams params, String... sets); From 034716f66a92e34f80a987c9c8af356c40c69e31 Mon Sep 17 00:00:00 2001 From: sazzad16 Date: Mon, 28 Oct 2019 18:36:05 +0600 Subject: [PATCH 2/4] Add UNWATCH in pipeline interfaces --- src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java | 6 ++++++ src/main/java/redis/clients/jedis/Pipeline.java | 5 ----- src/main/java/redis/clients/jedis/Transaction.java | 5 ----- .../clients/jedis/commands/MultiKeyBinaryRedisPipeline.java | 2 ++ .../clients/jedis/commands/MultiKeyCommandsPipeline.java | 2 ++ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index 64d8fe1177..3a1b5c968e 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -295,6 +295,12 @@ public Response sunionstore(byte[] dstkey, byte[]... keys) { return getResponse(BuilderFactory.LONG); } + @Override + public Response unwatch() { + client.unwatch(); + return getResponse(BuilderFactory.STRING); + } + @Override public Response zinterstore(String dstkey, String... sets) { client.zinterstore(dstkey, sets); diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index cef375af1e..b38a7c1943 100644 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -167,9 +167,4 @@ public Response watch(byte[]... keys) { return getResponse(BuilderFactory.STRING); } - public Response unwatch() { - client.unwatch(); - return getResponse(BuilderFactory.STRING); - } - } diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index b786bd78b3..726c9357d2 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -91,9 +91,4 @@ public void setClient(Client client) { public void close() { clear(); } - - public Response unwatch() { - client.unwatch(); - return getResponse(BuilderFactory.STRING); - } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java index efe835e6fb..6daf32830b 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java @@ -56,6 +56,8 @@ public interface MultiKeyBinaryRedisPipeline { Response sunionstore(byte[] dstkey, byte[]... keys); + Response unwatch(); + Response zinterstore(byte[] dstkey, byte[]... sets); Response zinterstore(byte[] dstkey, ZParams params, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java index 704b1093c4..6f1733f889 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java @@ -55,6 +55,8 @@ public interface MultiKeyCommandsPipeline { Response sunionstore(String dstkey, String... keys); + Response unwatch(); + Response zinterstore(String dstkey, String... sets); Response zinterstore(String dstkey, ZParams params, String... sets); From 6d5d6782480104025af10ab083cc3978d6db8879 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Sat, 30 Jan 2021 20:45:59 +0600 Subject: [PATCH 3/4] Disable WATCH within Transaction --- .../clients/jedis/MultiKeyPipelineBase.java | 12 +++++++++ .../java/redis/clients/jedis/Pipeline.java | 10 ------- .../java/redis/clients/jedis/Transaction.java | 26 ++++++++++++++++++- .../commands/MultiKeyBinaryRedisPipeline.java | 2 ++ .../commands/MultiKeyCommandsPipeline.java | 2 ++ 5 files changed, 41 insertions(+), 11 deletions(-) diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index 7453b7f381..5831ea305d 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -297,6 +297,18 @@ public Response sunionstore(byte[] dstkey, byte[]... keys) { return getResponse(BuilderFactory.LONG); } + @Override + public Response watch(String... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + + @Override + public Response watch(byte[]... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + @Override public Response unwatch() { client.unwatch(); diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index 4fbc6b6e06..37712790d5 100644 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -157,14 +157,4 @@ public void close() { clear(); } - public Response watch(String... keys) { - client.watch(keys); - return getResponse(BuilderFactory.STRING); - } - - public Response watch(byte[]... keys) { - client.watch(keys); - return getResponse(BuilderFactory.STRING); - } - } diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index 8730d85861..89a2ed874f 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -91,4 +91,28 @@ public void setClient(Client client) { public void close() { clear(); } -} \ No newline at end of file + + /** + * @param keys + * @return + * @throws UnsupportedOperationException + * @deprecated WATCH inside MULTI is not allowed + */ + @Override + @Deprecated + public Response watch(String... keys) throws UnsupportedOperationException { + throw new UnsupportedOperationException("WATCH inside MULTI is not allowed"); + } + + /** + * @param keys + * @return + * @throws UnsupportedOperationException + * @deprecated WATCH inside MULTI is not allowed + */ + @Override + @Deprecated + public Response watch(byte[]... keys) throws UnsupportedOperationException { + throw new UnsupportedOperationException("WATCH inside MULTI is not allowed"); + } +} diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java index c2ca49dc78..671d9a0421 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java @@ -59,6 +59,8 @@ public interface MultiKeyBinaryRedisPipeline { Response sunionstore(byte[] dstkey, byte[]... keys); + Response watch(byte[]... keys); + Response unwatch(); Response zinterstore(byte[] dstkey, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java index f98a9370a7..67bd2f847e 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java @@ -58,6 +58,8 @@ public interface MultiKeyCommandsPipeline { Response sunionstore(String dstkey, String... keys); + Response watch(String... keys); + Response unwatch(); Response zinterstore(String dstkey, String... sets); From ed0a921c0f4ca57252c56ff8048dab100b853658 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Sat, 30 Jan 2021 21:01:20 +0600 Subject: [PATCH 4/4] message variable --- src/main/java/redis/clients/jedis/Transaction.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index 89a2ed874f..de2800e9f2 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -92,27 +92,29 @@ public void close() { clear(); } + private static final String WATCH_INSIDE_MULTI_MESSAGE = "WATCH inside MULTI is not allowed"; + /** * @param keys * @return * @throws UnsupportedOperationException - * @deprecated WATCH inside MULTI is not allowed + * @deprecated {@value #WATCH_INSIDE_MULTI_MESSAGE} */ @Override @Deprecated public Response watch(String... keys) throws UnsupportedOperationException { - throw new UnsupportedOperationException("WATCH inside MULTI is not allowed"); + throw new UnsupportedOperationException(WATCH_INSIDE_MULTI_MESSAGE); } /** * @param keys * @return * @throws UnsupportedOperationException - * @deprecated WATCH inside MULTI is not allowed + * @deprecated {@value #WATCH_INSIDE_MULTI_MESSAGE} */ @Override @Deprecated public Response watch(byte[]... keys) throws UnsupportedOperationException { - throw new UnsupportedOperationException("WATCH inside MULTI is not allowed"); + throw new UnsupportedOperationException(WATCH_INSIDE_MULTI_MESSAGE); } }