Hi all, Thanks for all the comments. I have incorporated the feedback into the FLIP document. If there are no further concerns, I'll start a VOTE early next week.
Best, Weiqing On Wed, Jul 8, 2026 at 4:57 PM Weiqing Yang <[email protected]> wrote: > Thanks, Xingcan. I agree that keeping the hint name generic is useful, but > the scope should be explicit so future extensions do not silently change > existing query behavior. Adding a `target` option sounds like a good way to > get both properties. > > For FLIP-497, I would define: `EARLY_FIRE('target'='interval_join', > 'delay'='5s', 'time_mode'='rowtime')` > > where `interval_join` is the only supported target in this FLIP. Future > operators, such as window joins, would need to introduce their own target > value in a separate FLIP. > > One small clarification: `target` scopes the hint to an operator kind > (here, interval joins), not to one specific join when a query contains > several. So it prevents future cross-operator ambiguity, while targeting an > individual join can remain future work if needed. > > I'll update the FLIP doc accordingly before starting the vote. > > Best, > Weiqing > > On Wed, Jul 8, 2026 at 7:57 AM Xingcan Cui <[email protected]> wrote: > >> Hi Weiqing, >> >> Thanks for the explanation! I agree that a generic name is better for >> future reuse. >> >> However, starting with a purely global hint introduces a >> backward-compatibility risk. If a user writes a query today with a global >> EARLY_FIRE hint, and tomorrow we add early-fire support for another >> operator, that same query's behavior will silently change because the hint >> will suddenly apply to both operators. >> >> To prevent future regressions and avoid forcing users to split queries >> into >> views, what if we introduce a target parameter for the hint? >> >> SELECT /*+ EARLY_FIRE('target'='interval_join', 'delay'='5s', >> 'time_mode'='rowtime') */ >> >> Making the target explicit ensures complete predictability for complex >> topologies and safely future-proofs the API without breaking existing >> queries. >> >> What do you think? >> >> Best, >> Xingcan >> >> On Tue, Jul 7, 2026 at 10:58 PM Weiqing Yang <[email protected]> >> wrote: >> >> > Hi Xingcan, >> > >> > Thanks for the question. >> > >> > My intent is to keep EARLY_FIRE as a generic early-emission hint name, >> > while defining and implementing its behavior in FLIP-497 only for SQL >> > interval joins. >> > The reason I'd rather not rename it to something interval-join-specific >> is >> > that the core concepts in the hint, e.g. delay and time_mode, aren't >> > inherently tied to interval joins. They could naturally be reused by >> future >> > emit-capable join operators, such as window joins. >> > For the scope of FLIP-497: EARLY_FIRE is a SQL join hint and is >> implemented >> > only for interval joins. Window-aggregate early fire stays >> config-based, so >> > there's no collision there. If we later add early-fire support for other >> > join-family operators like window joins, that would be handled in a >> > separate FLIP, but I'd expect the same hint name to remain the natural >> fit >> > as long as the behavior follows the same early-emission/correction >> model. >> > Given that, a narrower name like INTERVAL_JOIN_EARLY_FIRE feels a bit >> too >> > specific. >> > >> > Does this address your concern? I'm open to renaming it before the vote, >> > but my current preference is to keep EARLY_FIRE and clarify the scope. >> > >> > Thanks, >> > Weiqing >> > >> > On Tue, Jul 7, 2026 at 5:00 PM Xingcan Cui <[email protected]> wrote: >> > >> > > Hi Weiqing, >> > > >> > > Thanks for picking this back up! >> > > >> > > I only have one question: do you think we will reuse the hint >> > `EARLY_FIRE` >> > > for other operators and control the behahvior of them? If not, maybe >> we >> > > should give it a more specific name. >> > > >> > > Best, >> > > Xingcan >> > > >> > > On Mon, Jul 6, 2026 at 2:41 PM Weiqing Yang <[email protected] >> > >> > > wrote: >> > > >> > > > Thanks for taking another look and +1, Xuyang. >> > > > I'll leave the thread open a couple more days for any further >> comments, >> > > and >> > > > if there are no further concerns I'll start a VOTE. >> > > > >> > > > Best, >> > > > Weiqing >> > > > >> > > > On Mon, Jul 6, 2026 at 1:27 AM Xuyang <[email protected]> wrote: >> > > > >> > > > > Hi, Weiqing. >> > > > > Thanks for restarting this FLIP. Compared to the previous version, >> > the >> > > > > overall approach looks largely unchanged. +1. >> > > > > >> > > > > >> > > > > >> > > > > -- >> > > > > >> > > > > Best! >> > > > > Xuyang >> > > > > >> > > > > >> > > > > >> > > > > 在 2026-07-06 14:13:22,"Weiqing Yang" <[email protected]> >> 写道: >> > > > > >Hi all, >> > > > > > >> > > > > >Gentle bump on this — I'd love another round of eyes before >> moving >> > to >> > > a >> > > > > >vote. >> > > > > > >> > > > > >The proposal is the same as before at a high level; what's new is >> > that >> > > > the >> > > > > >design has been re-aligned with current master, and the >> > implementation >> > > > now >> > > > > >targets the latest master branch. >> > > > > > >> > > > > >@Xuyang, @Xingcan, @Becket — thank you for the thorough review >> last >> > > > time. >> > > > > >Since you already know this proposal well, I'd really appreciate >> a >> > > quick >> > > > > >check that the points you raised still sit right in the current >> > > version. >> > > > > > >> > > > > >FLIP doc: >> > > > > > >> > > > > >> > > > >> > > >> > >> https://docs.google.com/document/d/1YobpNdnvzSsceniVj4NZWi445gb1-54Rox-D7nPArZo/edit >> > > > > > >> > > > > >Feedback is very welcome! >> > > > > > >> > > > > >Thanks, >> > > > > >Weiqing >> > > > > > >> > > > > >> >> > > > > >> > > > >> > > >> > >> >
