Description
Describe the bug
Hi!
After bumping the Quarkus Reactive Messaging HTTP extension (https://github.com/quarkiverse/quarkus-reactive-messaging-http) from Quarkus 3.21.x → 3.22.1, all of the sink backpressure tests annotated with @OnOverflow
are failing. In particular, in:
and
The configured buffer sizes and THROW_EXCEPTION
strategies are simply ignored, so emissions either block forever or succeed unbounded instead of triggering overflow.
Expected behavior
An emitter declared as
@Channel("my-http-sink")
@OnOverflow(Strategy.THROW_EXCEPTION)
Emitter<Object> emitterThrowingOnOverflow;
should immediately fail the second send()
, and an emitter declared with
@Channel("my-http-sink2")
@OnOverflow(value = Strategy.BUFFER, bufferSize = 10)
Emitter<Object> emitterBufferingOnOverflow;
should buffer exactly 10 in-flight messages (1 in progress + 10 queued), then reject the 12th.
Actual behavior
- The “throw on overflow” emitter does not throw on the second send.
- The “buffer up to 10” emitter accepts all 12 sends, draining only as the test releases the endpoint.
- Inspection shows the
buffer-size
annotation isn’t being picked up from MicroProfile config (it always falls back to the default).
How to Reproduce?
- Clone the v2.5.0 tag of the extension.
- In the root
pom.xml
, set Quarkus BOM to 3.22.1. - Run the failing tests in
deployment/src/test/java/.../HttpSinkBackpressureTest.java
.
Output of uname -a
or ver
Darwin 24.4.0 Darwin Kernel Version 24.4.0: Fri Apr 11 18:33:47 PDT 2025; root:xnu-11417.101.15~117/RELEASE_ARM64_T6030 arm64
Output of java -version
openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment GraalVM CE 17.0.9+9.1 (build 17.0.9+9-jvmci-23.0-b22) OpenJDK 64-Bit Server VM GraalVM CE 17.0.9+9.1 (build 17.0.9+9-jvmci-23.0-b22, mixed mode, sharing)
Quarkus version or git rev
3.22.1
Build tool (ie. output of mvnw --version
or gradlew --version
)
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937) Maven home: /opt/homebrew/Cellar/maven/3.9.9/libexec Java version: 17.0.9, vendor: GraalVM Community, runtime: /Users/ricferna/.sdkman/candidates/java/17.0.9-graalce Default locale: en_CA, platform encoding: UTF-8 OS name: "mac os x", version: "15.4.1", arch: "aarch64", family: "mac"
Additional information
I verified that everything works normally on Quarkus 3.21.x but fails immediately after upgrading to 3.22.1. My investigation pointed at the shared-context rewrite in #46174. I’m happy to supply a minimal reproducer or pair on a fix.