Skip to content

Commit 487696c

Browse files
authored
[Dataflow Logging handler] Change @lazyinit to AtomicBoolean (#37846)
1 parent 9292e1d commit 487696c

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import com.google.cloud.logging.Synchronicity;
4343
import com.google.common.collect.Iterables;
4444
import com.google.common.collect.Iterators;
45-
import com.google.errorprone.annotations.concurrent.LazyInit;
4645
import com.google.protobuf.Struct;
4746
import java.io.BufferedOutputStream;
4847
import java.io.File;
@@ -146,7 +145,7 @@ static ResourceBundle resourceBundleForNonDirectLogLevelHint(Level nonDirectLogL
146145
}
147146

148147
/** If true, add SLF4J MDC to custom_data of the log message. */
149-
@LazyInit private boolean logCustomMdc = false;
148+
private final AtomicBoolean logCustomMdc = new AtomicBoolean(false);
150149

151150
// Only instantiated and set if enableDirectLogging is called.
152151
private static class DirectLoggingState {
@@ -248,7 +247,7 @@ public DataflowWorkerLoggingHandler(String filename, long sizeLimit) throws IOEx
248247
}
249248

250249
public void setLogMdc(boolean enabled) {
251-
logCustomMdc = enabled;
250+
logCustomMdc.set(enabled);
252251
}
253252

254253
private static Pair<ImmutableMap<String, String>, ImmutableMap<String, String>>
@@ -355,7 +354,7 @@ LogEntry constructDirectLogEntry(
355354
addLogField(payloadBuilder, "worker", DataflowWorkerLoggingMDC.getWorkerId(), FIELD_MAX_LENGTH);
356355
addLogField(payloadBuilder, "work", DataflowWorkerLoggingMDC.getWorkId(), FIELD_MAX_LENGTH);
357356
addLogField(payloadBuilder, "job", DataflowWorkerLoggingMDC.getJobId(), FIELD_MAX_LENGTH);
358-
if (logCustomMdc) {
357+
if (logCustomMdc.get()) {
359358
@Nullable Map<String, String> mdcMap = MDC.getCopyOfContextMap();
360359
if (mdcMap != null && !mdcMap.isEmpty()) {
361360
Struct.Builder customDataBuilder =
@@ -606,7 +605,7 @@ public synchronized void publishToDisk(
606605
writeIfNotEmpty(generator, "work", DataflowWorkerLoggingMDC.getWorkId());
607606
writeIfNotEmpty(generator, "logger", record.getLoggerName());
608607
writeIfNotEmpty(generator, "exception", formatException(record.getThrown()));
609-
if (logCustomMdc) {
608+
if (logCustomMdc.get()) {
610609
@Nullable Map<String, String> mdcMap = MDC.getCopyOfContextMap();
611610
if (mdcMap != null && !mdcMap.isEmpty()) {
612611
generator.writeFieldName("custom_data");

0 commit comments

Comments
 (0)