We are using Spring Cloud Gateway with Netty and noticed the following:
If an http request (for example a file upload) that includes the header
Expect: 100-continue
gets routed to an endpoint the client receives the response as expected
an 100 first and then 202 (that the file was successfully transferred).
HTTP/2 100
HTTP/2 202
vary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Accept-Encoding
date: Wed, 07 May 2025 11:49:24 GMT
...
content-type: application/json
x-content-type-options: nosniff
x-xss-protection: 0
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: 0
strict-transport-security: max-age=31536000 ; includeSubDomains
referrer-policy: strict-origin-when-cross-origin
{"id":"..."}
Everything is fine besides the irritating WARNING log
ChannelOutboundBuffer: Failed to mark a promise as success because it has succeeded already
Expected Behavior
no warning log
Actual Behavior
warning log
Your Environment
- Reactor version(s) used: reactor-netty-core:1.2.5
- Other relevant libraries versions (eg.
netty, ...): netty 4.1.119.Final, spring cloud gateway: 4.2.1, spring boot: 3.4.5
- JVM version (
java -version): Java 21.0.1
- OS and version (eg.
uname -a): linux