From 9eaa409ce560dc3631c2d63c7d1eb42fd1c78c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Marschollek?= Date: Tue, 27 Aug 2019 16:12:09 +0100 Subject: [PATCH] Synchronise the KVs list for scanner results Synchronises the list that holds the KeyValues that have been produced by the scanner callbacks. The list is accessed from multiple threads at a time and wasn't thread-safe, causing inconsistent results and partial loss of data in the response. Relates to: #1753 Resolves: #1760 --- src/core/SaltScanner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/SaltScanner.java b/src/core/SaltScanner.java index 9cc2397423..a93a0a4137 100644 --- a/src/core/SaltScanner.java +++ b/src/core/SaltScanner.java @@ -464,7 +464,7 @@ final class ScannerCB implements Callback>> { private final Scanner scanner; private final int index; - private final List kvs = new ArrayList(); + private final List kvs = Collections.synchronizedList(new ArrayList()); private final ByteMap> annotations = new ByteMap>(); private final Set skips = Collections.newSetFromMap(