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

[jira] [Created] (FLINK-9174) The type of state created in ProccessWindowFunction.proccess() is inconsistency

Sihua Zhou created FLINK-9174:
---------------------------------

             Summary: The type of state created in ProccessWindowFunction.proccess() is inconsistency
                 Key: FLINK-9174
                 URL: https://issues.apache.org/jira/browse/FLINK-9174
             Project: Flink
          Issue Type: Bug
          Components: State Backends, Checkpointing
    Affects Versions: 1.5.0
            Reporter: Sihua Zhou
            Assignee: Sihua Zhou
             Fix For: 1.5.0


The type of state created from windowState and globalState in {{ProcessWindowFunction.process()}} is inconsistency. For detail,
{code}
context.windowState().getListState(); // return type is HeapListState or RocksDBListState
context.globalState().getListState(); // return type is UserFacingListState
{code}

This cause the problem in the following code,
{code}
Iterable<T> iterableState = listState.get();
 if (terableState.iterator().hasNext()) {
   for (T value : iterableState) {
     value.setRetracting(true);
     collector.collect(value);
   }
   state.clear();
}
{code}
If the {{listState}} is created from {{context.globalState()}} is fine, but when it created from {{context.windowState()}} this will cause NPE. I met this in 1.3.2 but I found it also affect 1.5.0.



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