maxHttpConnections of S3AccessConfig not work
bug
### Describe the bug
k8s image: docker.io/apache/polaris:1.5.0
I config the k8s config map polaris like:
```properties
data:
application.properties: |-
polaris.authentication.authenticator.type=default
polaris.authentication.token-broker.max-token-generation=PT1H
polaris.authentication.token-broker.rsa-key-pair.private-key-file=/deployments/config/private.pem
polaris.authentication.token-broker.rsa-key-pair.public-key-file=/deployments/config/public.pem
polaris.authentication.token-broker.type=rsa-key-pair
polaris.authentication.token-service.type=default
polaris.authentication.type=internal
polaris.features."DROP_WITH_PURGE_ENABLED"=true
polaris.features."ENFORCE_PRINCIPAL_CREDENTIAL_ROTATION_REQUIRED_CHECKING"=false
polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES"=["S3"]
polaris.file-io.type=default
polaris.log.request-id-header-name=X-Request-ID
polaris.persistence.type=relational-jdbc
polaris.rate-limiter.filter.type=no-op
polaris.realm-context.realms=development-realm,testing-realm,staging-realm
polaris.realm-context.require-header=false
polaris.realm-context.type=default
polaris.storage.max-http-connections=128
polaris.tasks.max-concurrent-tasks=64
quarkus.http.port=8181
quarkus.log.category."org.apache.iceberg.rest".level=INFO
quarkus.log.category."org.apache.polaris".level=INFO
quarkus.log.console.enabled=true
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{requestId},%X{realmId}] [%X{traceId},%X{parentId},%X{spanId},%X{sampled}] (%t) %s%e%n
quarkus.log.console.level=ALL
quarkus.log.file.enabled=false
quarkus.log.level=INFO
quarkus.management.port=8182
quarkus.otel.sdk.disabled=true
```
and use arthas read bean properties like:
```base
[arthas@1]$ vmtool --action getInstances --className org.apache.polaris.service.storage.aws.S3AccessConfig --express 'instances[0]'
@StorageConfiguration$$CMImpl[
aws=@StorageConfiguration$AwsStorageConfig$$CMImpl[org.apache.polaris.service.storage.StorageConfiguration$AwsStorageConfig$$CMImpl@745f],
clientsCacheMaxSize=@OptionalInt[OptionalInt.empty],
connectTimeout=@Optional[Optional.empty],
connectionAcquisitionTimeout=@Optional[Optional.empty],
connectionMaxIdleTime=@Optional[Optional.empty],
connectionTimeToLive=@Optional[Optional.empty],
expectContinueEnabled=@Optional[Optional.empty],
gcpAccessToken=@Optional[Optional.empty],
gcpAccessTokenLifespan=@Optional[Optional.empty],
maxHttpConnections=@OptionalInt[OptionalInt[128]],
readTimeout=@Optional[Optional.empty],
PROPERTIES=@HashMap[isEmpty=false;size=14],
SECRETS=@EmptySet[isEmpty=true;size=0],
]
[arthas@1]$ vmtool --action getInstances --className software.amazon.awssdk.http.SdkHttpClient --express 'instances[0]' -x 3
@NonManagedSdkHttpClient[
delegate=@ManagedHttpClient[
httpClient=@ApacheHttpClient[
CLIENT_NAME=@String[Apache],
log=@Logger[software.amazon.awssdk.utils.Logger@28dca981],
apacheHttpRequestFactory=@ApacheHttpRequestFactory[software.amazon.awssdk.http.apache.internal.impl.ApacheHttpRequestFactory@2743dd3a],
httpClient=@ApacheSdkHttpClient[software.amazon.awssdk.http.apache.internal.impl.ApacheSdkHttpClient@504bed8c],
requestConfig=@ApacheHttpRequestConfig[software.amazon.awssdk.http.apache.internal.ApacheHttpRequestConfig@7e636e51],
resolvedOptions=@AttributeMap[{TlsTrustManagersProvider=Value(null), TrustAllCertificates=Value(false), ConnectionTimeToLive=Value(PT0S), Protocol=Value(HTTP1_1), ConnectionTimeout=Value(PT2S), ReadTimeout=Value(PT30S), TcpKeepalive=Value(false), ConnectionAcquireTimeout=Value(PT10S), ReapIdleConnections=Value(true), TlsNegotiationTimeout=Value(PT5S), MaxConnectionAcquires=Value(10000), MaxConnections=Value(50), TlsKeyManagersProvider=Value(software.amazon.awssdk.http.SystemPropertyTlsKeyManagersProvider@33be40bd), WriteTimeout=Value(PT30S), ProtocolNegotiation=Value(ASSUME_PROTOCOL), ConnectionMaxIdleTimeout=Value(PT1M)}],
],
clientKey=@String[apache[acquisitionTimeoutMs=null,connectionMaxIdleTimeMs=null,connectionTimeToLiveMs=null,connectionTimeoutMs=null,expectContinueEnabled=null,maxConnections=null,proxyEndpoint=null,socketTimeoutMs=null,tcpKeepAliveEnabled=null,type=apache,useIdleConnectionReaperEnabled=null]],
refCount=@Integer[68],
closed=@Boolean[false],
],
]
```
maxHttpConnections of S3AccessConfig is correct (is 128)
but MaxConnections of ApacheHttpClient is invalid(is 50, s3 sdk default value)
### To Reproduce
_No response_
### Actual Behavior
MaxConnections of ApacheHttpClient is default value 50
### Expected Behavior
MaxConnections of ApacheHttpClient is 128
### Additional context
_No response_
### System information
_No response_
3 条评论