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

João Boto resolved BAHIR-247.
-----------------------------
    Fix Version/s: Flink-Next
       Resolution: Fixed

> Provide connection validation/idle testing for Flink-Redis Connector
> --------------------------------------------------------------------
>
>                 Key: BAHIR-247
>                 URL: https://issues.apache.org/jira/browse/BAHIR-247
>             Project: Bahir
>          Issue Type: Improvement
>          Components: Flink Streaming Connectors
>    Affects Versions: Flink-1.0
>            Reporter: Q Kang
>            Priority: Major
>             Fix For: Flink-Next
>
>
> When idle connections are timed-out and closed by Redis server, the following 
> exception will be thrown and the Flink job will eventually fail:
> {code:java}
> redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of 
> stream. at 
> redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:199) at 
> redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40) at 
> redis.clients.jedis.Protocol.process(Protocol.java:151) at 
> redis.clients.jedis.Protocol.read(Protocol.java:215)
> ......
> {code}
> It is clear that RedisCommandsContainerBuilder made use of 
> GenericObjectPoolConfig without setting any parameters relating to idle 
> testing. There are 2 possible solutions:
>  # Replace GenericObjectPoolConfig directly with JedisPoolConfig, which 
> enabled idle testing by default;
>  # Make `testWhileIdle` configurable by user in FlinkJedisPoolConfig.
>  Also, `testOnBorrow` and `testOnReturn` can be provided for those who want 
> to validate connections.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to