diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java index a12d9fd64d5..151cbaadb07 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClientImpl.java @@ -411,7 +411,8 @@ public void operationComplete(final int rc, PerChannelBookieClient pcbc) { try { if (rc != BKException.Code.OK) { - bookieClient.completeAdd(rc, ledgerId, entryId, addr, cb, ctx); + bookieClient.executor.executeOrdered(ledgerId, () -> + bookieClient.completeAdd(rc, ledgerId, entryId, addr, cb, ctx)); } else { pcbc.addEntry(ledgerId, masterKey, entryId, toSend, cb, ctx, options, allowFastFail, writeFlags);