This is an automated email from the ASF dual-hosted git repository. szetszwo pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/ratis.git
commit 080bb8e487c74215a445ebd16754591893db7812 Author: jiangyuan <[email protected]> AuthorDate: Tue Jul 19 13:07:38 2022 +0800 RATIS-1627. InstallSnapshotRequests add properties : totalSize (#684) (cherry picked from commit a69f3fb9aca07264274f46d2b4986188b3f0fb1a) --- .../org/apache/ratis/server/leader/InstallSnapshotRequests.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ratis-server/src/main/java/org/apache/ratis/server/leader/InstallSnapshotRequests.java b/ratis-server/src/main/java/org/apache/ratis/server/leader/InstallSnapshotRequests.java index 3455862b..38d1f9a2 100644 --- a/ratis-server/src/main/java/org/apache/ratis/server/leader/InstallSnapshotRequests.java +++ b/ratis-server/src/main/java/org/apache/ratis/server/leader/InstallSnapshotRequests.java @@ -51,6 +51,8 @@ class InstallSnapshotRequests implements Iterable<InstallSnapshotRequestProto> { /** Maximum chunk size. */ private final int snapshotChunkMaxSize; + /** The total size of snapshot files. */ + private final long totalSize; /** The index of the current request. */ private int requestIndex = 0; @@ -67,6 +69,8 @@ class InstallSnapshotRequests implements Iterable<InstallSnapshotRequestProto> { this.requestId = requestId; this.snapshot = snapshot; this.snapshotChunkMaxSize = snapshotChunkMaxSize; + this.totalSize = snapshot.getFiles().stream().mapToLong(FileInfo::getFileSize).reduce(Long::sum).orElseThrow( + () -> new IllegalStateException("Failed to compute total size for snapshot " + snapshot)); } @Override @@ -117,8 +121,6 @@ class InstallSnapshotRequests implements Iterable<InstallSnapshotRequestProto> { } private InstallSnapshotRequestProto newInstallSnapshotRequest(FileChunkProto chunk, boolean done) { - final long totalSize = snapshot.getFiles().stream().mapToLong(FileInfo::getFileSize).reduce(Long::sum).orElseThrow( - () -> new IllegalStateException("Failed to compute total size for snapshot " + snapshot)); synchronized (server) { final SnapshotChunkProto.Builder b = LeaderProtoUtils.toSnapshotChunkProtoBuilder( requestId, requestIndex++, snapshot.getTermIndex(), chunk, totalSize, done);
