Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-703

RedisMapState with hash key can cause network overload

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 0.10.0
    • storm-redis
    • None

    Description

      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

      Attachments

        Activity

          People

            dkatten Dave Katten
            dkatten Dave Katten
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: