chia7712 commented on code in PR #21418:
URL: https://github.com/apache/kafka/pull/21418#discussion_r2775385281
##########
storage/src/main/java/org/apache/kafka/common/record/RecordValidationStats.java:
##########
@@ -21,52 +21,14 @@
* Record validation covers integrity checks on inbound data (e.g. checksum
verification), structural
* validation to make sure that records are well-formed, and conversion
between record formats if needed.
*/
-public class RecordValidationStats {
+public record RecordValidationStats(long temporaryMemoryBytes, int
numRecordsConverted, long conversionTimeNanos) {
public static final RecordValidationStats EMPTY = new
RecordValidationStats();
- private long temporaryMemoryBytes;
- private int numRecordsConverted;
- private long conversionTimeNanos;
-
- public RecordValidationStats(long temporaryMemoryBytes, int
numRecordsConverted, long conversionTimeNanos) {
- this.temporaryMemoryBytes = temporaryMemoryBytes;
- this.numRecordsConverted = numRecordsConverted;
- this.conversionTimeNanos = conversionTimeNanos;
- }
-
public RecordValidationStats() {
Review Comment:
Since this constructor is only used by `EMPTY`, can we remove it and just
use the main one?
```java
public static final RecordValidationStats EMPTY = new
RecordValidationStats(0, 0, 0);
```
##########
storage/src/main/java/org/apache/kafka/common/record/RecordValidationStats.java:
##########
@@ -21,52 +21,14 @@
* Record validation covers integrity checks on inbound data (e.g. checksum
verification), structural
* validation to make sure that records are well-formed, and conversion
between record formats if needed.
*/
-public class RecordValidationStats {
+public record RecordValidationStats(long temporaryMemoryBytes, int
numRecordsConverted, long conversionTimeNanos) {
public static final RecordValidationStats EMPTY = new
RecordValidationStats();
- private long temporaryMemoryBytes;
- private int numRecordsConverted;
- private long conversionTimeNanos;
-
- public RecordValidationStats(long temporaryMemoryBytes, int
numRecordsConverted, long conversionTimeNanos) {
- this.temporaryMemoryBytes = temporaryMemoryBytes;
- this.numRecordsConverted = numRecordsConverted;
- this.conversionTimeNanos = conversionTimeNanos;
- }
-
public RecordValidationStats() {
this(0, 0, 0);
}
- public void add(RecordValidationStats stats) {
- temporaryMemoryBytes += stats.temporaryMemoryBytes;
- numRecordsConverted += stats.numRecordsConverted;
- conversionTimeNanos += stats.conversionTimeNanos;
- }
-
- /**
- * Returns the number of temporary memory bytes allocated to process the
records.
- * This size depends on whether the records need decompression and/or
conversion:
- * <ul>
- * <li>Non compressed, no conversion: zero</li>
- * <li>Non compressed, with conversion: size of the converted buffer</li>
- * <li>Compressed, no conversion: size of the original buffer after
decompression</li>
- * <li>Compressed, with conversion: size of the original buffer after
decompression + size of the converted buffer uncompressed</li>
- * </ul>
- */
- public long temporaryMemoryBytes() {
- return temporaryMemoryBytes;
- }
-
- public int numRecordsConverted() {
- return numRecordsConverted;
- }
-
- public long conversionTimeNanos() {
- return conversionTimeNanos;
- }
-
@Override
public String toString() {
Review Comment:
we could use the generated `toString` instead
--
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]