[ 
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)

Reply via email to