Thanks Jane,

I believe that the configuration "table.optimizer.source.predicate" has a 
higher priority at the planner level than the configuration at the source level,
and it seems easy to implement now.

Best,
Jiabao


> 2023年10月24日 17:36,Jane Chan <qingyue....@gmail.com> 写道:
> 
> Hi Jiabao,
> 
> Thanks for driving this discussion. I have a small question that will
> "scan.filter-push-down.enabled" take precedence over
> "table.optimizer.source.predicate" when the two parameters might conflict
> each other?
> 
> Best,
> Jane
> 
> On Tue, Oct 24, 2023 at 5:05 PM Jiabao Sun <jiabao....@xtransfer.cn.invalid>
> wrote:
> 
>> Thanks Jark,
>> 
>> If we only add configuration without adding the enableFilterPushDown
>> method in the SupportsFilterPushDown interface,
>> each connector would have to handle the same logic in the applyFilters
>> method to determine whether filter pushdown is needed.
>> This would increase complexity and violate the original behavior of the
>> applyFilters method.
>> 
>> On the contrary, we only need to pass the configuration parameter in the
>> newly added enableFilterPushDown method
>> to decide whether to perform predicate pushdown.
>> 
>> I think this approach would be clearer and simpler.
>> WDYT?
>> 
>> Best,
>> Jiabao
>> 
>> 
>>> 2023年10月24日 16:58,Jark Wu <imj...@gmail.com> 写道:
>>> 
>>> Hi JIabao,
>>> 
>>> I think the current interface can already satisfy your requirements.
>>> The connector can reject all the filters by returning the input filters
>>> as `Result#remainingFilters`.
>>> 
>>> So maybe we don't need to introduce a new method to disable
>>> pushdown, but just introduce an option for the specific connector.
>>> 
>>> Best,
>>> Jark
>>> 
>>> On Tue, 24 Oct 2023 at 16:38, Leonard Xu <xbjt...@gmail.com> wrote:
>>> 
>>>> Thanks @Jiabao for kicking off this discussion.
>>>> 
>>>> Could you add a section to explain the difference between proposed
>>>> connector level config `scan.filter-push-down.enabled` and existing
>> query
>>>> level config `table.optimizer.source.predicate-pushdown-enabled` ?
>>>> 
>>>> Best,
>>>> Leonard
>>>> 
>>>>> 2023年10月24日 下午4:18,Jiabao Sun <jiabao....@xtransfer.cn.INVALID> 写道:
>>>>> 
>>>>> Hi Devs,
>>>>> 
>>>>> I would like to start a discussion on FLIP-377: support configuration
>> to
>>>> disable filter pushdown for Table/SQL Sources[1].
>>>>> 
>>>>> Currently, Flink Table/SQL does not expose fine-grained control for
>>>> users to enable or disable filter pushdown.
>>>>> However, filter pushdown has some side effects, such as additional
>>>> computational pressure on external systems.
>>>>> Moreover, Improper queries can lead to issues such as full table scans,
>>>> which in turn can impact the stability of external systems.
>>>>> 
>>>>> Suppose we have an SQL query with two sources: Kafka and a database.
>>>>> The database is sensitive to pressure, and we want to configure it to
>>>> not perform filter pushdown to the database source.
>>>>> However, we still want to perform filter pushdown to the Kafka source
>> to
>>>> decrease network IO.
>>>>> 
>>>>> I propose to support configuration to disable filter push down for
>>>> Table/SQL sources to let user decide whether to perform filter pushdown.
>>>>> 
>>>>> Looking forward to your feedback.
>>>>> 
>>>>> [1]
>>>> 
>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=276105768
>>>>> 
>>>>> Best,
>>>>> Jiabao
>>>> 
>>>> 
>> 
>> 

Reply via email to