You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pt...@apache.org on 2016/06/09 20:53:44 UTC

[03/35] storm git commit: Fix STORM-1884

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 <ba...@s4m.io>
Authored: Mon Jun 6 17:04:27 2016 +0200
Committer: Balazs Kossovics <ba...@s4m.io>
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);