Merge pull request #549 from HeartSaVioR/make_multi_in_pipeline_and_sync_work_smoothly

Fix multi in Pipeline and sync() - JedisDataException (fixes #547)
This commit is contained in:
Jonathan Leibiusky
2014-03-12 10:41:51 -04:00
3 changed files with 54 additions and 8 deletions

View File

@@ -251,6 +251,27 @@ public class PipeliningTest extends Assert {
}
@Test
public void multiWithSync() {
jedis.set("foo", "314");
jedis.set("bar", "foo");
jedis.set("hello", "world");
Pipeline p = jedis.pipelined();
Response<String> r1 = p.get("bar");
p.multi();
Response<String> r2 = p.get("foo");
p.exec();
Response<String> r3 = p.get("hello");
p.sync();
// before multi
assertEquals("foo", r1.get());
// It should be readable whether exec's response was built or not
assertEquals("314", r2.get());
// after multi
assertEquals("world", r3.get());
}
@Test
public void testDiscardInPipeline() {
Pipeline pipeline = jedis.pipelined();