Hi Ron, Thank you so much for your feedback and support on this proposal! I really appreciate you taking the time to review
it in detail. You're absolutely right about the table's content. When table.exec.async-lookup.key-ordered-enabled=true and table.exec.async-lookup.output-mode=ORDERED, the lookup join in key order should indeed be marked as "yes” instead of "no". The current representation is a bit misleading and could cause confusion. I'll update the FLIP to correct this point and ensure it accurately reflects the behavior. Best, Shuai > 2025年4月25日 10:23,Ron Liu <ron9....@gmail.com> 写道: > > Hi, Shuai > > Thanks for driving this proposal. The FLIP looks good to me overall, +1 for > it. > > I have a small question about the table's contents. When > 'table.exec.async-lookup.key-ordered-enabled=true' and > 'table.exec.async-lookup.output-mode=ORDERD', the lookup join in key > ordered should be 'yes', not 'no'. > ORDERD is naturally guaranteed to be ordered, it just doesn't depend on the > current implementation of this proposal, which is a bit confusing here. > > > Best, > Ron > > shuai xu <xushuai...@gmail.com> 于2025年4月18日周五 10:50写道: > >> Hi Xuyang, >> >> >> Thanks for your response. Actually, ALLOW_UNORDERED is only enabled when >> facing >> >> append-only streams for higher throughput. KEY_ORDERED is designed for >> scenarios >> >> where upsert key exists. Its goal is to achieve higher performance >> compared to the ORDERED >> >> mode while ensuring correctness is not compromised. In a word, >> ALLOW_UNORDERED >> >> mode does works in the presence of an upsert key. >> >> >> Aside from the literal difference in sequence, KEY_ORDER focuses on the >> processing order, >> >> while ALLOW_UNORDERED pertains to the output order. In ALLOW_UNORDERED >> mode, >> >> the processing order may be either ordered or unordered. >> >> >> Best, >> Xu Shuai >> >>> 2025年4月17日 14:53,Xuyang <xyzhong...@163.com> 写道: >>> >>> Hi, Shuai. >>> >>> This is a valuable addition to the current AsyncLookupJoin, and I’m >>> >>> generally in favor of it. >>> >>> >>> >>> >>> I have one question. Why do we need to introduce additional parameters >>> >>> to control KEY_ORDERED and ALLOW_UNORDERED? In other words, >>> >>> what scenarios require allowing users to perform completely unordered >>> >>> async lookup joins in the presence of an upsert key? >>> >>> >>> >>> >>> -- >>> >>> Best! >>> Xuyang >>> >>> >>> >>> >>> >>> 在 2025-04-11 10:39:46,"shuai xu" <xushuai...@gmail.com> 写道: >>>> Hi all, >>>> >>>> This FLIP will primarily focus on the implementation within the table >> module. As for support in the DataStream API, it will be addressed in a >> separate FLIP. >>>> >>>>> 2025年4月8日 09:57,shuai xu <xushuai...@gmail.com> 写道: >>>>> >>>>> Hi devs, >>>>> >>>>> I'd like to start a discussion on FLIP-519: Introduce async lookup key >>>>> ordered mode[1]. >>>>> >>>>> The Flink system currently supports both record-level ordered and >>>>> unordered output modes for asynchronous lookup joins. However, it does >>>>> not guarantee the processing order of records sharing the same key. >>>>> >>>>> As highlighted in [2], there are two key requirements for enhancing >>>>> async io operations: >>>>> 1. Ensuring the processing order of records with the same key is a >>>>> common requirement in DataStream. >>>>> 2. Sequential processing of records sharing the same upsertKey when >>>>> performing lookup join in Flink SQL is essential for maintaining >>>>> correctness. >>>>> >>>>> This optimization aims to balance correctness and performance for >>>>> stateful streaming workloads.Then the FLIP introduce a new operator >>>>> KeyedAsyncWaitOperator to supports the optimization. Besides, a new >>>>> option is added to control the behaviour avoid influencing existing >>>>> jobs. >>>>> >>>>> please find more details in the FLIP wiki document[1]. Looking forward >>>>> to your feedback. >>>>> >>>>> [1] >> https://cwiki.apache.org/confluence/display/FLINK/FLIP-519%3A++Introduce+async+lookup+key+ordered+mode >>>>> [2] https://lists.apache.org/thread/wczzjhw8g0jcbs8lw2jhtrkw858cmx5n >>>>> >>>>> Best, >>>>> Xu Shuai >> >>