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

Florian Beck updated NIFI-16043:
--------------------------------
    Description: 
Currently the 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.

 

  was:
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.

 


> 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
>            Priority: Critical
>         Attachments: redis.json
>
>
> Currently the 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