From f74bb74fb48216a6739c38abf9feb608ac69f837 Mon Sep 17 00:00:00 2001 From: Till Rohrmann Date: Tue, 9 May 2017 13:13:02 +0200 Subject: [PATCH] [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. --- .../flink/runtime/leaderelection/TestingListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 87decc7bddf..85715054d17 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) { -- GitLab