[ https://issues.apache.org/jira/browse/STORM-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15354455#comment-15354455 ]
ASF GitHub Bot commented on STORM-1919: --------------------------------------- Github user HeartSaVioR commented on a diff in the pull request: https://github.com/apache/storm/pull/1517#discussion_r68879755 --- Diff: external/storm-redis/README.md --- @@ -21,13 +21,16 @@ use it as a maven dependency: ### For normal Bolt -Storm-redis provides basic Bolt implementations, ```RedisLookupBolt``` and ```RedisStoreBolt```. +Storm-redis provides basic Bolt implementations, ```RedisLookupBolt``` and ```RedisStoreBolt```, and ```RedisFilterBolt```. -As name represents its usage, ```RedisLookupBolt``` retrieves value from Redis using key, and ```RedisStoreBolt``` stores key / value to Redis. One tuple will be matched to one key / value pair, and you can define match pattern to ```TupleMapper```. +As name represents its usage, ```RedisLookupBolt``` retrieves value from Redis using key, and ```RedisStoreBolt``` stores key / value to Redis, and ```RedisFilterBolt``` filters out tuple which key or field doesn't exist on Redis. -You can also choose data type from ```RedisDataTypeDescription``` to use. Please refer ```RedisDataTypeDescription.RedisDataType``` to see what data types are supported. In some data types (hash and sorted set), it requires additional key and converted key from tuple becomes element. +One tuple will be matched to one key / value pair, and you can define match pattern to ```TupleMapper```. -These interfaces are combined with ```RedisLookupMapper``` and ```RedisStoreMapper``` which fit ```RedisLookupBolt``` and ```RedisStoreBolt``` respectively. +You can also choose data type from ```RedisDataTypeDescription``` to use. Please refer ```RedisDataTypeDescription.RedisDataType``` to see what data types are supported. In some data types (hash and sorted set, and set if only RedisFilterBolt), it requires additional key and converted key from tuple becomes element. + +These interfaces are combined with ```RedisLookupMapper``` and ```RedisStoreMapper``` and ```RedisFilterMapper``` which fit ```RedisLookupBolt``` and ```RedisStoreBolt```, and ```RedisFilterBolt``` respectively. +(When you want to implement RedisFilterMapper, be sure to set declareOutputFields() to declare same fields to input stream, since FilterBolt forwards input tuples when they exist on Redis.) --- End diff -- @darionyaphet Yeah right. It can be arranged but we would want to resolve this with backward-compatible way. Maybe adding @Deprecated for 1.x / 1.0.x and removing for master. > Introduce FilterBolt on storm-redis > ----------------------------------- > > Key: STORM-1919 > URL: https://issues.apache.org/jira/browse/STORM-1919 > Project: Apache Storm > Issue Type: New Feature > Components: storm-redis > Reporter: Jungtaek Lim > Assignee: Jungtaek Lim > > While discussing about STORM-1880, it would be better to have FilterBolt > explicitly instead of letting users set up their lookup mapper to act as > filter. > There's other benefit here: we can use exists / hexists on STRING / HASH > datatype instead of retrieving actual value which reduces execution time / > latency from Redis side. -- This message was sent by Atlassian JIRA (v6.3.4#6332)