You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the S3TransferManager (preview) with a bucket containing the dot char, for example "foo.bar", you get an error.
Expected behavior
Using a bucket with dots should work, as that is a valid character in bucket names.
Current behavior
The error you get is:
Caused by: software.amazon.awssdk.crt.s3.CrtS3RuntimeException: Retry cannot be attempted because the maximum number of retries has been exceeded. AWS_IO_MAX_RETRIES_EXCEEDED(1069) at com.amazonaws.s3.S3NativeClient$1.onFinished(S3NativeClient.java:206)
The real cause is a TLS (SSL) negotiation error. The library apparently tries to use the access point:
https://[bucketname].s3.[region].amazonaws.com
This works fine for bucketnames without dots, since the SSL certificate is tied to *.s3.[region].amazonaws.com.
With a dot (or any number of dots) the domain no longer matches the SSL certificate and the connection can't be established.
The fact that you only get a very generic error makes the cause of the error very difficult to find. Severe errors like these must be propagated all the way to the caller!
Steps to Reproduce
Create a bucket with a dot and try to use it with the S3TransferManager.
Possible Solution
The standard AWS Java v2 SDK (and every other tool I've used) work fine using the "dotted" bucket names, so there must be a solution for this.
Context
No response
AWS Java SDK version used
2.17.75
JDK version used
1.8
Operating System and version
MacOS 11.6.1
The text was updated successfully, but these errors were encountered:
Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
Describe the bug
When using the S3TransferManager (preview) with a bucket containing the dot char, for example "foo.bar", you get an error.
Expected behavior
Using a bucket with dots should work, as that is a valid character in bucket names.
Current behavior
The error you get is:
Caused by: software.amazon.awssdk.crt.s3.CrtS3RuntimeException: Retry cannot be attempted because the maximum number of retries has been exceeded. AWS_IO_MAX_RETRIES_EXCEEDED(1069) at com.amazonaws.s3.S3NativeClient$1.onFinished(S3NativeClient.java:206)
The real cause is a TLS (SSL) negotiation error. The library apparently tries to use the access point:
https://[bucketname].s3.[region].amazonaws.com
This works fine for bucketnames without dots, since the SSL certificate is tied to *.s3.[region].amazonaws.com.
With a dot (or any number of dots) the domain no longer matches the SSL certificate and the connection can't be established.
The fact that you only get a very generic error makes the cause of the error very difficult to find. Severe errors like these must be propagated all the way to the caller!
Steps to Reproduce
Create a bucket with a dot and try to use it with the S3TransferManager.
Possible Solution
The standard AWS Java v2 SDK (and every other tool I've used) work fine using the "dotted" bucket names, so there must be a solution for this.
Context
No response
AWS Java SDK version used
2.17.75
JDK version used
1.8
Operating System and version
MacOS 11.6.1
The text was updated successfully, but these errors were encountered: