瀏覽代碼

HADOOP-19567. S3A: error stack traces printed on analytics stream factory close (#7701)

Contributed by Steve Loughran
Steve Loughran 6 天之前
父節點
當前提交
91e6045803

+ 9 - 1
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/streams/AnalyticsStreamFactory.java

@@ -21,6 +21,8 @@ package org.apache.hadoop.fs.s3a.impl.streams;
 
 import java.io.IOException;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import software.amazon.s3.analyticsaccelerator.S3SdkObjectClient;
 import software.amazon.s3.analyticsaccelerator.S3SeekableInputStreamConfiguration;
 import software.amazon.s3.analyticsaccelerator.S3SeekableInputStreamFactory;
@@ -40,6 +42,8 @@ import static org.apache.hadoop.fs.s3a.impl.streams.StreamIntegration.populateVe
  *  {@code S3AStore}, if fs.s3a.input.stream.type is set to Analytics.
  */
 public class AnalyticsStreamFactory extends AbstractObjectInputStreamFactory {
+  private static final Logger LOG =
+      LoggerFactory.getLogger(AnalyticsStreamFactory.class);
 
   private S3SeekableInputStreamConfiguration seekableInputStreamConfiguration;
   private LazyAutoCloseableReference<S3SeekableInputStreamFactory>  s3SeekableInputStreamFactory;
@@ -98,7 +102,11 @@ public class AnalyticsStreamFactory extends AbstractObjectInputStreamFactory {
 
   @Override
   protected void serviceStop() throws Exception {
-    this.s3SeekableInputStreamFactory.close();
+    try {
+      s3SeekableInputStreamFactory.close();
+    } catch (Exception ignored) {
+      LOG.debug("Ignored exception while closing stream factory", ignored);
+    }
     callbacks().incrementFactoryStatistic(ANALYTICS_STREAM_FACTORY_CLOSED);
     super.serviceStop();
   }