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 <[email protected]
>:
> 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
>
>