Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS CRT-based S3 client does not work with Jetty 12.0.13+ #2136

Open
matdue opened this issue Nov 11, 2024 · 1 comment
Open

AWS CRT-based S3 client does not work with Jetty 12.0.13+ #2136

matdue opened this issue Nov 11, 2024 · 1 comment
Assignees
Labels
bug dependencies Pull requests that update a dependency file feature

Comments

@matdue
Copy link
Contributor

matdue commented Nov 11, 2024

Spring Boot 3.3.4 upgrades Jetty to 12.0.13, which unfortunately breaks the test with AWS CRT-based S3 client (CrtAsyncV2IT.testStreamUploadOfUnknownSize and testStreamUploadOfUnknownSize_transferManager). The reason is probably the changed behaviour when handling 100-continue requests.

With Tomcat, the CRT client works fine. In 2018, Tomcat has been replaced with Jetty. The changelog does not include the reason why the server engine has been switched.

I've created a pull request which uses Tomcat (again) instead of Jetty.

@afranken afranken self-assigned this Nov 11, 2024
@afranken afranken added bug feature dependencies Pull requests that update a dependency file labels Nov 11, 2024
@afranken
Copy link
Member

@matdue thanks. I'll have to think about this.

I am also not too happy with Jetty being used as the application container in S3Mock since Tomcat has been the default container for Spring Boot for many years, and the Jetty team is always behind on Servlet spec implementation, changed their interpretation of URIs in patch or minor versions, needing me to find those issues and fix S3Mock again and again, etc. I missed the opportunity to slip this change in when going from 2.x to 3.x (back then, I mainly updated Spring Boot from 2 to 3 and Java from 11 to 17).

Unfortunately, many people still depend directly on the Java release of S3Mock for their tests.
This changes the (transitive) dependencies and may break their builds. :(

If we merge this, the major version would need to be updated to 4.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug dependencies Pull requests that update a dependency file feature
Projects
None yet
Development

No branches or pull requests

2 participants