You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Andrey Zagrebin (JIRA)" <ji...@apache.org> on 2018/06/04 08:01:00 UTC

[jira] [Updated] (FLINK-9514) Create wrapper with TTL logic for value state

     [ https://issues.apache.org/jira/browse/FLINK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Zagrebin updated FLINK-9514:
-----------------------------------
    Description: 
TTL state decorator uses original state with packed TTL and add TTL logic using time provider:
{code:java}
TtlValueState<V> implements ValueState<V> {
  ValueState<TtlValue<V>> underlyingState;
  InternalTimeService timeProvider;
  V value() {
    TtlValue<V> valueWithTtl = underlyingState.get();
    // ttl logic here (e.g. update timestamp)
    return valueWithTtl.getValue();
  }
  void update() { ... underlyingState.update(valueWithTtl) ...  }
}
{code}
TTL decorators are apply to state produced by normal state binder in its TTL wrapper from FLINK-9513

  was:
TTL state decorator uses original state with packed TTL and add TTL logic using time provider:
{code:java}
TtlValueState<V> implements ValueState<V> {
  ValueState<TtlValue<V>> underlyingState;
  InternalTimeService timeProvider;
  V value() {
    TtlValue<V> valueWithTtl = underlyingState.get();
    // ttl logic here (e.g. update timestamp)
    return valueWithTtl.getValue();
  }
  void update() { ... underlyingState.update(valueWithTtl) ...  }
}
{code}
TTL decorators are apply to state produced by normal state binder in its TTL wrapper


> Create wrapper with TTL logic for value state
> ---------------------------------------------
>
>                 Key: FLINK-9514
>                 URL: https://issues.apache.org/jira/browse/FLINK-9514
>             Project: Flink
>          Issue Type: Sub-task
>          Components: State Backends, Checkpointing
>    Affects Versions: 1.6.0
>            Reporter: Andrey Zagrebin
>            Priority: Major
>             Fix For: 1.6.0
>
>
> TTL state decorator uses original state with packed TTL and add TTL logic using time provider:
> {code:java}
> TtlValueState<V> implements ValueState<V> {
>   ValueState<TtlValue<V>> underlyingState;
>   InternalTimeService timeProvider;
>   V value() {
>     TtlValue<V> valueWithTtl = underlyingState.get();
>     // ttl logic here (e.g. update timestamp)
>     return valueWithTtl.getValue();
>   }
>   void update() { ... underlyingState.update(valueWithTtl) ...  }
> }
> {code}
> TTL decorators are apply to state produced by normal state binder in its TTL wrapper from FLINK-9513



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)