[
https://issues.apache.org/jira/browse/NIFI-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex updated NIFI-5795:
-----------------------
Description:
When you select on *PutDistributedMapCache CACHE_UPDATE_STRATEGY =
CACHE_UPDATE_REPLACE we execute "cache.put(cacheKey, cacheValue, keySerializer,
valueSerializer);"*
[LINK|https://github.com/apache/nifi/blob/ea9b0db2f620526c8dd0db595cf8b44c3ef835be/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDistributedMapCache.java#L202]
If you use redis as backend service this jumps to:
RedisDistributedMapCacheClientService.java -> redisConnection.set(kv.getKey(),
kv.getValue(), Expiration.seconds(ttl), null);
[LINK|https://github.com/apache/nifi/blob/ea9b0db2f620526c8dd0db595cf8b44c3ef835be/nifi-nar-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/RedisDistributedMapCacheClientService.java#L191]
Calling to spring-data/redis/ library, but we have a bug putting null as Option
parameter, causing an error "option cannot be null", because according to
library: "{{option}} - must not be null." [Library
Link|https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisStringCommands.html#set-byte:A-byte:A-org.springframework.data.redis.core.types.Expiration-org.springframework.data.redis.connection.RedisStringCommands.SetOption-]
If we want to update strategy we should use:
[{{RedisStringCommands.SetOption.upsert()}}|https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisStringCommands.SetOption.html#upsert--]
was:
When you select on PutD
> RedisDistributedMapCacheClientService put missing option
> --------------------------------------------------------
>
> Key: NIFI-5795
> URL: https://issues.apache.org/jira/browse/NIFI-5795
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.8.0
> Reporter: Alex
> Priority: Major
>
> When you select on *PutDistributedMapCache CACHE_UPDATE_STRATEGY =
> CACHE_UPDATE_REPLACE we execute "cache.put(cacheKey, cacheValue,
> keySerializer, valueSerializer);"*
> [LINK|https://github.com/apache/nifi/blob/ea9b0db2f620526c8dd0db595cf8b44c3ef835be/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDistributedMapCache.java#L202]
> If you use redis as backend service this jumps to:
> RedisDistributedMapCacheClientService.java ->
> redisConnection.set(kv.getKey(), kv.getValue(), Expiration.seconds(ttl),
> null);
> [LINK|https://github.com/apache/nifi/blob/ea9b0db2f620526c8dd0db595cf8b44c3ef835be/nifi-nar-bundles/nifi-redis-bundle/nifi-redis-extensions/src/main/java/org/apache/nifi/redis/service/RedisDistributedMapCacheClientService.java#L191]
> Calling to spring-data/redis/ library, but we have a bug putting null as
> Option parameter, causing an error "option cannot be null", because according
> to library: "{{option}} - must not be null." [Library
> Link|https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisStringCommands.html#set-byte:A-byte:A-org.springframework.data.redis.core.types.Expiration-org.springframework.data.redis.connection.RedisStringCommands.SetOption-]
> If we want to update strategy we should use:
> [{{RedisStringCommands.SetOption.upsert()}}|https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisStringCommands.SetOption.html#upsert--]
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)