[
https://issues.apache.org/jira/browse/FLINK-40399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Soin updated FLINK-40399:
------------------------------
Priority: Minor (was: Major)
> Separate the SavepointKeyFilter runtime contract from push-down planning
> ------------------------------------------------------------------------
>
> Key: FLINK-40399
> URL: https://issues.apache.org/jira/browse/FLINK-40399
> Project: Flink
> Issue Type: Improvement
> Components: API / State Processor
> Affects Versions: 2.4.0
> Reporter: Ilya Soin
> Priority: Minor
>
> _SavepointKeyFilter_ currently carries two unrelated responsibilities: the
> contract the savepoint scan needs ({_}test{_}, {_}getExactKeys{_}) and the
> algebra used only while combining predicates during filter push-down
> ({_}isEmpty, getLowerBound, getUpperBound, intersect, filterKeys, empty,{_}
> plus {_}BoundInfo{_}). The second group is public and _@Experimental_ despite
> being unusable outside push-down translation.
> This task splits the two:
> _org.apache.flink.state.api.filter.SavepointKeyFilter_ keeps only the runtime
> contract, and the planning algebra moves to an _@Internal
> SavepointKeyFilterPlan_ in {_}org.apache.flink.state.table.filter{_},
> alongside the connector that is its only user. No behaviour change.
>
> Also adds test coverage for existing push-down paths that had none — most
> importantly that predicates which cannot be pushed are returned in
> _remaining()_ so the runtime still evaluates them.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)