The server has an endpoint getting InputStream from a POST (using "Uni")
The client is using the QuarkusRestClientBuilder based on a Java interface for the Quarkus Rest client, but without Uni
If the Java interface is using InputStream too,
using a filter extending ClientHeadersFactory (and @RegisterClientHeaders on it),
having a response filter (using ResteasyReactiveClientResponseFilter and the associate @RegisterProvider),
Then if we goes through QuarkusTest, everything run like a charm
But if we start the server, then the client embedded in an app (both on different ports), so no more in test mode
The client goes correctly to the query filter, logs, then the client stops without sending anything, until timeout occurs
The connexion is done (if we close the client, the server complains about it)
On the contrary, if we use byte array on client side only (letting server as is), then it works both on QuarkusTest and standalone tests
We have no idea on what's happens.
This was reproducible on our OpenShift environement, setting the correct remote server url, but only byte array works, not InputStream
Any idea?
Expected behavior
There should not be any difference between client using InputStream or byte array
Actual behavior
On QuarkusTest, it works.
But out of Quarkus test (standalone, openshift), only byte array works.
How to Reproduce?
Not able until now (except on our code)
Output of uname -a or ver
Linux frederic-Creator-M16-B13VE 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Output of java -version
openjdk version "21.0.3" 2024-04-16 OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1) OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode, sharing)
Quarkus version or git rev
3.11.0
Build tool (ie. output of mvnw --version or gradlew --version)
Describe the bug
First, note that I cannot make a reproducer yet (I tries hard, but didn't find how to reproduce), and I cannot publish the code.
I tried with an example but didn't managed to show the error we've got (https://github.com/fredericBregier/quarkus-build-native-client-test/tree/main)
The issue is the following:
We have no idea on what's happens. This was reproducible on our OpenShift environement, setting the correct remote server url, but only byte array works, not InputStream
Any idea?
Expected behavior
There should not be any difference between client using InputStream or byte array
Actual behavior
On QuarkusTest, it works. But out of Quarkus test (standalone, openshift), only byte array works.
How to Reproduce?
Not able until now (except on our code)
Output of
uname -a
orver
Linux frederic-Creator-M16-B13VE 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Output of
java -version
openjdk version "21.0.3" 2024-04-16 OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1) OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode, sharing)
Quarkus version or git rev
3.11.0
Build tool (ie. output of
mvnw --version
orgradlew --version
)Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae) Maven home: /home/frederic/.m2/wrapper/dists/apache-maven-3.9.6-bin/3311e1d4/apache-maven-3.9.6 Java version: 21.0.3, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: fr_FR, platform encoding: UTF-8 OS name: "linux", version: "6.8.0-35-generic", arch: "amd64", family: "unix"
Additional information
No response