[ 
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)

Reply via email to