> I think people understand what alpha means. With respect, the ZooKeeper team has used “alpha” in a novel way that is sowing considerable confusion. I wrote emails about this a while back. But, here again, is another case where the non-standard usage of “alpha” will cause confusion. To reiterate: someone who sees "3.5.2-alpha” will think that there will eventually be a “3.5.2-beta” and finally a “3.5.2” release version. But, with ZooKeeper there will never be a “3.5.2” release. In fact, the “-alpha” label is mis-located. The real version is “3.5.?-alpha1”, “3.5.?-alpha2”, etc. There’s an important implication here. If a ZooKeeper user who doesn’t follow the mailing lists, etc. sees “3.5.2-alpha” and “3.5.3-alpha” they will mentally see these as two different releases. What ZOOKEEPER-2014 has done is remove an existing API from what appears to be a released version 3.5.2 (which never really existed). This change violates semantic versioning. For external users, the version after “3.5.2” should be “4.x.x” as it has breaking changes.
> It's not about style, there were a number of concerns addressed in that > patch. The auth issues are very real ones. The issues in ZOOKEEPER-2014 can be addressed completely without moving the reconfig() methods to a new class. It may be useful to move APIs around for clarity, etc. but these breaking changes should be for a version that signals breaking changes - 4.x.x or something. i.e. moving the reconfig() APIs is orthogonal to the concerns of ZOOKEEPER-2014 and should be a separate Jira issue. > I think people understand what alpha means. There may be some short term > impact for a few, but a significant benefit over the long term. Again with respect - 3.5.0-alpha was made available in Maven Central August 2014 - over 2 years ago. Regardless of the ZooKeeper team’s intent, this is NOT an alpha in users’ minds. This is a released library that is in production in major organizations. The ZooKeeper team should realize this and adjust their thinking about the “alpha” tag. For Apache Curator, we’re now put in a position where the reconfig() APIs have disappeared. In order to maintain our own internal semantic versioning we will have to consider a third branch of Curator (we currently have a ZooKeeper 3.4.x compatible version and a ZooKeeper 3.5.x compatible version). It would be awesome if we didn’t have to do this. -Jordan > On Dec 7, 2016, at 7:16 PM, Patrick Hunt <ph...@apache.org> wrote: > > It's not about style, there were a number of concerns addressed in that > patch. We didn't take the change lightly, we've been discussing it over > jira and the mailing list over the past two years. > > I think people understand what alpha means. There may be some short term > impact for a few, but a significant benefit over the long term. > > Patrick > > On Dec 7, 2016 9:24 AM, "Jordan Zimmerman" <jor...@jordanzimmerman.com> > wrote: > >> I read through the issue and disagree about the decision to move the APIs >> out. That was a stylistic choice that breaks client code. I realize that >> 3.5.x has been advertised as an alpha but you must realize that most of the >> world is using it in production. These APIs have now been published. This >> will create a real headache for Curator which is why I’ve created >> https://issues.apache.org/jira/browse/ZOOKEEPER-2642 < >> https://issues.apache.org/jira/browse/ZOOKEEPER-2642> - I hope we can >> move these APIs back into ZooKeeper.java. >> >> -Jordan >> >>> On Dec 7, 2016, at 5:54 PM, Patrick Hunt <ph...@apache.org> wrote: >>> >>> It's discussed in more depth in the JIRA iirc, but basically; >>> ZooKeeper.java provides client APIs, reconfig is an admiistrative API. >>> >>> Patrick >>> >>> On Wed, Dec 7, 2016 at 8:48 AM, Jordan Zimmerman < >> jor...@jordanzimmerman.com >>>> wrote: >>> >>>> I understand the need to make the methods require proper auth but >> there's >>>> no reason to move it to a different class that I can see. Am I missing >>>> something? >>>> >>>> ==================== >>>> Jordan Zimmerman >>>> >>>>> On Dec 7, 2016, at 4:37 PM, Patrick Hunt <ph...@apache.org> wrote: >>>>> >>>>> This problem has been a long standing blocker issue for 3.5 and >>>> identified >>>>> early on as something that would need to change. This has been one of >> the >>>>> reasons why 3.5 has stayed in alpha - because we allow non-backward >>>>> compatible changes to new APIs in alpha and we knew we would have to >> fix >>>>> this. The description/comments of ZOOKEEPER-2014 does a good job >>>>> documenting why this had to change. >>>>> >>>>> Patrick >>>>> >>>>> On Wed, Dec 7, 2016 at 3:18 AM, Jordan Zimmerman < >>>> jor...@jordanzimmerman.com >>>>>> wrote: >>>>> >>>>>> OK - I found the offending issue: ZOOKEEPER-2014 >>>>>> >>>>>> What is the benefit/logic of moving the reconfig() variants into a new >>>>>> class? I can see if this was done from the start but you have now >> broken >>>>>> Curator in a fairly serious non-backward compatible way for a minor >>>>>> documenting benefit. Does anyone object to me reversing this? >>>>>> >>>>>> -Jordan >>>>>> >>>>>>> On Dec 7, 2016, at 11:37 AM, Jordan Zimmerman < >>>>>> jor...@jordanzimmerman.com> wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I was compiling Curator against the ZK master and noticed that the >>>>>> reconfig APIs are gone/changed. Can anyone point me at the issues for >>>> this >>>>>> and/or the discussion why this breaking change was made? >>>>>>> >>>>>>> -Jordan >>>>>> >>>>>> >>>> >> >>