You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Pierre Villard (JIRA)" <ji...@apache.org> on 2018/12/03 09:41:00 UTC

[jira] [Updated] (NIFI-5795) RedisDistributedMapCacheClientService put missing option

     [ https://issues.apache.org/jira/browse/NIFI-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pierre Villard updated NIFI-5795:
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.9.0
           Status: Resolved  (was: Patch Available)

> RedisDistributedMapCacheClientService put missing option
> --------------------------------------------------------
>
>                 Key: NIFI-5795
>                 URL: https://issues.apache.org/jira/browse/NIFI-5795
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>            Reporter: Alex
>            Priority: Major
>             Fix For: 1.9.0
>
>
> 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)