@@ -161,6 +161,8 @@ pub enum KafkaError {
161161     MessageConsumptionFatal ( RDKafkaErrorCode ) , 
162162    /// Message production error. 
163163     MessageProduction ( RDKafkaErrorCode ) , 
164+     /// Message production failed with fatal error. 
165+      MessageProductionFatal ( RDKafkaErrorCode ) , 
164166    /// Metadata fetch error. 
165167     MetadataFetch ( RDKafkaErrorCode ) , 
166168    /// No message was received. 
@@ -225,6 +227,9 @@ impl fmt::Debug for KafkaError {
225227            KafkaError :: MessageProduction ( err)  => { 
226228                write ! ( f,  "KafkaError (Message production error: {})" ,  err) 
227229            } 
230+             KafkaError :: MessageProductionFatal ( err)  => { 
231+                 write ! ( f,  "(Fatal) KafkaError (Message production error: {})" ,  err) 
232+             } 
228233            KafkaError :: MetadataFetch ( err)  => { 
229234                write ! ( f,  "KafkaError (Metadata fetch error: {})" ,  err) 
230235            } 
@@ -274,6 +279,9 @@ impl fmt::Display for KafkaError {
274279                write ! ( f,  "(Fatal) Message consumption error: {}" ,  err) 
275280            } 
276281            KafkaError :: MessageProduction ( err)  => write ! ( f,  "Message production error: {}" ,  err) , 
282+             KafkaError :: MessageProductionFatal ( err)  => { 
283+                 write ! ( f,  "(Fatal) Message production error: {}" ,  err) 
284+             } 
277285            KafkaError :: MetadataFetch ( err)  => write ! ( f,  "Meta data fetch error: {}" ,  err) , 
278286            KafkaError :: NoMessageReceived  => { 
279287                write ! ( f,  "No message received within the given poll interval" ) 
@@ -309,6 +317,7 @@ impl Error for KafkaError {
309317            KafkaError :: MessageConsumption ( err)  => Some ( err) , 
310318            KafkaError :: MessageConsumptionFatal ( err)  => Some ( err) , 
311319            KafkaError :: MessageProduction ( err)  => Some ( err) , 
320+             KafkaError :: MessageProductionFatal ( err)  => Some ( err) , 
312321            KafkaError :: MetadataFetch ( err)  => Some ( err) , 
313322            KafkaError :: NoMessageReceived  => None , 
314323            KafkaError :: Nul ( _)  => None , 
@@ -350,6 +359,7 @@ impl KafkaError {
350359            KafkaError :: MessageConsumption ( err)  => Some ( * err) , 
351360            KafkaError :: MessageConsumptionFatal ( err)  => Some ( * err) , 
352361            KafkaError :: MessageProduction ( err)  => Some ( * err) , 
362+             KafkaError :: MessageProductionFatal ( err)  => Some ( * err) , 
353363            KafkaError :: MetadataFetch ( err)  => Some ( * err) , 
354364            KafkaError :: NoMessageReceived  => None , 
355365            KafkaError :: Nul ( _)  => None , 
0 commit comments