@@ -1259,16 +1259,17 @@ protected void handleProducer(final CommandProducer cmdProducer) {
1259
1259
(BrokerServiceException .TopicBacklogQuotaExceededException ) cause ;
1260
1260
IllegalStateException illegalStateException = new IllegalStateException (tbqe );
1261
1261
BacklogQuota .RetentionPolicy retentionPolicy = tbqe .getRetentionPolicy ();
1262
- if (retentionPolicy == BacklogQuota .RetentionPolicy .producer_request_hold ) {
1263
- commandSender .sendErrorResponse (requestId ,
1264
- ServerError .ProducerBlockedQuotaExceededError ,
1265
- illegalStateException .getMessage ());
1266
- } else if (retentionPolicy == BacklogQuota .RetentionPolicy .producer_exception ) {
1267
- commandSender .sendErrorResponse (requestId ,
1268
- ServerError .ProducerBlockedQuotaExceededException ,
1269
- illegalStateException .getMessage ());
1262
+ if (producerFuture .completeExceptionally (illegalStateException )) {
1263
+ if (retentionPolicy == BacklogQuota .RetentionPolicy .producer_request_hold ) {
1264
+ commandSender .sendErrorResponse (requestId ,
1265
+ ServerError .ProducerBlockedQuotaExceededError ,
1266
+ illegalStateException .getMessage ());
1267
+ } else if (retentionPolicy == BacklogQuota .RetentionPolicy .producer_exception ) {
1268
+ commandSender .sendErrorResponse (requestId ,
1269
+ ServerError .ProducerBlockedQuotaExceededException ,
1270
+ illegalStateException .getMessage ());
1271
+ }
1270
1272
}
1271
- producerFuture .completeExceptionally (illegalStateException );
1272
1273
producers .remove (producerId , producerFuture );
1273
1274
return null ;
1274
1275
}
0 commit comments