Repository: flink Updated Branches: refs/heads/master 54ceec16c -> f74bb74fb
[FLINK-6509] [tests] Perform TestingListener#waitForNewLeader under lock Performin TestingListener#waitForNewLeader under the lock which is also hold when updating the leader information makes sure that leader changes won't go unnoticed. This led before to failing test cases due to timeouts. This closes #3853. Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/f74bb74f Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/f74bb74f Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/f74bb74f Branch: refs/heads/master Commit: f74bb74fb48216a6739c38abf9feb608ac69f837 Parents: 54ceec1 Author: Till Rohrmann <[email protected]> Authored: Tue May 9 13:13:02 2017 +0200 Committer: Till Rohrmann <[email protected]> Committed: Wed May 10 15:17:49 2017 +0200 ---------------------------------------------------------------------- .../apache/flink/runtime/leaderelection/TestingListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/f74bb74f/flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingListener.java ---------------------------------------------------------------------- diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingListener.java b/flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingListener.java index 87decc7..8571505 100644 --- a/flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingListener.java +++ b/flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingListener.java @@ -51,11 +51,11 @@ public class TestingListener implements LeaderRetrievalListener { long start = System.currentTimeMillis(); long curTimeout; - while ( + synchronized (lock) { + while ( exception == null && - (address == null || address.equals(oldAddress)) && - (curTimeout = timeout - System.currentTimeMillis() + start) > 0) { - synchronized (lock) { + (address == null || address.equals(oldAddress)) && + (curTimeout = timeout - System.currentTimeMillis() + start) > 0) { try { lock.wait(curTimeout); } catch (InterruptedException e) {
