[
https://issues.apache.org/jira/browse/GOBBLIN-2040?focusedWorklogId=915230&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-915230
]
ASF GitHub Bot logged work on GOBBLIN-2040:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 18/Apr/24 04:51
Start Date: 18/Apr/24 04:51
Worklog Time Spent: 10m
Work Description: aditya1105 commented on code in PR #3919:
URL: https://github.com/apache/gobblin/pull/3919#discussion_r1569967666
##########
gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/watermark/StringWatermark.java:
##########
@@ -26,19 +26,22 @@
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
-import lombok.Getter;
/**
* String based {@link ComparableWatermark} implementation.
*/
@AllArgsConstructor
@EqualsAndHashCode
-public class StringWatermark implements ComparableWatermark {
+public class StringWatermark implements ComparableWatermark<String> {
- @Getter
String value;
+ @Override
+ public String getValue(){
Review Comment:
Why remove the getter here and add explicit method? For LongWatermark it was
essential since return type needed to be object Long instead of primitive long.
Also why is this value variable not private?
##########
gobblin-core-base/src/main/java/org/apache/gobblin/source/extractor/extract/LongWatermark.java:
##########
@@ -29,20 +29,23 @@
import org.apache.gobblin.source.extractor.Watermark;
import lombok.EqualsAndHashCode;
-import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ToString
@EqualsAndHashCode
-public class LongWatermark implements ComparableWatermark {
+public class LongWatermark implements ComparableWatermark<Long> {
private static final Gson GSON = new Gson();
- @Getter
@Setter
private long value;
+ @Override
+ public Long getValue(){
Review Comment:
We can probably add the explicit java doc for explicit use of long as class
variable but Long as return value.
```
Returns a Long object due to Java generics' requirement for object types.
The underlying variable is maintained as a primitive long to optimize
performance for mathematical operations.
```
Issue Time Tracking
-------------------
Worklog Id: (was: 915230)
Time Spent: 40m (was: 0.5h)
> Abstract comparable watermark
> -----------------------------
>
> Key: GOBBLIN-2040
> URL: https://issues.apache.org/jira/browse/GOBBLIN-2040
> Project: Apache Gobblin
> Issue Type: Improvement
> Reporter: Zihan Li
> Priority: Major
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Create Abstract GobblinConsumerClass to support different type of offset and
> watermark
--
This message was sent by Atlassian Jira
(v8.20.10#820010)