-
Notifications
You must be signed in to change notification settings - Fork 386
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
CommittingProducerSinkStage never completes #1783
Comments
ilinandrii
changed the title
ProducerCommitterSink never completes
CommittingProducerSinkStage never completes
Oct 3, 2024
Here's test log that shows that consumer and sink actually stopped.
|
The |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Akka version:
2.5.32
Alpakka version:
2.0.5
Scala version:
2.12.17
Testcontainers Kafka
1.19.0
Expected Behavior
Future[Done]
materialized fromProducer.committableSink
is completed whenCommittingProducerSinkStage
finishes because of a producer exception.Actual Behavior
Future[Done]
materialized fromProducer.committableSink
never completes whenCommittingProducerSinkStage
finishes because of a producer exception.Additional information
In my particular case a producer used within
CommittingProducerSinkStage
failed to register schema, this caused sink and consumer to complete, howeverisShutdown
future on stream'sDrainingControl
built from sink'sFuture[Done]
andConsumer.Control
never completes, therefore shutdown hook I set up based onisShutdown
never fired.Reproducible Test Case
Here's a test.
I emulate producer serialization error with mock serializer.
control.isShutdown.futureValue
completes successfullycompletion.futureValue
runs forever, however stream is dead.Hence if I build
DrainingControl
fromcontrol
andcompletion
it'sisShutdown
will also never be completed.Looking into implementation I suppose promise never completes in case of
producer.send
failure.The text was updated successfully, but these errors were encountered: