diff --git a/src/main/java/redis/clients/jedis/Connection.java b/src/main/java/redis/clients/jedis/Connection.java index 7a5323c..a10f8c3 100644 --- a/src/main/java/redis/clients/jedis/Connection.java +++ b/src/main/java/redis/clients/jedis/Connection.java @@ -140,7 +140,12 @@ public class Connection { protected String getStatusCodeReply() { pipelinedCommands--; - return (String) protocol.read(inputStream); + final byte[] resp = (byte[]) protocol.read(inputStream); + if (null == resp) { + return null; + } else { + return new String(resp, Protocol.UTF8); + } } public String getBulkReply() { @@ -169,7 +174,11 @@ public class Connection { } final ArrayList result = new ArrayList(bresult.size()); for(final byte[] barray : bresult) { - result.add(new String(barray, Protocol.UTF8)); + if( barray == null) { + result.add(null); + } else { + result.add(new String(barray, Protocol.UTF8)); + } } return result; } diff --git a/src/main/java/redis/clients/jedis/Protocol.java b/src/main/java/redis/clients/jedis/Protocol.java index c8ed6fc..a6a89e4 100644 --- a/src/main/java/redis/clients/jedis/Protocol.java +++ b/src/main/java/redis/clients/jedis/Protocol.java @@ -97,8 +97,8 @@ public final class Protocol { return null; } - private String processStatusCodeReply(final RedisInputStream is) { - return is.readLine(); + private byte[] processStatusCodeReply(final RedisInputStream is) { + return is.readLine().getBytes(UTF8); } private byte[] processBulkReply(final RedisInputStream is) { diff --git a/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java index 0bc4020..68be673 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ControlCommandsTest.java @@ -21,8 +21,9 @@ public class ControlCommandsTest extends JedisCommandTestBase { String status = jedis.bgsave(); assertEquals("Background saving started", status); } catch (JedisException e) { - assertEquals("ERR Background save already in progress", e - .getMessage()); + assertTrue( + "ERR Background save already in progress" + .equalsIgnoreCase(e.getMessage())); } }