Correcting last line:

This is a 3 node unsecure Redis/Sentinel (without SSL).

On Fri, Aug 6, 2021 at 8:46 AM Eduardo Fontes <eduardo.fon...@gmail.com>
wrote:

> Hi Joe,
>
> I can reproduce the error.
> I have a three node secured NiFi 1.14. I've tested with DetectDuplicate
> and it only worked with db index 0 in RedisConnectionPoolService. If any
> other index, failed with message:
>
> DetectDuplicate[id=c4a64927-6056-1d2d-ffff-ffffa3ac489e] Failed to process
> session due to All sentinels down, cannot determine where is clnifi master
> is running...; Processor Administratively Yielded for 1 sec:
> redis.clients.jedis.exceptions.JedisConnectionException: All sentinels
> down, cannot determine where is clnifi master is running...
>
> This is a 3 node Redis/Sentinel without unsecure (without SSL).
>
> Eduardo Fontes
>
> On Fri, Aug 6, 2021 at 8:09 AM Joe Gresock <jgres...@gmail.com> wrote:
>
>> Thanks for the attached flow, Jens.  So just to confirm, if you use
>> Database Index 0, it works on both 1.13.2 and 1.14.0, but if you switch
>> Database Index to 3, it only works on 1.13.2?
>>
>> I was not able to reproduce this in Standalone mode, but I have not tried
>> Sentinel mode.  Can you verify whether Standalone mode works for you?
>>
>> It's still puzzling that there would be SSL exceptions.  I was able to
>> produce the same SSL read timeout when configuring an SSL Context Service
>> against a Redis instance that did not use TLS.  However, when I removed
>> the
>> SSl context service, it resumed working.
>>
>> <
>> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon
>> >
>> Virus-free.
>> www.avast.com
>> <
>> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link
>> >
>> <#m_3329527056917547118_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>> On Fri, Aug 6, 2021 at 6:09 AM Jens M. Kofoed <jmkofoed....@gmail.com>
>> wrote:
>>
>> > I found the bug. - Reported as
>> > https://issues.apache.org/jira/browse/NIFI-9019
>> >
>> > If I select database index 0, everything works fine. My process which is
>> > not working is using a database index of 3.
>> > So changing my small test flow (which is working) from database index 0
>> ->
>> > 3 produce the same errors in the log and stop working.
>> >
>> > I don't know what should make this stop working, but I works fine in
>> > version 1.13.2 but not in version 1.14.0
>> > Create a RedisConnectionPoolService with Database Index = 0
>> > Test attach flow: everything should work
>> > Change Database Index = 3
>> > tail -f the nifi-app.log file and start the the flow again.
>> >
>> > kind Regards
>> > Jens M. Kofoed
>> >
>> > Den fre. 6. aug. 2021 kl. 11.31 skrev Jens M. Kofoed <
>> > jmkofoed....@gmail.com>:
>> >
>> >> Some more digging
>> >>
>> >> I restarted my Redis cluster. Created a new RedisConnectionPoolService
>> >> and a new RedisDistributedMapCacheClientService.
>> >> I created a small test flow: Genereate flowfile ->
>> PutDistributedMapCache
>> >> -> AttributeUpdate
>> >> No problems, it works but...
>> >>
>> >> I went back to one the other flows where I use a DetectDuplicate
>> process
>> >> and I got the following lines in the log
>> >>
>> >> 2021-08-06 11:18:21,123 INFO [Timer-Driven Process Thread-13]
>> >> o.a.n.r.s.RedisConnectionPoolService
>> >> RedisConnectionPoolService[id=160a1056-017b-1000-0000-00005533ce4b]
>> >> Connecting to Redis in sentinel mode...
>> >> 2021-08-06 11:18:21,123 INFO [Timer-Driven Process Thread-13]
>> >> o.a.n.r.s.RedisConnectionPoolService
>> >> RedisConnectionPoolService[id=160a1056-017b-1000-0000-00005533ce4b]
>> Redis
>> >> master = mymaster
>> >> 2021-08-06 11:18:21,123 INFO [Timer-Driven Process Thread-13]
>> >> o.a.n.r.s.RedisConnectionPoolService
>> >> RedisConnectionPoolService[id=160a1056-017b-1000-0000-00005533ce4b]
>> Redis
>> >> sentinel at redis-01:26379
>> >> 2021-08-06 11:18:21,123 INFO [Timer-Driven Process Thread-13]
>> >> o.a.n.r.s.RedisConnectionPoolService
>> >> RedisConnectionPoolService[id=160a1056-017b-1000-0000-00005533ce4b]
>> Redis
>> >> sentinel at redis-02:26379
>> >> 2021-08-06 11:18:21,123 INFO [Timer-Driven Process Thread-13]
>> >> o.a.n.r.s.RedisConnectionPoolService
>> >> RedisConnectionPoolService[id=160a1056-017b-1000-0000-00005533ce4b]
>> Redis
>> >> sentinel at redis-03:26379
>> >> 2021-08-06 11:18:21,124 INFO [Timer-Driven Process Thread-13]
>> >> redis.clients.jedis.JedisSentinelPool Trying to find master from
>> available
>> >> Sentinels...
>> >> 2021-08-06 11:18:21,124 DEBUG [Timer-Driven Process Thread-13]
>> >> redis.clients.jedis.JedisSentinelPool Connecting to Sentinel
>> redis-01:26379
>> >> 2021-08-06 11:18:21,124 WARN [NiFi Web Server-4964]
>> >> org.apache.nifi.audit.ProcessorAuditor Unable to record actions: null
>> >> 2021-08-06 11:18:21,214 INFO [Flow Service Tasks Thread-1]
>> >> o.a.nifi.controller.StandardFlowService Saved flow controller
>> >> org.apache.nifi.controller.FlowController@33ab3784 // Another save
>> >> pending = false
>> >> 2021-08-06 11:18:31,134 WARN [Timer-Driven Process Thread-13]
>> >> redis.clients.jedis.JedisSentinelPool Cannot get master address from
>> >> sentinel running @ i-redis-01:26379. Reason: {}. Trying next one.
>> >> redis.clients.jedis.exceptions.JedisConnectionException:
>> >> javax.net.ssl.SSLException: Read timed out
>> >>         at redis.clients.jedis.Connection.flush(Connection.java:342)
>> >>
>> >> So it connects to me Redis Sentinel cluster, but later it somehow
>> trying
>> >> to use SSL or what???
>> >>
>> >> kind regards
>> >> Jens M. Kofoed
>> >>
>> >> Den fre. 6. aug. 2021 kl. 08.07 skrev Jens M. Kofoed <
>> >> jmkofoed....@gmail.com>:
>> >>
>> >>> Hi
>> >>>
>> >>> I found another WARN in my log, which is about SSLException. However I
>> >>> did NOT specified the new property: SSL Context Service
>> >>> From the documentation: If specified, this service will be used to
>> >>> create an SSL Context that will be used to secure communications; if
>> not
>> >>> specified, communications will not be secure
>> >>>
>> >>> 2021-08-06 07:47:30,166 WARN [Timer-Driven Process Thread-12]
>> >>> redis.clients.jedis.JedisSentinelPool Cannot get master address from
>> >>> sentinel running @ redis-03:26379. Reason: {}. Trying next one.
>> >>> redis.clients.jedis.exceptions.JedisConnectionException:
>> >>> javax.net.ssl.SSLException: Read timed out
>> >>>         at redis.clients.jedis.Connection.flush(Connection.java:342)
>> >>>         at
>> >>> redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:269)
>> >>>         at
>> redis.clients.jedis.BinaryJedis.select(BinaryJedis.java:787)
>> >>>         at
>> >>>
>> redis.clients.jedis.BinaryJedis.initializeFromClientConfig(BinaryJedis.java:99)
>> >>>         at redis.clients.jedis.BinaryJedis.<init>(BinaryJedis.java:82)
>> >>>         at redis.clients.jedis.Jedis.<init>(Jedis.java:54)
>> >>>         at
>> >>>
>> redis.clients.jedis.JedisSentinelPool.initSentinels(JedisSentinelPool.java:251)
>> >>>         at
>> >>>
>> redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:205)
>> >>>         at
>> >>>
>> redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:193)
>> >>>         at
>> >>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createRedisSentinelPool(JedisConnectionFactory.java:411)
>> >>>         at
>> >>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createPool(JedisConnectionFactory.java:393)
>> >>>         at
>> >>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.afterPropertiesSet(JedisConnectionFactory.java:348)
>> >>>         at
>> >>>
>> org.apache.nifi.redis.util.RedisUtils.createConnectionFactory(RedisUtils.java:342)
>> >>>         at
>> >>>
>> org.apache.nifi.redis.service.RedisConnectionPoolService.getConnection(RedisConnectionPoolService.java:92)
>> >>>         at sun.reflect.GeneratedMethodAccessor1212.invoke(Unknown
>> Source)
>> >>>         at
>> >>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>>         at java.lang.reflect.Method.invoke(Method.java:498)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:254)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:105)
>> >>>         at com.sun.proxy.$Proxy181.getConnection(Unknown Source)
>> >>>         at
>> >>>
>> org.apache.nifi.redis.service.RedisDistributedMapCacheClientService.withConnection(RedisDistributedMapCacheClientService.java:375)
>> >>>         at
>> >>>
>> org.apache.nifi.redis.service.RedisDistributedMapCacheClientService.getAndPutIfAbsent(RedisDistributedMapCacheClientService.java:144)
>> >>>         at sun.reflect.GeneratedMethodAccessor1211.invoke(Unknown
>> Source)
>> >>>         at
>> >>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>>         at java.lang.reflect.Method.invoke(Method.java:498)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:254)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:105)
>> >>>         at com.sun.proxy.$Proxy179.getAndPutIfAbsent(Unknown Source)
>> >>>         at
>> >>>
>> org.apache.nifi.processors.standard.DetectDuplicate.onTrigger(DetectDuplicate.java:183)
>> >>>         at
>> >>>
>> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1202)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
>> >>>         at
>> >>>
>> org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:63)
>> >>>         at
>> org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>> >>>         at
>> >>>
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> >>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> >>>         at
>> >>>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>> >>>         at
>> >>>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>> >>>         at
>> >>>
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >>>         at
>> >>>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >>>         at java.lang.Thread.run(Thread.java:748)
>> >>> Caused by: javax.net.ssl.SSLException: Read timed out
>> >>>         at sun.security.ssl.Alert.createSSLException(Alert.java:127)
>> >>>         at
>> >>> sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
>> >>>         at
>> >>> sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
>> >>>         at
>> >>> sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
>> >>>         at sun.security.ssl.SSLTransport.decode(SSLTransport.java:138)
>> >>>         at
>> sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
>> >>>         at
>> >>>
>> sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
>> >>>         at
>> >>> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
>> >>>         at
>> >>>
>> sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:804)
>> >>>         at
>> >>> sun.security.ssl.SSLSocketImpl.access$200(SSLSocketImpl.java:73)
>> >>>         at
>> >>>
>> sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1166)
>> >>>         at
>> >>>
>> redis.clients.jedis.util.RedisOutputStream.flushBuffer(RedisOutputStream.java:52)
>> >>>         at
>> >>>
>> redis.clients.jedis.util.RedisOutputStream.flush(RedisOutputStream.java:133)
>> >>>         at redis.clients.jedis.Connection.flush(Connection.java:339)
>> >>>         ... 40 common frames omitted
>> >>> Caused by: java.net.SocketTimeoutException: Read timed out
>> >>>         at java.net.SocketInputStream.socketRead0(Native Method)
>> >>>         at
>> >>> java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
>> >>>         at java.net.SocketInputStream.read(SocketInputStream.java:171)
>> >>>         at java.net.SocketInputStream.read(SocketInputStream.java:141)
>> >>>         at
>> >>>
>> sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:457)
>> >>>         at
>> >>>
>> sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
>> >>>         at sun.security.ssl.SSLTransport.decode(SSLTransport.java:109)
>> >>>         ... 49 common frames omitted
>> >>>
>> >>> Kind regards
>> >>> Jens M. Kofoed
>> >>>
>> >>> Den fre. 6. aug. 2021 kl. 06.35 skrev Jens M. Kofoed <
>> >>> jmkofoed....@gmail.com>:
>> >>>
>> >>>> Dear Develovper
>> >>>>
>> >>>> I'm using many RedisDistributedMapCacheClientService and
>> >>>> some RedisConnectionPoolService which connect to my 3 node cluster
>> >>>> with Redis sentinels.
>> >>>> After I upgraded one of my NiFi servers to 1.14.0 the processors
>> which
>> >>>> is using the Redis start having issues. Looking in the logs I got the
>> >>>> following errors/WARN.
>> >>>>
>> >>>> 2021-08-05 13:24:12,556 WARN [Timer-Driven Process Thread-3]
>> >>>> o.a.n.controller.tasks.ConnectableTask Administratively Yielding
>> >>>> DetectDuplicate[id=feb1f2ff-4f9c-31d7-87c8-e225a80ef03f] due to
>> uncaught
>> >>>> Exception: redis.clients.jedis.exceptions.JedisConnectionException:
>> All
>> >>>> sentinels down, cannot determine where is mymaster master is
>> running...
>> >>>> redis.clients.jedis.exceptions.JedisConnectionException: All
>> sentinels
>> >>>> down, cannot determine where is mymaster master is running...
>> >>>>         at
>> >>>>
>> redis.clients.jedis.JedisSentinelPool.initSentinels(JedisSentinelPool.java:281)
>> >>>>         at
>> >>>>
>> redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:205)
>> >>>>         at
>> >>>>
>> redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:193)
>> >>>>         at
>> >>>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createRedisSentinelPool(JedisConnectionFactory.java:411)
>> >>>>         at
>> >>>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createPool(JedisConnectionFactory.java:393)
>> >>>>         at
>> >>>>
>> org.springframework.data.redis.connection.jedis.JedisConnectionFactory.afterPropertiesSet(JedisConnectionFactory.java:348)
>> >>>>         at
>> >>>>
>> org.apache.nifi.redis.util.RedisUtils.createConnectionFactory(RedisUtils.java:342)
>> >>>>         at
>> >>>>
>> org.apache.nifi.redis.service.RedisConnectionPoolService.getConnection(RedisConnectionPoolService.java:92)
>> >>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> >>>>         at
>> >>>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> >>>>         at
>> >>>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>>>         at java.lang.reflect.Method.invoke(Method.java:498)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:254)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:105)
>> >>>>         at com.sun.proxy.$Proxy181.getConnection(Unknown Source)
>> >>>>         at
>> >>>>
>> org.apache.nifi.redis.service.RedisDistributedMapCacheClientService.withConnection(RedisDistributedMapCacheClientService.java:375)
>> >>>>         at
>> >>>>
>> org.apache.nifi.redis.service.RedisDistributedMapCacheClientService.getAndPutIfAbsent(RedisDistributedMapCacheClientService.java:144)
>> >>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> >>>>         at
>> >>>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> >>>>         at
>> >>>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>>>         at java.lang.reflect.Method.invoke(Method.java:498)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:254)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:105)
>> >>>>         at com.sun.proxy.$Proxy179.getAndPutIfAbsent(Unknown Source)
>> >>>>         at
>> >>>>
>> org.apache.nifi.processors.standard.DetectDuplicate.onTrigger(DetectDuplicate.java:183)
>> >>>>         at
>> >>>>
>> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1202)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
>> >>>>         at
>> >>>>
>> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:103)
>> >>>>         at
>> org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>> >>>>         at
>> >>>>
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> >>>>         at
>> >>>> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>> >>>>         at
>> >>>>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>> >>>>         at
>> >>>>
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>> >>>>         at
>> >>>>
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >>>>         at
>> >>>>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >>>>         at java.lang.Thread.run(Thread.java:748)
>> >>>>
>> >>>> I know the WARN says: All sentinels down, cannot determine where is
>> >>>> mymaster master is running... BUT It is not. The Sentinel master is
>> >>>> running, I have a 2nd NIFI server running with v. 1.13.2 which is
>> using the
>> >>>> same Redis cluster and that one is still working. If I change the
>> server
>> >>>> (which has issues in v. 1.14.0) back to 1.13.2 there are no errors.
>> I also
>> >>>> tried to change one of the other servers to v. 1.14.0 and it have
>> the same
>> >>>> issue.
>> >>>>
>> >>>> A new feature in v.1.14.0 is the property "SSL Context
>> >>>> Service" RedisConnectionPoolService. It says if configured it will
>> use ssl
>> >>>> to establish a secure connection, if it's not configured it will not
>> be
>> >>>> secure. And It is not configured.
>> >>>>
>> >>>> Please any help :-)
>> >>>>
>> >>>> kind regards
>> >>>> Jens M. Kofoed
>> >>>>
>> >>>>
>> <
>> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon
>> >
>> Virus-free.
>> www.avast.com
>> <
>> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link
>> >
>> <#m_3329527056917547118_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>
>

Reply via email to