rdblue commented on code in PR #5427:
URL: https://github.com/apache/iceberg/pull/5427#discussion_r942815549
##########
api/src/main/java/org/apache/iceberg/metrics/ScanReport.java:
##########
@@ -102,40 +113,304 @@ public Builder withSnapshotId(long newSnapshotId) {
return this;
}
- public Builder withFilter(Expression newFilter) {
- this.filter = newFilter;
- return this;
- }
-
public Builder withProjection(Schema newProjection) {
this.projection = newProjection;
return this;
}
public Builder fromScanMetrics(ScanMetrics newScanMetrics) {
- this.scanMetrics = newScanMetrics;
+ this.scanMetrics = ScanMetricsResult.fromScanMetrics(newScanMetrics);
+ return this;
+ }
+
+ public Builder fromScanMetricsResult(ScanMetricsResult
newScanMetricsResult) {
+ this.scanMetrics = newScanMetricsResult;
return this;
}
public ScanReport build() {
Preconditions.checkArgument(null != tableName, "Invalid table name:
null");
- Preconditions.checkArgument(null != filter, "Invalid expression filter:
null");
Preconditions.checkArgument(null != projection, "Invalid schema
projection: null");
Preconditions.checkArgument(null != scanMetrics, "Invalid scan metrics:
null");
- return new ScanReport(tableName, snapshotId, filter, projection,
scanMetrics);
+ return new ScanReport(tableName, snapshotId, projection, scanMetrics);
+ }
+ }
+
+ /** A serializable version of a {@link Timer} that carries its result. */
+ public static class TimerResult implements Serializable {
Review Comment:
Why implement `Serializable`? I thought the requirement was to make it
serializable with a JSON parser.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]