[FLINK-34643] Fix concurrency issue in LoggerAuditingExtension
diff --git a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/testutils/logging/LoggerAuditingExtension.java b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/testutils/logging/LoggerAuditingExtension.java
index a1e7367..b70611a 100644
--- a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/testutils/logging/LoggerAuditingExtension.java
+++ b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/testutils/logging/LoggerAuditingExtension.java
@@ -48,7 +48,7 @@
private final String loggerName;
private final org.slf4j.event.Level level;
- private ConcurrentLinkedQueue<LogEvent> loggingEvents;
+ private volatile ConcurrentLinkedQueue<LogEvent> loggingEvents;
public LoggerAuditingExtension(Class<?> clazz, org.slf4j.event.Level level) {
this(clazz.getCanonicalName(), level);
@@ -77,11 +77,12 @@
public void beforeEach(ExtensionContext context) throws Exception {
loggingEvents = new ConcurrentLinkedQueue<>();
+ final ConcurrentLinkedQueue<LogEvent> loggingEventsLocal = loggingEvents;
Appender testAppender =
new AbstractAppender("test-appender", null, null, false, Property.EMPTY_ARRAY) {
@Override
public void append(LogEvent event) {
- loggingEvents.add(event.toImmutable());
+ loggingEventsLocal.add(event.toImmutable());
}
};
testAppender.start();