Hi all,

I'm opening this discussion thread to bring a discussion that's
happening on a completed Jira ticket back to the mailing list [1]

In summary:

* There was a discussion and a vote on FLIP-371 [2]
* During implementation, it was determined that there's a diamond
inheritance problem on the Sink.createWriter method, making a
backwards compatible change hard/impossible (I think this is where the
main discussion point actually is) [3]
* The PR was merged, causing a backwards incompatible change without a
discussion on the Dev mailing list

I think that in hindsight, even though there was a FLIP on this topic,
the finding of the diamond inheritance issue should have been brought
back to the Dev mailing list in order to agree on how to resolve it.
Since 1.19 is still under way, we still have time to fix this.

I think there's two things we can improve:

1) Next time during implementation of a FLIP/PR which involves a
non-backward compatible change of an API that wasn't accounted for,
the discussion should be brought back to the Dev mailing list. I think
we can just add that to the FLIP bylaws.
2) How do we actually resolve the problem: is there anyone who has an
idea on how we could introduce the proposed change while maintaining
backwards compatibility, or do we agree that while this is an non
desired situation, there is no better alternative unfortunately?

Best regards,

Martijn

[1] https://issues.apache.org/jira/browse/FLINK-25857
[2] 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-371%3A+Provide+initialization+context+for+Committer+creation+in+TwoPhaseCommittingSink
[3] https://github.com/apache/flink/pull/23555#discussion_r1371740397

Reply via email to