# Kafka producer failed to write

**URL:** <https://discuss.akka.io/t/kafka-producer-failed-to-write/6311>\
**Category:** Akka Streams & Alpakka\
**Created:** [April 21, 2020, 5:57am UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311 "2020-04-21T05:57:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![architmmmec](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@architmmmec](https://discuss.akka.io/u/architmmmec)\
**Post date:** [April 21, 2020, 5:57am UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311/1 "2020-04-21T05:57:44Z")

</div>

I am using Alpakka Kafka Producer flow and I want a way to see if the message was produced successfully or failed while writing to Kafka and I want to pass this info in downstream. Based on the success/fail value I want to write the custom logic. Can someone please help!

---

<div class="post-metadata">

**Author:** ![ennru](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.akka.io/ennru/32/1495_2.png) [@ennru](https://discuss.akka.io/u/ennru)\
**Post date:** [April 21, 2020, 3:43pm UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311/2 "2020-04-21T15:43:32Z")

</div>

Hi @architmmmec

Alpakka Kafka producers do not support emitting success/failure, a producer failure will cancel the stream.  
See [Kafka - Ability to react on message publication result](https://discuss.akka.io/t/kafka-ability-to-react-on-message-publication-result/6208/8) for a more detailed discussion.

Cheers,  
Enno.

---

<div class="post-metadata">

**Author:** ![architmmmec](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@architmmmec](https://discuss.akka.io/u/architmmmec)\
**Post date:** [April 22, 2020, 9:07am UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311/3 "2020-04-22T09:07:30Z")

</div>

If exception is “kafka.network.exception” or “kafka.timeout.exception” then we can recover that element?

---

<div class="post-metadata">

**Author:** ![architmmmec](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@architmmmec](https://discuss.akka.io/u/architmmmec)\
**Post date:** [April 22, 2020, 10:13am UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311/4 "2020-04-22T10:13:20Z")

</div>

@ennru, My use case is I want to write to buffer those events which were not written successfully in Kafka and Kafka will again try to write those events. But thing is I am not able to filter elements which were written successfully or failed because it is a stream and as soon as exception comes it goes to Actor’s supervision decider from where stream was called. I tried adding recover in a stream but couldn’t achieve it,

---

<div class="post-metadata">

**Author:** ![ennru](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.akka.io/ennru/32/1495_2.png) [@ennru](https://discuss.akka.io/u/ennru)\
**Post date:** [May 5, 2020, 3:09pm UTC](https://discuss.akka.io/t/kafka-producer-failed-to-write/6311/5 "2020-05-05T15:09:43Z")

</div>

That is not easily possible with the current Alpakka Kafka API.  
[https://github.com/akka/alpakka-kafka/issues/1101](https://github.com/akka/alpakka-kafka/issues/1101) suggests to add support for it.
