fedorzipp opened a new issue, #12114: URL: https://github.com/apache/iceberg/issues/12114
When I do close in try-with resources way I got "java.lang.IllegalStateException: Connection pool shut down" on s3's connection pool. Using S3FileIO impl to store on S3. Version: 1.7.1 (latest release). ``` try (FileAppender<Record> appender = createFileAppender(table, outputFile)) { records.forEach(appender::add); } catch (final IOException ex) { log.error("Cannot append records to table {}: {}", table.name(), ex.getMessage(), ex); throw new IllegalStateException("Cannot append records to table " + table.name(), ex); } FileAppender<Record> createFileAppender( final Table table, final OutputFile outputFile) throws IOException { return Parquet.write(outputFile) .forTable(table) .schema(table.schema()) .createWriterFunc(GenericParquetWriter::buildWriter) .build(); } } ``` ``` Exception: { "class": "org.apache.http.util.Asserts", "method": "check", "line": 34 }, { "class": "org.apache.http.impl.conn.PoolingHttpClientConnectionManager", "method": "requestConnection", "line": 269 }, { "class": "software.amazon.awssdk.http.apache.internal.conn.ClientConnectionManagerFactory$DelegatingHttpClientConnectionManager", "method": "requestConnection", "line": 75 }, { "class": "software.amazon.awssdk.http.apache.internal.conn.ClientConnectionManagerFactory$InstrumentedHttpClientConnectionManager", "method": "requestConnection", "line": 57 }, { "class": "org.apache.http.impl.execchain.MainClientExec", "method": "execute", "line": 176 }, { "class": "org.apache.http.impl.execchain.ProtocolExec", "method": "execute", "line": 186 }, { "class": "org.apache.http.impl.client.InternalHttpClient", "method": "doExecute", "line": 185 }, { "class": "org.apache.http.impl.client.CloseableHttpClient", "method": "execute", "line": 83 }, { "class": "org.apache.http.impl.client.CloseableHttpClient", "method": "execute", "line": 56 }, { "class": "software.amazon.awssdk.http.apache.internal.impl.ApacheSdkHttpClient", "method": "execute", "line": 72 }, { "class": "software.amazon.awssdk.http.apache.ApacheHttpClient", "method": "execute", "line": 254 }, { "class": "software.amazon.awssdk.http.apache.ApacheHttpClient", "method": "access$500", "line": 104 }, { "class": "software.amazon.awssdk.http.apache.ApacheHttpClient$1", "method": "call", "line": 231 }, { "class": "software.amazon.awssdk.http.apache.ApacheHttpClient$1", "method": "call", "line": 228 }, { "class": "software.amazon.awssdk.core.internal.util.MetricUtils", "method": "measureDurationUnsafe", "line": 99 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage", "method": "executeHttpRequest", "line": 79 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage", "method": "execute", "line": 57 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage", "method": "execute", "line": 40 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage", "method": "execute", "line": 72 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage", "method": "execute", "line": 42 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage", "method": "execute", "line": 78 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage", "method": "execute", "line": 40 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage", "method": "execute", "line": 55 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage", "method": "execute", "line": 39 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage", "method": "execute", "line": 81 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage", "method": "execute", "line": 36 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.StreamManagingStage", "method": "execute", "line": 56 }, { "class": "software.amazon.awssdk.core.internal.http.StreamManagingStage", "method": "execute", "line": 36 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage", "method": "executeWithTimer", "line": 80 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage", "method": "execute", "line": 60 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage", "method": "execute", "line": 42 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage", "method": "execute", "line": 50 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage", "method": "execute", "line": 32 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage", "method": "execute", "line": 206 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage", "method": "execute", "line": 37 }, { "class": "software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage", "method": "execute", "line": 26 }, { "class": "software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl", "method": "execute", "line": 224 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "invoke", "line": 103 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "doExecute", "line": 173 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "lambda$execute$1", "line": 80 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "measureApiCallSuccess", "line": 182 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "execute", "line": 74 }, { "class": "software.amazon.awssdk.core.client.handler.SdkSyncClientHandler", "method": "execute", "line": 45 }, { "class": "software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler", "method": "execute", "line": 53 }, { "class": "software.amazon.awssdk.services.sts.DefaultStsClient", "method": "assumeRoleWithWebIdentity", "line": 767 }, { "class": "software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider", "method": "getUpdatedCredentials", "line": 74 }, { "class": "software.amazon.awssdk.services.sts.auth.StsCredentialsProvider", "method": "updateSessionCredentials", "line": 92 }, { "class": "software.amazon.awssdk.utils.cache.CachedSupplier", "method": "lambda$jitteredPrefetchValueSupplier$8", "line": 300 }, { "class": "software.amazon.awssdk.utils.cache.CachedSupplier$PrefetchStrategy", "method": "fetch", "line": 448 }, { "class": "software.amazon.awssdk.utils.cache.CachedSupplier", "method": "refreshCache", "line": 208 }, { "class": "software.amazon.awssdk.utils.cache.CachedSupplier", "method": "get", "line": 135 }, { "class": "software.amazon.awssdk.services.sts.auth.StsCredentialsProvider", "method": "resolveCredentials", "line": 105 }, { "class": "software.amazon.awssdk.services.sts.internal.StsWebIdentityCredentialsProviderFactory$StsWebIdentityCredentialsProvider", "method": "resolveCredentials", "line": 109 }, { "class": "software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider", "method": "resolveCredentials", "line": 143 }, { "class": "software.amazon.awssdk.auth.credentials.AwsCredentialsProvider", "method": "resolveIdentity", "line": 54 }, { "class": "software.amazon.awssdk.identity.spi.IdentityProvider", "method": "resolveIdentity", "line": 60 }, { "class": "software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain", "method": "resolveCredentials", "line": 103 }, { "class": "software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider", "method": "resolveCredentials", "line": 45 }, { "class": "software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider", "method": "resolveCredentials", "line": 128 }, { "class": "software.amazon.awssdk.auth.credentials.AwsCredentialsProvider", "method": "resolveIdentity", "line": 54 }, { "class": "software.amazon.awssdk.services.s3.auth.scheme.internal.S3AuthSchemeInterceptor", "method": "lambda$trySelectAuthScheme$3", "line": 152 }, { "class": "software.amazon.awssdk.core.internal.util.MetricUtils", "method": "reportDuration", "line": 77 }, { "class": "software.amazon.awssdk.services.s3.auth.scheme.internal.S3AuthSchemeInterceptor", "method": "trySelectAuthScheme", "line": 152 }, { "class": "software.amazon.awssdk.services.s3.auth.scheme.internal.S3AuthSchemeInterceptor", "method": "selectAuthScheme", "line": 83 }, { "class": "software.amazon.awssdk.services.s3.auth.scheme.internal.S3AuthSchemeInterceptor", "method": "beforeExecution", "line": 63 }, { "class": "software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain", "method": "lambda$beforeExecution$1", "line": 59 }, { "class": "java.util.ArrayList", "method": "forEach", "line": 1596 }, { "class": "software.amazon.awssdk.core.interceptor.ExecutionInterceptorChain", "method": "beforeExecution", "line": 59 }, { "class": "software.amazon.awssdk.awscore.internal.AwsExecutionContextBuilder", "method": "runInitialInterceptors", "line": 239 }, { "class": "software.amazon.awssdk.awscore.internal.AwsExecutionContextBuilder", "method": "invokeInterceptorsAndCreateExecutionContext", "line": 130 }, { "class": "software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler", "method": "invokeInterceptorsAndCreateExecutionContext", "line": 67 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "lambda$execute$1", "line": 76 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "measureApiCallSuccess", "line": 182 }, { "class": "software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler", "method": "execute", "line": 74 }, { "class": "software.amazon.awssdk.core.client.handler.SdkSyncClientHandler", "method": "execute", "line": 45 }, { "class": "software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler", "method": "execute", "line": 53 }, { "class": "software.amazon.awssdk.services.s3.DefaultS3Client", "method": "headObject", "line": 6319 }, { "class": "org.apache.iceberg.aws.s3.BaseS3File", "method": "getObjectMetadata", "line": 85 }, { "class": "org.apache.iceberg.aws.s3.BaseS3File", "method": "exists", "line": 70 }, { "class": "org.apache.iceberg.aws.s3.S3OutputFile", "method": "exists", "line": 32 }, { "class": "org.apache.iceberg.aws.s3.S3OutputFile", "method": "create", "line": 60 }, { "class": "org.apache.iceberg.parquet.ParquetIO$ParquetOutputFile", "method": "create", "line": 146 }, { "class": "org.apache.parquet.hadoop.ParquetFileWriter", "method": "<init>", "line": 473 }, { "class": "org.apache.parquet.hadoop.ParquetFileWriter", "method": "<init>", "line": 431 }, { "class": "org.apache.iceberg.parquet.ParquetWriter", "method": "ensureWriterInitialized", "line": 111 }, { "class": "org.apache.iceberg.parquet.ParquetWriter", "method": "flushRowGroup", "line": 210 }, { "class": "org.apache.iceberg.parquet.ParquetWriter", "method": "close", "line": 254 }, ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org