You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2021/12/04 15:23:56 UTC
[hbase] 02/02: HBASE-26490 Add builder for class ReplicationLoadSink (#3883)
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 02fa0903a206bbcc42b7daaadb66e428e0a4184e
Author: Yutong Xiao <yu...@gmail.com>
AuthorDate: Sat Dec 4 23:00:22 2021 +0800
HBASE-26490 Add builder for class ReplicationLoadSink (#3883)
Signed-off-by: Reid Chan <re...@apache.org>
Signed-off-by: Duo Zhang <zh...@apache.org>
---
.../hbase/replication/ReplicationLoadSink.java | 44 ++++++++++++++++++++--
.../hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 10 +++--
2 files changed, 47 insertions(+), 7 deletions(-)
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationLoadSink.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationLoadSink.java
index f9afddd..7551560 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationLoadSink.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationLoadSink.java
@@ -22,9 +22,7 @@ public class ReplicationLoadSink {
private final long timestampStarted;
private final long totalOpsProcessed;
- // TODO: add the builder for this class
- @InterfaceAudience.Private
- public ReplicationLoadSink(long age, long timestamp, long timestampStarted,
+ private ReplicationLoadSink(long age, long timestamp, long timestampStarted,
long totalOpsProcessed) {
this.ageOfLastAppliedOp = age;
this.timestampsOfLastAppliedOp = timestamp;
@@ -56,4 +54,44 @@ public class ReplicationLoadSink {
public long getTotalOpsProcessed() {
return totalOpsProcessed;
}
+
+ @InterfaceAudience.Private
+ public static ReplicationLoadSinkBuilder newBuilder() {
+ return new ReplicationLoadSinkBuilder();
+ }
+
+ @InterfaceAudience.Private
+ public static final class ReplicationLoadSinkBuilder {
+ private long ageOfLastAppliedOp;
+ private long timestampsOfLastAppliedOp;
+ private long timestampStarted;
+ private long totalOpsProcessed;
+
+ private ReplicationLoadSinkBuilder() {}
+
+ public ReplicationLoadSinkBuilder setAgeOfLastAppliedOp(long ageOfLastAppliedOp) {
+ this.ageOfLastAppliedOp = ageOfLastAppliedOp;
+ return this;
+ }
+
+ public ReplicationLoadSinkBuilder setTimestampsOfLastAppliedOp(long timestampsOfLastAppliedOp) {
+ this.timestampsOfLastAppliedOp = timestampsOfLastAppliedOp;
+ return this;
+ }
+
+ public ReplicationLoadSinkBuilder setTimestampStarted(long timestampStarted) {
+ this.timestampStarted = timestampStarted;
+ return this;
+ }
+
+ public ReplicationLoadSinkBuilder setTotalOpsProcessed(long totalOpsProcessed) {
+ this.totalOpsProcessed = totalOpsProcessed;
+ return this;
+ }
+
+ public ReplicationLoadSink build() {
+ return new ReplicationLoadSink(ageOfLastAppliedOp, timestampsOfLastAppliedOp,
+ timestampStarted, totalOpsProcessed);
+ }
+ }
}
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
index c2544f6..9485809 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
@@ -2796,10 +2796,12 @@ public final class ProtobufUtil {
public static ReplicationLoadSink toReplicationLoadSink(
ClusterStatusProtos.ReplicationLoadSink rls) {
- return new ReplicationLoadSink(rls.getAgeOfLastAppliedOp(),
- rls.getTimeStampsOfLastAppliedOp(),
- rls.hasTimestampStarted()? rls.getTimestampStarted(): -1L,
- rls.hasTotalOpsProcessed()? rls.getTotalOpsProcessed(): -1L);
+ ReplicationLoadSink.ReplicationLoadSinkBuilder builder = ReplicationLoadSink.newBuilder();
+ builder.setAgeOfLastAppliedOp(rls.getAgeOfLastAppliedOp()).
+ setTimestampsOfLastAppliedOp(rls.getTimeStampsOfLastAppliedOp()).
+ setTimestampStarted(rls.hasTimestampStarted()? rls.getTimestampStarted(): -1L).
+ setTotalOpsProcessed(rls.hasTotalOpsProcessed()? rls.getTotalOpsProcessed(): -1L);
+ return builder.build();
}
public static ReplicationLoadSource toReplicationLoadSource(