Q Kang created BAHIR-247:
----------------------------
Summary: Enable idle connection 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
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` and other related params configurable by user in
FlinkJedisPoolConfig.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)