You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Dave Katten (JIRA)" <ji...@apache.org> on 2015/03/12 00:54:38 UTC

[jira] [Created] (STORM-703) RedisMapState with hash key can cause network overload

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)