GitHub user soniclavier opened a pull request: https://github.com/apache/flink/pull/2736
[FLINK-4174] Enhance evictor functionality The PR implements [FLINK-4174](https://issues.apache.org/jira/browse/FLINK-4174) Enhance window evictor as proposed in [FLIP-4](https://cwiki.apache.org/confluence/display/FLINK/FLIP-4+%3A+Enhance+Window+Evictor) Changes made: - Modified the Evictor API, added two new methods evictBefore and evictAfter. Removed existing evict method - Modified the corresponding implementations of CountEvictor, DeltaEvictor and TimeEvictor - Created EvictorContext in the class EvictingWindowOperator, which is passed to the evictor methods - Created TimestampedValue class which holds the value with corresponding timestamp. This class is exposed to the user via the evictBefore and evictAfter methods. - Modified EvictingWindowOperator class - to call evictBefore before calling window function and evictAfter after calling window function. - create FluentIterable<TimestampedValue<IN>> from Iterable<StreamRecord<IN>> contents, which is passed to the evictor methods. - to clear the windowstate and add the remaining element(after the eviction) back to the state. (this fixes [FLINK-4369](https://issues.apache.org/jira/browse/FLINK-4369)) - Added test cases in EvictingWindowOperatorTest. You can merge this pull request into a Git repository by running: $ git pull https://github.com/soniclavier/flink FLINK-4174 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/2736.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2736 ---- commit bfd4fb509463dea0dc86e702c3aad0b0b9e70ff2 Author: Vishnu Viswanath <vishnu.viswanat...@gmail.com> Date: 2016-10-31T23:21:04Z [FLINK-4174] Enhance evictor functionality ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---