From b3a0deebf817971c8e1d06379a56397104eb8c9e Mon Sep 17 00:00:00 2001 From: Jennifer Hickey Date: Mon, 1 Apr 2013 10:07:32 -0700 Subject: [PATCH] Fix Jedis dbSize and flush ops executing synchronously while in pipeline or tx DATAREDIS-141 --- .../data/redis/connection/jedis/JedisConnection.java | 6 ++++++ .../jedis/JedisConnectionPipelineIntegrationTests.java | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java index 0d342efe8..f0f81f7d1 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java @@ -349,9 +349,11 @@ public class JedisConnection implements RedisConnection { try { if (isQueueing()) { transaction.dbSize(); + return null; } if (isPipelined()) { pipeline.dbSize(); + return null; } return jedis.dbSize(); } catch (Exception ex) { @@ -365,9 +367,11 @@ public class JedisConnection implements RedisConnection { try { if (isQueueing()) { transaction.flushDB(); + return; } if (isPipelined()) { pipeline.flushDB(); + return; } jedis.flushDB(); } catch (Exception ex) { @@ -380,9 +384,11 @@ public class JedisConnection implements RedisConnection { try { if (isQueueing()) { transaction.flushAll(); + return; } if (isPipelined()) { pipeline.flushAll(); + return; } jedis.flushAll(); } catch (Exception ex) { diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java index f5bb4dcd2..fec646f17 100644 --- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java @@ -68,14 +68,6 @@ public class JedisConnectionPipelineIntegrationTests extends connection = null; } - @Ignore("DATAREDIS-141 Jedis dbSize/flush ops execute synchronously while pipelining") - public void testDbSize() { - } - - @Ignore("DATAREDIS-141 Jedis dbSize/flush ops execute synchronously while pipelining") - public void testFlushDb() { - } - @Ignore("DATAREDIS-143 Jedis ClassCastExceptions closing pipeline on certain ops") public void testGetConfig() { }