You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by rm...@apache.org on 2015/09/22 18:26:19 UTC

flink git commit: [FLINK-2392][yarn tests] Address concurrent modification exception

Repository: flink
Updated Branches:
  refs/heads/master a3df109cf -> 47afdfbf9


[FLINK-2392][yarn tests] Address concurrent modification exception


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/47afdfbf
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/47afdfbf
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/47afdfbf

Branch: refs/heads/master
Commit: 47afdfbf917130c1288b67260f6c6236eea148e1
Parents: a3df109
Author: Robert Metzger <rm...@apache.org>
Authored: Tue Sep 22 12:40:50 2015 +0200
Committer: Robert Metzger <rm...@apache.org>
Committed: Tue Sep 22 15:19:47 2015 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/flink/yarn/UtilsTest.java | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/47afdfbf/flink-yarn-tests/src/main/java/org/apache/flink/yarn/UtilsTest.java
----------------------------------------------------------------------
diff --git a/flink-yarn-tests/src/main/java/org/apache/flink/yarn/UtilsTest.java b/flink-yarn-tests/src/main/java/org/apache/flink/yarn/UtilsTest.java
index 086384d..1e9e4fa 100644
--- a/flink-yarn-tests/src/main/java/org/apache/flink/yarn/UtilsTest.java
+++ b/flink-yarn-tests/src/main/java/org/apache/flink/yarn/UtilsTest.java
@@ -76,22 +76,27 @@ public class UtilsTest {
 			throw new NullPointerException("Initialize test appender first");
 		}
 		LoggingEvent found = null;
-		for(LoggingEvent event: testAppender.events) {
-			if(event.getMessage().toString().contains(expected)) {
-				found = event;
-				break;
+		// make sure that different threads are not logging while the logs are checked
+		synchronized (testAppender.events) {
+			for (LoggingEvent event : testAppender.events) {
+				if (event.getMessage().toString().contains(expected)) {
+					found = event;
+					break;
+				}
 			}
 		}
 		return found;
 	}
 
 	public static class TestAppender extends AppenderSkeleton {
-		public List<LoggingEvent> events = new ArrayList<LoggingEvent>();
+		public final List<LoggingEvent> events = new ArrayList<>();
 		public void close() {}
 		public boolean requiresLayout() {return false;}
 		@Override
 		protected void append(LoggingEvent event) {
-			events.add(event);
+			synchronized (events){
+				events.add(event);
+			}
 		}
 	}
 }