diff --git a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java index eb336bd..8b5732c 100644 --- a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java +++ b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java @@ -438,6 +438,25 @@ public class PipeliningTest extends Assert { assertTrue(result.get(3) instanceof JedisDataException); } + + @Test + public void testSyncWithNoCommandQueued() { + // we need to test with fresh instance of Jedis + Jedis jedis2 = new Jedis(hnp.getHost(), hnp.getPort(), 500); + + Pipeline pipeline = jedis2.pipelined(); + pipeline.sync(); + + jedis2.close(); + + jedis2 = new Jedis(hnp.getHost(), hnp.getPort(), 500); + + pipeline = jedis2.pipelined(); + List resp = pipeline.syncAndReturnAll(); + assertTrue(resp.isEmpty()); + + jedis2.close(); + } private void verifyHasBothValues(String firstKey, String secondKey, String value1, String value2) { assertFalse(firstKey.equals(secondKey)); diff --git a/src/test/java/redis/clients/jedis/tests/ShardedJedisPipelineTest.java b/src/test/java/redis/clients/jedis/tests/ShardedJedisPipelineTest.java index bf9b2bd..a6dfaab 100644 --- a/src/test/java/redis/clients/jedis/tests/ShardedJedisPipelineTest.java +++ b/src/test/java/redis/clients/jedis/tests/ShardedJedisPipelineTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import java.io.UnsupportedEncodingException; import java.util.ArrayList; @@ -18,6 +19,7 @@ import org.junit.Test; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisShardInfo; +import redis.clients.jedis.Pipeline; import redis.clients.jedis.Response; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPipeline; @@ -130,4 +132,32 @@ public class ShardedJedisPipelineTest { p.sync(); assertNull(shouldNotExist.get()); } + + @Test + public void testSyncWithNoCommandQueued() { + JedisShardInfo shardInfo1 = new JedisShardInfo(redis1.getHost(), + redis1.getPort()); + JedisShardInfo shardInfo2 = new JedisShardInfo(redis2.getHost(), + redis2.getPort()); + shardInfo1.setPassword("foobared"); + shardInfo2.setPassword("foobared"); + List shards = new ArrayList(); + shards.add(shardInfo1); + shards.add(shardInfo2); + + ShardedJedis jedis2 = new ShardedJedis(shards); + + ShardedJedisPipeline pipeline = jedis2.pipelined(); + pipeline.sync(); + + jedis2.close(); + + jedis2 = new ShardedJedis(shards); + pipeline = jedis2.pipelined(); + List resp = pipeline.syncAndReturnAll(); + assertTrue(resp.isEmpty()); + + jedis2.close(); + } + }