-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Add configuration options to configure limits for Multipart Payloads in Rest Clients #46547
base: main
Are you sure you want to change the base?
Conversation
Thanks for the PR! We will need to figure out if we can apply the same limits to the Quarkus REST Client (aka RESTEasy Reactive client). |
Also, this now conflicts with |
@geoand thanks, i rebased it |
…eshold settings for multipart requests of a client builder
Status for workflow
|
🎊 PR Preview 43c95ab has been successfully built and deployed to https://quarkus-pr-main-46547-preview.surge.sh/version/main/guides/
|
Status for workflow
|
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
✖ | JVM Tests - JDK 17 | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | JVM Tests - JDK 21 | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | JVM Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | 🔍 |
Full information is available in the Build summary check run.
You can consult the Develocity build scans.
Failures
⚙️ JVM Tests - JDK 17 #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-client/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 29 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues
line 83
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:83)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
📦 extensions/resteasy-reactive/rest-client/deployment
✖ io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs
line 59
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.ConfigurationTest.verifyClientConfig(ConfigurationTest.java:95)
at io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs(ConfigurationTest.java:59)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
✖ io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues
line 82
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:82)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
⚙️ JVM Tests - JDK 21 #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-client/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 29 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues
line 83
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:83)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
📦 extensions/resteasy-reactive/rest-client/deployment
✖ io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs
line 59
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.ConfigurationTest.verifyClientConfig(ConfigurationTest.java:95)
at io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs(ConfigurationTest.java:59)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
✖ io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues
line 82
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:82)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
⚙️ JVM Tests - JDK 17 Windows #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-client/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 29 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues
line 83
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.restclient.configuration.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:83)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
📦 extensions/resteasy-reactive/rest-client/deployment
✖ io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs
line 59
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.ConfigurationTest.verifyClientConfig(ConfigurationTest.java:95)
at io.quarkus.rest.client.reactive.ConfigurationTest.checkClientSpecificConfigs(ConfigurationTest.java:59)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
✖ io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues
line 82
- History - More details - Source on GitHub
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at io.quarkus.rest.client.reactive.GlobalConfigurationTest.checkGlobalConfigValues(GlobalConfigurationTest.java:82)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.test.QuarkusUnitTest.runExtensionMethod(QuarkusUnitTest.java:521)
at io.quarkus.test.QuarkusUnitTest.interceptTestMethod(QuarkusUnitTest.java:435)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
The RESTEasy Documentation states that the limits for the content of
jakarta.ws.rs.core.EntityPart
in Multipart requests can be configured using the configuration propertiesdev.resteasy.entity.memory.threshold
(defaulting to 5 MB) anddev.resteasy.entity.file.threshold
(defaulting to 50 MB) and that it is possible to define these properties as system properties, servlet context properties or a MicroProfile Config compatible value.This PR introduces two new properties to
io.quarkus.restclient.config.RestClientsConfig.RestClientMultipartConfig
, allowing the user to specify these two limits asio.quarkus.runtime.configuration.MemorySize
values via the Quarkus configuration, e.g.: