Fix STORM-1884

Signed-off-by: P. Taylor Goetz <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/70bd5359
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/70bd5359
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/70bd5359

Branch: refs/heads/1.0.x-branch
Commit: 70bd5359d5fead47613d1008f1baa9232aa567c0
Parents: a814199
Author: Balazs Kossovics <[email protected]>
Authored: Mon Jun 6 17:04:27 2016 +0200
Committer: P. Taylor Goetz <[email protected]>
Committed: Thu Jun 9 16:52:48 2016 -0400

----------------------------------------------------------------------
 .../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/70bd5359/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);

Reply via email to