Expected behavior
BZPOPMIN & BZPOPMAX should return null when the key doesn't exist
Actual behavior
Throws an NPE when the key does not exist
StackTrace
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.List.isEmpty()" because "l" is null
at redis.clients.jedis.BuilderFactory$36.build(BuilderFactory.java:599)
at redis.clients.jedis.BuilderFactory$36.build(BuilderFactory.java:594)
at redis.clients.jedis.Connection.executeCommand(Connection.java:141)
at redis.clients.jedis.Jedis.bzpopmin(Jedis.java:7144)
at com.yext.dataingestion.source.scripts.JedisScriptTesting.test(JedisScriptTesting.java:154)
at com.yext.dataingestion.source.scripts.JedisScriptTesting.main(JedisScriptTesting.java:137)
Steps to reproduce:
void test() {
var pool = new JedisSentinelPool("<master>", sentinels, poolConfig, Protocol.DEFAULT_TIMEOUT);
var jedis = pool.getResource();
var r = jedis.bzpopmin(0.2, "test"); // throws NPE
}
Redis / Jedis Configuration
Jedis version:
Jedis 5.1.4
Redis version:
7.0.12
Java version:
Java -17
Expected behavior
BZPOPMIN & BZPOPMAX should return null when the key doesn't exist
Actual behavior
Throws an NPE when the key does not exist
StackTrace
Steps to reproduce:
Redis / Jedis Configuration
Jedis version:
Jedis 5.1.4
Redis version:
7.0.12
Java version:
Java -17