Florian Beck created NIFI-16043:
-----------------------------------

             Summary: DetectDuplicate gives error with redis
                 Key: NIFI-16043
                 URL: https://issues.apache.org/jira/browse/NIFI-16043
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
    Affects Versions: 2.10.0
         Environment: nifi 2.10.0 with redis 8.8
            Reporter: Florian Beck
         Attachments: redis.json

Currently de DetectDuplicate Processor gives me following error:
{code:java}
DetectDuplicate[id=419e783f-1d70-3646-a4ea-0c222dd42683] Processing halted: 
yielding [1 sec]: org.springframework.data.redis.RedisSystemException: Unknown 
redis exception- Caused by: java.lang.IllegalArgumentException: Incorrect 
number of transaction results; Expected: 3 Actual: 2 
org.springframework.data.redis.RedisSystemException: Unknown redis exception at 
org.springframework.data.redis.FallbackExceptionTranslationStrategy.getFallback(FallbackExceptionTranslationStrategy.java:49)
 at 
org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:39)
 at 
org.springframework.data.redis.connection.jedis.JedisConnection.convertJedisAccessException(JedisConnection.java:239)
 at 
org.springframework.data.redis.connection.jedis.JedisConnection$JedisDelegateSupport.exec(JedisConnection.java:756)
 at 
org.springframework.data.redis.connection.jedis.JedisConnection$UnifiedJedisDelegate.exec(JedisConnection.java:1053)
 at 
org.springframework.data.redis.connection.jedis.JedisConnection.exec(JedisConnection.java:462)
 at 
org.apache.nifi.redis.service.SimpleRedisDistributedMapCacheClientService.lambda$getAndPutIfAbsent$1(SimpleRedisDistributedMapCacheClientService.java:119)
 at 
org.apache.nifi.redis.service.SimpleRedisDistributedMapCacheClientService.withConnection(SimpleRedisDistributedMapCacheClientService.java:246)
 at 
org.apache.nifi.redis.service.SimpleRedisDistributedMapCacheClientService.getAndPutIfAbsent(SimpleRedisDistributedMapCacheClientService.java:102)
 at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
 at java.base/java.lang.reflect.Method.invoke(Method.java:580) at 
org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:273)
 at 
org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:127)
 at jdk.proxy16/jdk.proxy16.$Proxy155.getAndPutIfAbsent(Unknown Source) at 
org.apache.nifi.processors.standard.DetectDuplicate.onTrigger(DetectDuplicate.java:178)
 at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
 at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1292)
 at 
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:229)
 at 
org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:59)
 at org.apache.nifi.engine.FlowEngine.lambda$wrap$1(FlowEngine.java:105) at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
 at java.base/java.lang.Thread.run(Thread.java:1583)Caused by: 
java.lang.IllegalArgumentException: Incorrect number of transaction results; 
Expected: 3 Actual: 2 at 
org.springframework.data.redis.connection.convert.TransactionResultConverter.convert(TransactionResultConverter.java:56)
 at 
org.springframework.data.redis.connection.jedis.JedisConnection$JedisDelegateSupport.exec(JedisConnection.java:752)
 ... 22 more
 {code}
same flow runs on the currenct 2.8.0 production environment without any 
problems.

When I set "Cache The Entry Identifier" to false, then it also runs without any 
error.

There is also no issues with using Put/FetchDistributedCache processors with 
same client.

There is an example flow for testing as attachment.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to