[
https://issues.apache.org/jira/browse/NIFI-8152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bernhard Geisberger updated NIFI-8152:
--------------------------------------
Summary: Fix breaking changes in RedisDistributedMapCacheClientService
caused by newer versions of Jedis and update Jedis (was: Fix breaking changes
in RedisDistributedMapCacheClientService caused by newer versions of Jedis)
> Fix breaking changes in RedisDistributedMapCacheClientService caused by newer
> versions of Jedis and update Jedis
> ----------------------------------------------------------------------------------------------------------------
>
> Key: NIFI-8152
> URL: https://issues.apache.org/jira/browse/NIFI-8152
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: 1.12.1
> Environment: Custom Docker Image with OpenJDK 11, based on Debian
> Host: Debian Buster
> Reporter: Bernhard Geisberger
> Priority: Minor
>
> Update:
> I've found out that RedisDistributedMapCacheClientService is not compatible
> with newer versions of jedis. In particular, this change is breaking:
> https://github.com/redis/jedis/pull/1368
> This is included in all versions after 2.9.0. (including bugfix versions
> 2.9.1+)
> To ensure compatibility with newer jedis versions in the (global) classpath
> (which is unfortunately the only way to go sometimes), a null response from
> redis should be treated the same as an empty list. Furthermore,
> spring-data-redis and jedis can be upgraded with this change to their latest
> versions.
> Original issue text:
> Since our upgrade to NiFi 1.12.1 (we ran 1.8 before), DetectDuplicate throws
> some rare NullPointerExceptions. It is not reproducible directly with the
> same flowfiles again.
> The stacktrace shows that it is caused by
> RedisDistributedMapCacheClientService, line 165, where the results of
> redisConnection.exec() are checked.
> Looking at the source code of spring-data-redis, it is actually possible that
> the exec() call returns null in some error cases, as you can see here:
> https://github.com/spring-projects/spring-data-redis/blob/master/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java#L482
--
This message was sent by Atlassian Jira
(v8.3.4#803005)