You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "LadyForest (via GitHub)" <gi...@apache.org> on 2023/06/03 08:43:11 UTC
[GitHub] [flink] LadyForest commented on a diff in pull request #22593: [FLINK-32053][table-planner] Introduce StateMetadata to ExecNode to support configure operator-level state TTL via CompiledPlan
LadyForest commented on code in PR #22593:
URL: https://github.com/apache/flink/pull/22593#discussion_r1215346477
##########
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/StateMetadata.java:
##########
@@ -84,22 +84,23 @@ public StateMetadata(
stateIndex,
TimeUtils.parseDuration(
Preconditions.checkNotNull(stateTtl, "state ttl should not be null")),
- Preconditions.checkNotNull(stateName, "state name should not be null"));
+ stateName);
}
- public StateMetadata(int stateIndex, @Nonnull Duration stateTtl, @Nonnull String stateName) {
+ public StateMetadata(int stateIndex, Duration stateTtl, String stateName) {
Preconditions.checkArgument(stateIndex >= 0, "state index should start from 0");
this.stateIndex = stateIndex;
- this.stateTtl = stateTtl;
- this.stateName = stateName;
+ this.stateTtl = Preconditions.checkNotNull(stateTtl, "state ttl should not be null");
+ this.stateName = Preconditions.checkNotNull(stateName, "state name should not be null");
}
public int getStateIndex() {
return stateIndex;
}
- public long getStateTtl() {
- return stateTtl.toMillis();
+ @JsonGetter(value = "ttl")
+ public String getStateTtl() {
+ return TimeUtils.formatWithHighestUnit(stateTtl);
}
public String getStateName() {
Review Comment:
> Can this method removed?
The reason to add this method is that `stateTtl` is a type of `Duration,` and if we don't provide a customized `JsonGetter,` it'll be serialized with `Duration#toString` by default. So the output will be like "PT24H".
E.g.
```java
Duration time = Duration.ofDays(1);
System.out.println(time.toString());
```
--
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: issues-unsubscribe@flink.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org