[redisson]使用pipeline时抛出UnsupportedOperationException异常

2024-07-18 446 views
9

调用代码: List resultList = redisTemplate.executePipelined((RedisCallback)connection -> { for (Long id: idList) { connection.get(key.getBytes()); } return null; }, redisTemplate.getValueSerializer()); Expected behavior

Actual behavior Caused by: java.lang.UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:161) at org.redisson.spring.data.connection.RedissonConnection.filterResults(RedissonConnection.java:1534) at org.redisson.spring.data.connection.RedissonConnection.closePipeline(RedissonConnection.java:162) Steps to reproduce or test case

Redis version 5.0 Redisson version 3.13.1 Redisson configuration

回答

5

已修复!感谢报告

1

3.13.4 中修复了吗?

9

如果 (result.getResponses().isEmpty()) { 返回; }

在我的例子中,result.getResponses()不为空,并且 抛出了 UnsupportedOperationException AbstractList#remove()。你确定这个 BUG 已经修复了吗?

7

是的,因为仅对空集合才会抛出 UnsupportedOperationException。

2

好的,谢谢。但是如何获取 3.13.4?最新版本https://mvnrepository.com/search?q=redisson是 3.13.3

3

尚未发布

3

好的,什么时候发布?这个错误已经导致在线问题。