Skip to content

Commit a8a5e54

Browse files
fix: narrow flush fix to span exporter
1 parent 7195477 commit a8a5e54

4 files changed

Lines changed: 16 additions & 14 deletions

File tree

exporters/logging/src/main/java/io/opentelemetry/exporter/logging/LoggingMetricExporter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,15 @@ public CompletableResultCode export(Collection<MetricData> metrics) {
8484
*/
8585
@Override
8686
public CompletableResultCode flush() {
87+
CompletableResultCode resultCode = new CompletableResultCode();
8788
for (Handler handler : logger.getHandlers()) {
8889
try {
8990
handler.flush();
9091
} catch (Throwable t) {
91-
return CompletableResultCode.ofFailure();
92+
return resultCode.fail();
9293
}
9394
}
94-
return CompletableResultCode.ofSuccess();
95+
return resultCode.succeed();
9596
}
9697

9798
@Override

exporters/logging/src/main/java/io/opentelemetry/exporter/logging/LoggingSpanExporter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,15 @@ public CompletableResultCode export(Collection<SpanData> spans) {
7474
*/
7575
@Override
7676
public CompletableResultCode flush() {
77+
CompletableResultCode resultCode = new CompletableResultCode();
7778
for (Handler handler : logger.getHandlers()) {
7879
try {
7980
handler.flush();
8081
} catch (Throwable t) {
81-
return CompletableResultCode.ofFailure();
82+
return resultCode.fail();
8283
}
8384
}
84-
return CompletableResultCode.ofSuccess();
85+
return resultCode.succeed();
8586
}
8687

8788
@Override

exporters/logging/src/test/java/io/opentelemetry/exporter/logging/LoggingMetricExporterTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.util.Collections;
2626
import java.util.concurrent.TimeUnit;
2727
import java.util.concurrent.atomic.AtomicBoolean;
28-
import java.util.logging.Handler;
2928
import java.util.logging.Logger;
3029
import java.util.logging.SimpleFormatter;
3130
import java.util.logging.StreamHandler;
@@ -103,19 +102,20 @@ public synchronized void flush() {
103102
}
104103

105104
@Test
106-
void flush_failure() {
107-
Handler failingHandler =
105+
void flushFailure() {
106+
Logger logger = Logger.getLogger(LoggingMetricExporter.class.getName());
107+
StreamHandler failingHandler =
108108
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
109109
@Override
110110
public synchronized void flush() {
111111
throw new RuntimeException("Flush failed");
112112
}
113113
};
114-
Logger.getLogger(LoggingMetricExporter.class.getName()).addHandler(failingHandler);
114+
logger.addHandler(failingHandler);
115115
try {
116116
assertThat(exporter.flush().isSuccess()).isFalse();
117117
} finally {
118-
Logger.getLogger(LoggingMetricExporter.class.getName()).removeHandler(failingHandler);
118+
logger.removeHandler(failingHandler);
119119
}
120120
}
121121

exporters/logging/src/test/java/io/opentelemetry/exporter/logging/LoggingSpanExporterTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import java.util.Collections;
3232
import java.util.concurrent.TimeUnit;
3333
import java.util.concurrent.atomic.AtomicBoolean;
34-
import java.util.logging.Handler;
3534
import java.util.logging.Logger;
3635
import java.util.logging.SimpleFormatter;
3736
import java.util.logging.StreamHandler;
@@ -141,19 +140,20 @@ public synchronized void flush() {
141140
}
142141

143142
@Test
144-
void flush_failure() {
145-
Handler failingHandler =
143+
void flushFailure() {
144+
Logger logger = Logger.getLogger(LoggingSpanExporter.class.getName());
145+
StreamHandler failingHandler =
146146
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
147147
@Override
148148
public synchronized void flush() {
149149
throw new RuntimeException("Flush failed");
150150
}
151151
};
152-
Logger.getLogger(LoggingSpanExporter.class.getName()).addHandler(failingHandler);
152+
logger.addHandler(failingHandler);
153153
try {
154154
assertThat(exporter.flush().isSuccess()).isFalse();
155155
} finally {
156-
Logger.getLogger(LoggingSpanExporter.class.getName()).removeHandler(failingHandler);
156+
logger.removeHandler(failingHandler);
157157
}
158158
}
159159

0 commit comments

Comments
 (0)