Fix STORM-1884
Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/d5dbbe0e Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/d5dbbe0e Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/d5dbbe0e Branch: refs/heads/master Commit: d5dbbe0e3207508f28d4dfae263ce930743a049d Parents: a9ef86d Author: Balazs Kossovics <[email protected]> Authored: Mon Jun 6 17:04:27 2016 +0200 Committer: Balazs Kossovics <[email protected]> Committed: Mon Jun 6 17:04:27 2016 +0200 ---------------------------------------------------------------------- .../java/org/apache/storm/redis/state/RedisKeyValueState.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/d5dbbe0e/external/storm-redis/src/main/java/org/apache/storm/redis/state/RedisKeyValueState.java ---------------------------------------------------------------------- diff --git a/external/storm-redis/src/main/java/org/apache/storm/redis/state/RedisKeyValueState.java b/external/storm-redis/src/main/java/org/apache/storm/redis/state/RedisKeyValueState.java index 6071757..6d690d4 100644 --- a/external/storm-redis/src/main/java/org/apache/storm/redis/state/RedisKeyValueState.java +++ b/external/storm-redis/src/main/java/org/apache/storm/redis/state/RedisKeyValueState.java @@ -161,7 +161,11 @@ public class RedisKeyValueState<K, V> implements KeyValueState<K, V> { commands = jedisContainer.getInstance(); if (commands.exists(prepareNamespace)) { LOG.debug("Prepared txn already exists, will merge", txid); - pendingPrepare.putAll(pendingCommit); + for (Map.Entry<String, String> e: pendingCommit.entrySet()) { + if (!pendingPrepare.containsKey(e.getKey())) { + pendingPrepare.put(e.getKey(), e.getValue()); + } + } } if (!pendingPrepare.isEmpty()) { commands.hmset(prepareNamespace, pendingPrepare);
