Dave Katten created STORM-703:
---------------------------------

             Summary: RedisMapState with hash key can cause network overload
                 Key: STORM-703
                 URL: https://issues.apache.org/jira/browse/STORM-703
             Project: Apache Storm
          Issue Type: Bug
          Components: external
    Affects Versions: 0.10.0
            Reporter: Dave Katten


When RedisMapState is constructed to use a hash key (and store values under a 
hash in redis, rather than as key/value pairs in the top namespace), a multiGet 
actually requests ALL of the state in that hash, instead of only the keys in 
the batch. 

As the size of the hash grows in redis, this becomes an inordinate amount of 
traffic, and can cause interfaces to fall over.

* Solution
Instead of calling jedis.hgetall(hash), call jedis.hmget(hash, stringKeys[]). 
Also, remove the buildValuesFromMap function, as it is no longer needed.

See PR#462 on github.
https://github.com/apache/storm/pull/462



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to