Jim Hughes created FLINK-39421:
----------------------------------

             Summary: Metadata filter push-down for table sources
                 Key: FLINK-39421
                 URL: https://issues.apache.org/jira/browse/FLINK-39421
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / Planner
            Reporter: Jim Hughes


Predicates on metadata columns (e.g., Kafka offset, timestamp, partition) are 
excluded from the existing SupportsFilterPushDown mechanism. FilterPushDownSpec 
serializes RexInputRef indices relative to the scan's produced row type, but 
metadata columns are appended after physical columns. When ProjectPushDownSpec 
narrows the row type during compiled plan restoration, metadata indices become 
out-of-bounds, causing ArrayIndexOutOfBoundsException.

This ticket introduces a dedicated metadata filter push-down path:
- New supportsMetadataFilterPushDown() and applyMetadataFilters() default 
methods on SupportsReadingMetadata (opt-in; existing sources unaffected)
- New MetadataFilterPushDownSpec that snapshots the row type at optimization 
time, solving the index mismatch
- Extension to PushFilterIntoTableSourceScanRule to classify predicates as 
physical, metadata, or mixed

See FLIP-574 
(https://cwiki.apache.org/confluence/display/FLINK/FLIP-574+Metadata+Filter+Push-Down+for+Table+Sources)
 for full design.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to