Github user subhankarb commented on the issue: https://github.com/apache/flink/pull/1813 @tzulitai, @mjsax thank you very much for your valuable feedback. 1) `additionalKey` was supposed to one time declaration for `SORTED_SET` and `HASH`. For `HASH` it is the value of hash name and `SORTED_SET` it is the name of the set. I assume it would not change once it declares. 2) `JedisPoolConfig`/ `JedisClusterConfig` were not `Serializable` so i needed a wrapper class for that. @mjsax there is a story for a source for Redis, so `RedisSinkConfig` would not be a valid one as the config would be same for sink and source. Thats why i make the `JedisPoolConfig`/ `JedisClusterConfig` ctor private. So that user forced to use the builder class to avoid confusion. 3) When i started with this i thought it was obvious that if i use PUBSUB in sink, i would always use it for publish and if i use this in source i would always use it for subscribe :) . 4 + 5 ) We can group the command and dataType like. `public enum RedisCommand { LPUSH(RedisDataType.LIST), RPUSH(RedisDataType.LIST); private RedisDataType redisDataType; RedisCommand(RedisDataType redisDataType) { this.redisDataType = redisDataType; } public boolean isInRedisDataType(RedisDataType redisDataType) { return this.redisDataType == redisDataType; } }` And in `RedisDataTypeDescription` we can extract the command . So that in future we can add new command.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---