Hi Folks,

In a recent discussion of reviving FLIP-313, I realized that we do not have
an established convention in handling dormant FLIPs (FLIPs without
interaction for months, even years) or FLIPs addressing the same issues.

To give a more concrete context, let's take a look at the example case of
FLIP-313 and FLIP-498.
May 23, 2023 - the discussion of FLIP-313
<https://lists.apache.org/thread/7vk1799ryvrz4lsm5254q64ctm89mx2l> was
started.
Jun 13, 2023 - the vote thread
<https://lists.apache.org/thread/7g5n2vshosom2dj9bp7x4n01okrnx4xx> was
started. However, somehow there was no vote casted. And there have been no
activities on that FLIP since then.
Jan 2, 2025 - the discussion of FLIP-498
<https://lists.apache.org/thread/kgbpj96b4lw1c39gq5p0j0t8b1ssm368> was
started. It tries to address the exact same problem of FLIP-313, with a
difference that it proposes config-based options instead of hint-based
options.
Jan 31, 2025 - the vote of FLIP-498
<https://lists.apache.org/thread/hckpyl24oqdqvfcrhfkjx2j37dtbyfg7> was
concluded with acceptance.

In a retrospective, I feel that there are a few things worth discussing,
and my thoughts are following.

*1. What we should do if a vote is open for long (e.g. over a month)
without conclusion (accepted or rejected)? *
I think we can
  - treat that vote thread as discarded.
  - The FLIP itself will be back to the under discussion status.

Periodically, we (the committers) can sweep the dormant FLIPs and see if
they should be abandoned. Note that not all the dormant FLIPs should be
abandoned. If the proposal still makes sense from technical perspective, or
the targeted issue is still valid, we can keep the FLIP open until someone
else picks it up. The decision is still based on the case by case
judgement. For example, in this particular case, FLIP-313 seems still
relevant. Hence, we may want to keep it open.

If we decide to abandon a dormant FLIP, as a courtesy, we should reply in
the discussion thread to ping the contributor. If there is no response
after a week, we can abandon the FLIP. An abandoned FLIP should have its
status properly updated, so that there is no confusion.

*2. What should we do when a new FLIP overlaps with a dormant open FLIP?*
If both FLIPs are targeting the same problem. Preferably, we should revive
the earlier FLIP, and close the new one as duplicate. This helps keep a
serialized history of the discussion and avoid the confusion caused by
multiple FLIPs with the same targeted issue.
In case we found there is a significant difference between the new FLIP and
the old one, we can let the new FLIP subsume the old FLIP. If so,
  - again as a courtesy, we should ping the contributor in the discussion
thread of the old FLIP.
  - include the subsumption as a part of the new FLIP vote, and update the
status of the old FLIP accordingly. For example, in this particular case,
if FLIP-313 is subsumed by FLIP-498, we need to update the FLIP-313 status
to reflect that when FLIP-498 passes.


The goal of the proposed convention is to make sure 1) we respect the work
from all the Flink contributors, and 2) avoid confusions on the FLIP status
as much as possible.
Once we have the convention agreed, we can add them to the FLIP process
page.

Thoughts and feedback are welcome.

Thanks,

Jiangjie (Becket) Qin

Reply via email to