@@ -78,7 +78,6 @@ class SpannerCloudMonitoringExporter implements MetricExporter {
7878 private CompletableResultCode lastExportCode ;
7979 private final MetricServiceClient client ;
8080 private final String spannerProjectId ;
81- private final AtomicBoolean isShutdown = new AtomicBoolean (false );
8281
8382 static SpannerCloudMonitoringExporter create (String projectId , @ Nullable Credentials credentials )
8483 throws IOException {
@@ -109,7 +108,7 @@ static SpannerCloudMonitoringExporter create(String projectId, @Nullable Credent
109108
110109 @ Override
111110 public CompletableResultCode export (Collection <MetricData > collection ) {
112- if (isShutdown . get ()) {
111+ if (client . isShutdown ()) {
113112 logger .log (Level .WARNING , "Exporter is shut down" );
114113 return CompletableResultCode .ofFailure ();
115114 }
@@ -207,31 +206,24 @@ private ApiFuture<List<Empty>> exportTimeSeriesInBatch(
207206
208207 @ Override
209208 public CompletableResultCode flush () {
210- if (lastExportCode != null ) {
211- return lastExportCode ;
212- }
213209 return CompletableResultCode .ofSuccess ();
214210 }
215211
216212 @ Override
217213 public CompletableResultCode shutdown () {
218- if (! isShutdown . compareAndSet ( false , true )) {
214+ if (client . isShutdown ( )) {
219215 logger .log (Level .WARNING , "shutdown is called multiple times" );
220216 return CompletableResultCode .ofSuccess ();
221217 }
222- CompletableResultCode flushResult = flush ();
223218 CompletableResultCode shutdownResult = new CompletableResultCode ();
224- flushResult .whenComplete (
225- () -> {
226- try {
227- client .shutdown ();
228- shutdownResult .succeed ();
229- } catch (Throwable e ) {
230- logger .log (Level .WARNING , "failed to shutdown the monitoring client" , e );
231- shutdownResult .fail ();
232- }
233- });
234- return CompletableResultCode .ofAll (Arrays .asList (flushResult , shutdownResult ));
219+ try {
220+ client .shutdown ();
221+ shutdownResult .succeed ();
222+ } catch (Throwable e ) {
223+ logger .log (Level .WARNING , "failed to shutdown the monitoring client" , e );
224+ shutdownResult .fail ();
225+ }
226+ return shutdownResult ;
235227 }
236228
237229 /**
0 commit comments