Skip to content

Commit 32faef1

Browse files
committed
fix scenario where ackCounter was not decremented and no redelivery requested (e.g. in case of rolling updates)
1 parent 5d5376d commit 32faef1

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

connectivity/service/src/main/java/org/eclipse/ditto/connectivity/service/messaging/BaseConsumerActor.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,15 @@ private void prepareResponseHandler(final AcknowledgeableMessage acknowledgeable
203203
ackCounter.decrement();
204204
acknowledgeableMessage.reject(shouldRedeliver);
205205
}
206+
} else {
207+
log().warning(error, "Rejecting [redeliver=true] - got non-Ditto error <{}: {}>. " +
208+
"ResponseCollector=<{}>", error.getClass().getSimpleName(), error.getMessage());
209+
final boolean shouldRedeliver = true;
210+
ackTimer.tag(getAckSuccessTag(false));
211+
ackTimer.tag(getAckRedeliverTag(shouldRedeliver));
212+
ackTimer.stop();
213+
ackCounter.decrement();
214+
acknowledgeableMessage.reject(shouldRedeliver);
206215
}
207216
}
208217
return null;

0 commit comments

Comments
 (0)