-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 9.10, 10.10
-
Fix Version/s: 9.10-HF41, 10.10-HF23, 11.1, 2021.0
-
Component/s: S3
Using S3 Direct Upload with an S3-like storage will fail with the following exception
ERROR [WebEngineExceptionMapper] com.amazonaws.SdkClientException: Unable to execute HTTP request: sts.amazonaws.com com.amazonaws.SdkClientException: Unable to execute HTTP request: sts.amazonaws.com at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleRetryableException(AmazonHttpClient.java:1175) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1121) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512) ~[aws-java-sdk-core-1.11.516.jar:?] at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.doInvoke(AWSSecurityTokenServiceClient.java:1368) ~[aws-java-sdk-sts-1.11.516.jar:?] at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.invoke(AWSSecurityTokenServiceClient.java:1335) ~[aws-java-sdk-sts-1.11.516.jar:?] at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.invoke(AWSSecurityTokenServiceClient.java:1324) ~[aws-java-sdk-sts-1.11.516.jar:?] at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.executeAssumeRole(AWSSecurityTokenServiceClient.java:491) ~[aws-java-sdk-sts-1.11.516.jar:?] at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.assumeRole(AWSSecurityTokenServiceClient.java:464) ~[aws-java-sdk-sts-1.11.516.jar:?] at org.nuxeo.ecm.core.storage.sql.S3DirectBatchHandler.assumeRole(S3DirectBatchHandler.java:215) ~[nuxeo-core-binarymanager-s3-10.10-HF15.jar:?] at org.nuxeo.ecm.core.storage.sql.S3DirectBatchHandler.getBatch(S3DirectBatchHandler.java:199) ~[nuxeo-core-binarymanager-s3-10.10-HF15.jar:?] at org.nuxeo.ecm.automation.server.jaxrs.batch.BatchManagerComponent.lambda$hasBatch$2(BatchManagerComponent.java:209) ~[nuxeo-automation-server-10.10-HF15.jar:?]
because the parameter nuxeo.s3storage.endpoint is not used to configure the S3 client.
Using the method withEndpointConfiguration could provide a solution here
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(S3_ENDPOINT_PARAM))
In addition, the pathStyleAccess must be configurable as well, similar to what is possible for a blob provider (NXP-25525).