@Override public void restoreState(FSDataInputStream in) throws Exception { super.restoreState(in); LOG.info("{} (taskIdx={}) restoring {} state from an older Flink version.", getClass().getSimpleName(), legacyWindowOperatorType, getRuntimeContext().getIndexOfThisSubtask()); DataInputViewStreamWrapper streamWrapper = new DataInputViewStreamWrapper(in); switch (legacyWindowOperatorType) { case NONE: restoreFromLegacyWindowOperator(streamWrapper); break; case FAST_ACCUMULATING: case FAST_AGGREGATING: restoreFromLegacyAlignedWindowOperator(streamWrapper); break; } }
@Override public void restoreState(FSDataInputStream in) throws Exception { super.restoreState(in); DataInputViewStreamWrapper inView = new DataInputViewStreamWrapper(in); final long nextEvaluationTime = inView.readLong(); final long nextSlideTime = inView.readLong(); AbstractKeyedTimePanes<IN, KEY, STATE, OUT> panes = createPanes(keySelector, function); panes.readFromInput(inView, keySerializer, stateTypeSerializer); restoredState = new RestoredState<>(panes, nextEvaluationTime, nextSlideTime); }