[ https://issues.apache.org/jira/browse/FLINK-8560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16360414#comment-16360414 ]
Piotr Nowojski commented on FLINK-8560: --------------------------------------- [~phoenixjiangnan] why would we have to keep all of the keys in the memory? Can not we have in KeyedProcessOperator: {code:java} @Override public void onEventTime(InternalTimer<K, VoidNamespace> timer) throws Exception { collector.setAbsoluteTimestamp(timer.getTimestamp()); onTime(timer, TimeDomain.EVENT_TIME); } @Override public void onProcessingTime(InternalTimer<K, VoidNamespace> timer) throws Exception { collector.eraseTimestamp(); onTime(timer, TimeDomain.PROCESSING_TIME); } private void onTime(InternalTimer<K, VoidNamespace> timer, TimeDomain timeDomain) throws Exception { Supplier<K> currentKeyAccessor = () -> (K) getCurrentKey(); onTimerContext.reinitialize(currentKeyAccessor, timeDomain, timer); userFunction.onTimer(timer.getTimestamp(), onTimerContext, collector); onTimerContext.reset(); }{code} Key would be only accessed when a user specifically asks for it, thus it shouldn't cost us any thing. > Access to the current key in ProcessFunction after keyBy() > ---------------------------------------------------------- > > Key: FLINK-8560 > URL: https://issues.apache.org/jira/browse/FLINK-8560 > Project: Flink > Issue Type: Wish > Components: DataStream API > Reporter: Jürgen Thomann > Assignee: Bowen Li > Priority: Minor > > Currently it is required to store the key of a keyBy() in the processElement > method to have access to it in the OnTimerContext. > This is not so good as you have to check in the processElement method for > every element if the key is already stored and set it if it's not already set. > A possible solution would adding OnTimerContext#getCurrentKey() or a similar > method. Maybe having it in the open() method could maybe work as well. > http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Getting-Key-from-keyBy-in-ProcessFunction-tt18126.html -- This message was sent by Atlassian JIRA (v7.6.3#76005)