Open vsevel opened 5 months ago
/cc @alesj (kafka), @aureamunoz (stork), @cescoffier (kafka,stork), @ozangunalp (kafka)
@ozangunalp started looking at a better way to handle graceful shutdowns.
So, we are planning something but it's too early to share details (I don't have the details anyway, they are in Ozan's head :-))
FTR, @ozangunalp is still working on it.
Describe the bug
I have a kafka consumer calling a rest service using a stork url. under reasonable load, the rest call fails with a NPE in the
StorkClientRequestFilter
:"io.smallrye.stork.Stork.getInstance()" is null
it sounds like the shutdown of the application does not wait for in flight messages to finish processing, before shutting down parts of the application. the integrity of data is preserved, but some messages are sent to the dead letter topic, delaying our ability to quickly process them, when there is actually another replica that could have processed them.Expected behavior
in a ideal situation, upon shutdown, we should have:
Actual behavior
we see the following exception:
and messages may be sent to the DLT.
How to Reproduce?
create a new application with additional deps:
add properties file:
a producer:
a consumer:
start the application with
quarkus:dev
after startup, presss
you should see multiple exceptions.Output of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
3.12
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response