This is an automated email from the ASF dual-hosted git repository. yong pushed a commit to branch branch-4.15 in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
commit d0f88fde9045a3d9dc904c06fc225e7286cdb72e Author: Yan Zhao <[email protected]> AuthorDate: Tue Jul 26 13:28:34 2022 +0800 fix underReplicatedLedgerTotalSize calculate problem. (#3337) Descriptions of the changes in this PR: ``` LongAdder underReplicatedSize = new LongAdder(); FutureUtils.processList( Lists.newArrayList(ledgers), ledgerId -> ledgerManager.readLedgerMetadata(ledgerId).whenComplete((metadata, exception) -> { if (exception == null) { underReplicatedSize.add(metadata.getValue().getLength()); } }), null); underReplicatedLedgerTotalSize.registerSuccessfulValue(underReplicatedSize.longValue()); ``` `FutureUtils.processList` is async process, should record `underReplicatedLedgerTotalSize` when it completed. (cherry picked from commit ded05aa2218f1e98c650070e9d0152213c4d09fe) --- .../src/main/java/org/apache/bookkeeper/replication/Auditor.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java index bad82eb17d..8404e97e21 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/Auditor.java @@ -1214,8 +1214,9 @@ public class Auditor implements AutoCloseable { if (exception == null) { underReplicatedSize.add(metadata.getValue().getLength()); } - }), null); - underReplicatedLedgerTotalSize.registerSuccessfulValue(underReplicatedSize.longValue()); + }), null).whenComplete((res, e) -> { + underReplicatedLedgerTotalSize.registerSuccessfulValue(underReplicatedSize.longValue()); + }); return FutureUtils.processList( Lists.newArrayList(ledgers),
