flink-sink-reids报broken pipe错误的解决方案

根据flink官网连接reids的介绍中(链接地址https://bahir.apache.org/docs/flink/current/flink-streaming-redis/

很多配置没有给开发人员开放,导致会报Broken pipe的错误

jedisConnectionException:Broken pipe

flink-sink-reids报broken pipe错误的解决方案

 

网上一番搜索后,是因为使用完redis的命令后,并没有将链接归还给连接池,导致该错误的发生

 

因此修改源码类RedisCommandsContainerBuilder添加:

genericObjectPoolConfig.setMaxWaitMillis(6000);
genericObjectPoolConfig.setTestOnBorrow(true);
genericObjectPoolConfig.setTestOnCreate(true);
genericObjectPoolConfig.setTestOnReturn(true);
genericObjectPoolConfig.setTestWhileIdle(true);

flink-sink-reids报broken pipe错误的解决方案

测试后不再报该错误

 

相关链接:

添加对setex的支持

https://www.jianshu.com/p/2c02b7c5970a

commons-pool的参数:

https://www.cnblogs.com/zhengzuozhanglina/p/9685314.html