I understand the situation of "agree to disagree", but I don't believe veto can be used like that. It's just -1 from the minority.
Here are questions I want to get answered. Where is the evidence that having a vendor name in the codebase is violating ASF policy? Again, I see "Apple" to be used as a vendor name in the field name. It is definitely not used as a common noun. What's your call on this? Why do we keep saying where there is evidence and we don't see any? Why didn't you just say we must remove the migration logic the first time we talked about this (unlike you did say there are "two" approaches, link <https://github.com/apache/spark/pull/49983#issuecomment-2676531485>)? This is a major issue for me as you gave false hope that you seem to think option 1 is also a valid one, and I thought I can persuade you as long as I show you people's opinion. Why is it OK to ship the migration logic in Spark 3.5.5+ in Spark 3.5.x line if you think this is really bad? I don't think it's really a long time to make the effort of upgradability to take effect. Will we ever release Spark 3.5.20 or so? Why do you think your approach doesn't need to pass with VOTE, while in this VOTE you are the only one disagreeing with the other approach? Is it just that the current code is automatically achieving your goal? I believe this makes no sense. You should answer at least the last one, otherwise I'll have to cast -1 on Spark 4.0.0 release till this is resolved, because we have the logic in the current codebase where we do not have a consensus and I disagree with shipping this. On Thu, Mar 13, 2025 at 11:15 PM Dongjoon Hyun <dongjoon.h...@gmail.com> wrote: > We are having this vote to give clarity by keeping all records of the > community decisions and stances during building a community consensus. All > votes are important and counted. > > To Jungtaek, I already casted my veto properly and have been tracking the > thread. You don't need to say to me to revisit because I've been here. > > To Xiao, in the history of Apache Spark, have we ever made a mistake to > ship a vendor-ownership like `spark.databricks.*`? I believe you are > switching the real root cause and the bad consequence here. > > In the history of Apache Spark, have we ever required users to upgrade > to the next maintenance release before moving to a new feature or major > release? > > Thanks, > Dongjoon. > > > On Thu, Mar 13, 2025 at 12:58 AM Jungtaek Lim < > kabhwan.opensou...@gmail.com> wrote: > >> Thanks to everyone who participated and voted! >> >> Now I can technically conclude the VOTE, but I'm willing to wait till US >> daytime tomorrow, to give some time for Dongjoon to revisit this. >> >> I'll conclude the vote around 6PM PST tomorrow regardless of his vote. >> It's ideal to see us have no -1, but having one -1 doesn't block this >> vote and we can move forward. >> >> On Thu, Mar 13, 2025 at 4:42 PM Yang Jie <yangji...@apache.org> wrote: >> >>> forgot to mention in my last reply, my stance is +1 >>> >>> Jie Yang >>> >>> On 2025/03/13 07:08:12 Russell Jurney wrote: >>> > Sure, +1 non-binding. >>> > >>> > On Wed, Mar 12, 2025 at 11:18 PM Jungtaek Lim < >>> kabhwan.opensou...@gmail.com> >>> > wrote: >>> > >>> > > Russell, >>> > > >>> > > Of course, we hear people' voices who aren't having binding votes as >>> well. >>> > > Personally I think it's more important than committers/PMC members' >>> VOTE >>> > > this time since we can be biased and be far from user experience. >>> > > >>> > > Could you please explicitly cast your vote, like +1 (non-binding)? >>> You >>> > > seem to agree with the proposal. Thanks! >>> > > >>> > > On Thu, Mar 13, 2025 at 3:15 PM Russell Jurney < >>> russell.jur...@gmail.com> >>> > > wrote: >>> > > >>> > >> I'm just a lurker and aspiring contributor, but as a Spark user >>> upgrading >>> > >> twice is very confusing and would cause many or most users to fail >>> to >>> > >> upgrade successfully to Spark 4 on a first go. That seems like a >>> very bad >>> > >> user experience. I thought it was worthwhile stating this out loud. >>> > >> >>> > >> Russell >>> > >> >>> > >> On Wed, Mar 12, 2025 at 11:05 PM Xiao Li <gatorsm...@gmail.com> >>> wrote: >>> > >> >>> > >>> this vote is to allow streaming queries which had been ever run in >>> Spark >>> > >>>> 3.5.4 to be upgraded with Spark 4.0.x, "without having to be >>> upgraded with >>> > >>>> Spark 3.5.5+ in prior". >>> > >>> >>> > >>> >>> > >>> In the history of Apache Spark, have we ever required users to >>> upgrade >>> > >>> to the next maintenance release before moving to a new feature or >>> major >>> > >>> release? >>> > >>> >>> > >>> Xiao >>> > >>> >>> > >>> Adam Binford <adam...@gmail.com> 于2025年3月11日周二 09:08写道: >>> > >>> >>> > >>>> +1 (non-binding) >>> > >>>> >>> > >>>> It's a pretty in the weeds issue with how Structured Streaming >>> works >>> > >>>> under the hood that's kinda hard to understand if you're not >>> familiar with >>> > >>>> it. The migration logic doesn't mean users can still use the old >>> config, >>> > >>>> it's purely behind the scenes to fix checkpoint metadata in >>> streams created >>> > >>>> in 3.5.4. The 5 lines of code it takes to address a weird edge >>> case for >>> > >>>> certain users that's already gone from master shouldn't be a huge >>> deal. >>> > >>>> >>> > >>>> On Tue, Mar 11, 2025 at 1:43 AM Yang Jie <yangji...@apache.org> >>> wrote: >>> > >>>> >>> > >>>>> >>> > >>>>> To Sean, you're right, I'm very sorry. >>> > >>>>> >>> > >>>>> From the perspective of compatibility and migratability, I think >>> we >>> > >>>>> should migrate this logic to 4.0.0 and keep it in the codebase >>> for a longer >>> > >>>>> time (or permanently), because we can't predict which version >>> users of >>> > >>>>> 3.5.4 will choose next. >>> > >>>>> >>> > >>>>> >>> > >>>>> I don't want to discuss the so-called vendor issue. >>> > >>>>> >>> > >>>>> I withdraw my previous -1. >>> > >>>>> >>> > >>>>> Jie Yang. >>> > >>>>> >>> > >>>>> On 2025/03/11 04:42:25 Wenchen Fan wrote: >>> > >>>>> > Guys, let’s be honest about what we’re discussing here. >>> > >>>>> > >>> > >>>>> > If this is a migration issue, why would we even need a vote? >>> We’ve >>> > >>>>> been >>> > >>>>> > consistently adding configurations to restore legacy behavior >>> > >>>>> instead of >>> > >>>>> > removing them because we understand the challenges of >>> upgrading Spark >>> > >>>>> > versions. Our goal has always been to make upgrades easier, >>> even if >>> > >>>>> it >>> > >>>>> > means carrying some technical debt. I don’t think we want to >>> change >>> > >>>>> that >>> > >>>>> > culture now. >>> > >>>>> > >>> > >>>>> > If the concern is about vendor names appearing in the >>> codebase, then >>> > >>>>> why is >>> > >>>>> > it a big deal this time when vendor names are already present >>> > >>>>> elsewhere? If >>> > >>>>> > we’ve failed to follow a policy, let’s correct it, but can >>> someone >>> > >>>>> point to >>> > >>>>> > the specific policy we’re violating? >>> > >>>>> > >>> > >>>>> > If the vote is about adding migration logic to ease the >>> upgrade from >>> > >>>>> 3.5.4 >>> > >>>>> > to 4.0.0, then +1, why not? >>> > >>>>> > >>> > >>>>> > Thanks, >>> > >>>>> > Wenchen >>> > >>>>> > >>> > >>>>> > >>> > >>>>> > >>> > >>>>> > On Mon, Mar 10, 2025 at 8:49 PM Jungtaek Lim < >>> > >>>>> kabhwan.opensou...@gmail.com> >>> > >>>>> > wrote: >>> > >>>>> > >>> > >>>>> > > Well said, Sean. Sorry I made you keep around here since it >>> might >>> > >>>>> not be >>> > >>>>> > > clearly stated. My bad. >>> > >>>>> > > >>> > >>>>> > > Yang, how could we ever tolerate the fact there are "other" >>> > >>>>> occurrences of >>> > >>>>> > > vendor names in the codebase? Please go and search >>> "databricks" in >>> > >>>>> the >>> > >>>>> > > codebase and be surprised. >>> > >>>>> > > >>> > >>>>> > > If we believe that having vendor names in the codebase will >>> > >>>>> increase >>> > >>>>> > > the occurrence of making mistakes, why didn't we have a >>> discussion >>> > >>>>> thread >>> > >>>>> > > earlier to remove all occurrences altogether? This is super >>> tricky >>> > >>>>> because >>> > >>>>> > > I can even start to argue we have "Apple" as a vendor name in >>> > >>>>> Apache Spark >>> > >>>>> > > codebase. I'm not saying we use "apple" in the test data. See >>> > >>>>> > > `isMacOnAppleSilicon` in Utils. Is it unavoidable? No, >>> > >>>>> `isMacOnMSeries` or >>> > >>>>> > > `isMacOnSilicon` is enough. >>> > >>>>> > > >>> > >>>>> > > We really need to draw a line where we disallow vendor names >>> on it >>> > >>>>> - if >>> > >>>>> > > it's the entire codebase, I don't really think it is >>> realistic. >>> > >>>>> > > >>> > >>>>> > > This was really a mistake, and it was definitely not from >>> > >>>>> referring to the >>> > >>>>> > > existing codebase. Not having a vendor name does not change >>> > >>>>> anything on the >>> > >>>>> > > chance of encountering this issue again. If we really care, >>> we >>> > >>>>> should think >>> > >>>>> > > about style checking, which is the only viable way to catch >>> the >>> > >>>>> mistake. >>> > >>>>> > > Again, I'd argue we have to have a bunch of vendor names in >>> that >>> > >>>>> style >>> > >>>>> > > check, not just the problematic vendor name. >>> > >>>>> > > >>> > >>>>> > > >>> > >>>>> > > On Tue, Mar 11, 2025 at 12:17 PM Sean Owen <sro...@gmail.com >>> > >>> > >>>>> wrote: >>> > >>>>> > > >>> > >>>>> > >> Doesn't the migration code 'clear' the debt? >>> > >>>>> > >> The proposal is not to continue to support the config. >>> > >>>>> > >> I feel like people are not quite understanding the change, >>> and >>> > >>>>> objecting >>> > >>>>> > >> to something that doesn't exist. >>> > >>>>> > >> It's a shame, as this seems like something not even worth >>> > >>>>> discussing. I >>> > >>>>> > >> don't know why this triggered this much discussion. We have >>> kept >>> > >>>>> deprecated >>> > >>>>> > >> methods without blinking, which is in comparison much >>> bigger. >>> > >>>>> > >> Can we maybe ask you review the actual change in question? >>> > >>>>> > >> >>> > >>>>> > >> On Mon, Mar 10, 2025, 10:02 PM Yang Jie < >>> yangji...@apache.org> >>> > >>>>> wrote: >>> > >>>>> > >> >>> > >>>>> > >>> -1 >>> > >>>>> > >>> Remove migration logic of incorrect `spark.databricks.*` >>> > >>>>> configuration >>> > >>>>> > >>> in Spark 4.0.0 because I think this configuration was >>> initially >>> > >>>>> introduced >>> > >>>>> > >>> accidentally in Spark 3.5.4, lacking a clear design intent. >>> > >>>>> Although the >>> > >>>>> > >>> immediate maintenance cost of retaining this configuration >>> > >>>>> currently seems >>> > >>>>> > >>> limited, as subsequent versions iterate and user habits >>> form, it >>> > >>>>> may lead >>> > >>>>> > >>> to the continuous accumulation of technical debt. When >>> users >>> > >>>>> come to view >>> > >>>>> > >>> this configuration as one that can be relied on long-term, >>> > >>>>> future removal >>> > >>>>> > >>> may face greater resistance from users and could >>> potentially >>> > >>>>> become an >>> > >>>>> > >>> entrenched and redundant configuration in the codebase. >>> > >>>>> Therefore, promptly >>> > >>>>> > >>> correcting this historically accidental configuration not >>> only >>> > >>>>> maintains >>> > >>>>> > >>> the normativity of the Spark configuration system but also >>> > >>>>> prevents >>> > >>>>> > >>> unintended configurations from becoming de facto standards, >>> > >>>>> thereby >>> > >>>>> > >>> reducing long-term maintenance risks. >>> > >>>>> > >>> >>> > >>>>> > >>> Jie Yang >>> > >>>>> > >>> >>> > >>>>> > >>> On 2025/03/10 14:52:52 Dongjoon Hyun wrote: >>> > >>>>> > >>> > -1 because there exists a feasible migration path for >>> Apache >>> > >>>>> Spark >>> > >>>>> > >>> 3.5.4 via Apache Spark 3.5.5. >>> > >>>>> > >>> > >>> > >>>>> > >>> > It's obvious that this Databricks' mistake already >>> causes a >>> > >>>>> huge >>> > >>>>> > >>> communication cost in the Apache Spark community and is >>> > >>>>> suggesting a burden >>> > >>>>> > >>> to enforce us to handle at least two more PRs at 4.0.0 and >>> 4.1.0. >>> > >>>>> > >>> > >>> > >>>>> > >>> > Given that, I don't think >>> > >>>>> > >>> > - This is an inevitable or >>> > >>>>> > >>> > - This is 0 cost >>> > >>>>> > >>> > >>> > >>>>> > >>> > Dongjoon. >>> > >>>>> > >>> > >>> > >>>>> > >>> > On 2025/03/10 12:46:16 Jungtaek Lim wrote: >>> > >>>>> > >>> > > Starting from my +1 (non-binding). >>> > >>>>> > >>> > > >>> > >>>>> > >>> > > In addition, I propose to retain migration logic till >>> Spark >>> > >>>>> 4.1.x and >>> > >>>>> > >>> > > remove it in Spark 4.2.0. >>> > >>>>> > >>> > > >>> > >>>>> > >>> > > On Mon, Mar 10, 2025 at 9:44 PM Jungtaek Lim < >>> > >>>>> > >>> kabhwan.opensou...@gmail.com> >>> > >>>>> > >>> > > wrote: >>> > >>>>> > >>> > > >>> > >>>>> > >>> > > > Hi dev, >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > Please vote to retain migration logic of incorrect >>> > >>>>> > >>> `spark.databricks.*` >>> > >>>>> > >>> > > > configuration in Spark 4.0.x. >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > - DISCUSSION: >>> > >>>>> > >>> > > > >>> > >>>>> https://lists.apache.org/thread/xzk9729lsmo397crdtk14f74g8cyv4sr >>> > >>>>> > >>> > > > ([DISCUSS] Handling spark.databricks.* config being >>> > >>>>> exposed in >>> > >>>>> > >>> 3.5.4 in >>> > >>>>> > >>> > > > Spark 4.0.0+) >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > Specifically, please review this post >>> > >>>>> > >>> > > > >>> > >>>>> https://lists.apache.org/thread/xtq1kjhsl4ohfon78z3wld2hmfm78t9k >>> > >>>>> > >>> which >>> > >>>>> > >>> > > > explains pros and cons about the proposal - proposal >>> is >>> > >>>>> about >>> > >>>>> > >>> "Option 1". >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > Simply speaking, this vote is to allow streaming >>> queries >>> > >>>>> which had >>> > >>>>> > >>> been >>> > >>>>> > >>> > > > ever run in Spark 3.5.4 to be upgraded with Spark >>> 4.0.x, >>> > >>>>> "without >>> > >>>>> > >>> having to >>> > >>>>> > >>> > > > be upgraded with Spark 3.5.5+ in prior". If the vote >>> > >>>>> passes, we >>> > >>>>> > >>> will help >>> > >>>>> > >>> > > > users to have a smooth upgrade from Spark 3.5.4 to >>> Spark >>> > >>>>> 4.0.x, >>> > >>>>> > >>> which would >>> > >>>>> > >>> > > > be almost 1 year. >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > The (only) cons in this option is having to retain >>> the >>> > >>>>> incorrect >>> > >>>>> > >>> > > > configuration name as "string" in the codebase a bit >>> > >>>>> longer. The >>> > >>>>> > >>> code >>> > >>>>> > >>> > > > complexity of migration logic is arguably trivial. >>> (link >>> > >>>>> > >>> > > > < >>> > >>>>> > >>> >>> > >>>>> >>> https://github.com/apache/spark/blob/4231d58245251a34ae80a38ea4bbf7d720caa439/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/OffsetSeq.scala#L174-L183 >>> > >>>>> > >>> > >>> > >>>>> > >>> > > > ) >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > This VOTE is for Spark 4.0.x, but if someone supports >>> > >>>>> including >>> > >>>>> > >>> migration >>> > >>>>> > >>> > > > logic to be longer than Spark 4.0.x, please cast +1 >>> here >>> > >>>>> and leave >>> > >>>>> > >>> the >>> > >>>>> > >>> > > > desired last minor version of Spark to retain this >>> > >>>>> migration logic. >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > The vote is open for the next 72 hours and passes if >>> a >>> > >>>>> majority +1 >>> > >>>>> > >>> PMC >>> > >>>>> > >>> > > > votes are cast, with a minimum of 3 +1 votes. >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > [ ] +1 Retain migration logic of incorrect >>> > >>>>> `spark.databricks.*` >>> > >>>>> > >>> > > > configuration in Spark 4.0.x >>> > >>>>> > >>> > > > [ ] -1 Remove migration logic of incorrect >>> > >>>>> `spark.databricks.*` >>> > >>>>> > >>> > > > configuration in Spark 4.0.0 because... >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > > Thanks! >>> > >>>>> > >>> > > > Jungtaek Lim (HeartSaVioR) >>> > >>>>> > >>> > > > >>> > >>>>> > >>> > > >>> > >>>>> > >>> > >>> > >>>>> > >>> > >>> > >>>>> >>> --------------------------------------------------------------------- >>> > >>>>> > >>> > To unsubscribe e-mail: dev-unsubscr...@spark.apache.org >>> > >>>>> > >>> > >>> > >>>>> > >>> > >>> > >>>>> > >>> >>> > >>>>> > >>> >>> > >>>>> >>> --------------------------------------------------------------------- >>> > >>>>> > >>> To unsubscribe e-mail: dev-unsubscr...@spark.apache.org >>> > >>>>> > >>> >>> > >>>>> > >>> >>> > >>>>> > >>> > >>>>> >>> > >>>>> >>> --------------------------------------------------------------------- >>> > >>>>> To unsubscribe e-mail: dev-unsubscr...@spark.apache.org >>> > >>>>> >>> > >>>>> >>> > >>>> >>> > >>>> -- >>> > >>>> Adam Binford >>> > >>>> >>> > >>> >>> > >>> >>> --------------------------------------------------------------------- >>> To unsubscribe e-mail: dev-unsubscr...@spark.apache.org >>> >>>