Hi Justin,

Thanks for the reply.

I will close ZOOKEEPER-3446 later in fact. Because
our consensus above is that we would add the checkstyle
configuration at first and enable it per module.

I'm glad to follow ZOOKEEPER-3431 to see if anything I
can help with.

Best,
tison.


Justin Ling Mao <[email protected]> 于2019年7月16日周二 下午6:19写道:

> -1. @Zili Chen
> I had linked ZOOKEEPER-3434(closed),ZOOKEEPER-3446 to the *ZOOKEEPER-3431*
> which now is a Umbrella JIRA (Type:Task).
> I will also take your advice about the subtasks.
> -2 --->"*Please add jute and Prometheus module*"
> @Olivelli.That's OK.
>
>
> ----- Original Message -----
> From: Zili Chen <[email protected]>
> To: DevZooKeeper <[email protected]>
> Cc: [email protected]
> Subject: Re: Re: Re: Re: Clean up the all the checkstyle violations in the
> zookeeper-server module
> Date: 2019-07-16 15:18
>
> The main concern here is that we have already too
> many issues on enable specific rules on zookeeper,
> including ZOOKEEPER-3434 and ZOOKEEPER-3446,
> and it would be quite noisy to enable per rule(as
> been described and reached a consensus).
>
> Best,
> tison.
>
>
> Zili Chen <[email protected]> 于2019年7月16日周二 上午9:17写道:
>
> Hi Justin,
>
> Thanks for driving this thread. Please go ahead!
>
> One thing I'd like to pick up is that ZOOKEEPER-3431
> has a specific description and I'm afraid it could not
> be an umbrella issue.
>
> How about close all checkstyle related issues and start
> a new issues structure as
>
> Umbrella: Enable Google checkstyle configuration
>   Subtask-1: Add silent Google checkstyle configuration
>   Subtask-2: Enable Google checkstyle configuration on zookeeper-server
>   Subtask-3: Enable Google checkstyle configuration on zookeeper-jute
>   Subtask-4: Enable Google checkstyle configuration on zookeeper-prometheus
>   ...
>
> Best,
> tison.
>
>
> Enrico Olivelli <[email protected]> 于2019年7月16日周二 上午12:06写道:
>
> Il lun 15 lug 2019, 09:14 Justin Ling Mao <[email protected]> ha
> scritto:
>
> > - any advance for the discussion???- any objections about these two
> > things: 1.only clean the main-module:zookeeper-server;
>
>
> Please add jute and Prometheus module
>
> 2.using the google's checkstyle_style?-
>
>
> Works for me
>
> > who will head it up?  how about me?
> >
>
> Sure! Go for it. Thanks
>
> Enrico
>
> >
> >
> > ----- Original Message -----
> > From: "Justin Ling Mao" <[email protected]>
> > To: "dev" <[email protected]>
> > Subject: Re: Re: Re: Clean up the all the checkstyle violations in the
> > zookeeper-server module
> > Date: 2019-07-07 15:56
> >
> > 1.--->“we'd better first create an umbrella issue named "Enable
> checkstyle
> > rules" or sth”I had created ZOOKEEPER-3431 previously, and we can create
> a
> > series of sub-tasks under it.
> > 2.I think we still have two things which should be discussed:  2.1
> > Currently, we only need to enforce the checkstyle violations check in the
> > main-module:zookeeper-server, not included other modules?      IMO,
> because
> > the zookeeper-contrib, zookeeper-recipes are now not well-maintained.
> > and some violations in the zookeeper-jute are auto-generated. so focusing
> > on zookeeper-server is enough?
> >   2.2 What checkstyle template we will pick up? Now we have three
> > options:      A:[google_style](
> > https://checkstyle.sourceforge.io/google_style.html)
> > B:[bookkeeper_style] (
> >
> https://github.com/apache/bookkeeper/blob/master/buildtools/src/main/resources/bookkeeper/checkstyle.xml
> )
> >     C:[hbase_style](
> >
> https://github.com/apache/hbase/blob/master/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
> )
> >     Which one will we choose?
> >
> >
> > ----- Original Message -----
> > From: Enrico Olivelli <[email protected]>
> > To: [email protected]
> > Cc: [email protected]
> > Subject: Re: Re: Clean up the all the checkstyle violations in the
> > zookeeper-server module
> > Date: 2019-07-07 15:13
> >
> > Il dom 7 lug 2019, 01:29 Zili Chen <[email protected]> ha scritto:
> > > Justin & Enrico,
> > >
> > > Receiving no opposition on this proposal, we could regard it as
> > > a consensus. According to bookkeeper#230 we'd better first create
> > > an umbrella issue named "Enable checkstyle rules" or sth. Under
> > > there we can finally decide the checkstyle configuration and
> > > start sub-tasks enabling per package.
> > >
> > > For keeping current checkstyle, I'd like to pick up that it's
> > > possible that we remain the current simple config for all pkgs,
> > > adding a config said copied from bookkeeper named
> > > "strict-checkstyle.xml", enabling per pkg, which contains @author
> > > tags and rules in simple config. Once we enabling the strict one
> > > for all pkgs. We can merge two configs into one.
> > >
> > +1 please go ahead
> > Enrico
> > > Best,
> > > tison.
> > >
> > >
> > > Enrico Olivelli <[email protected]> 于2019年7月6日周六 下午8:20写道:
> > >
> > > > Justin,
> > > > This is how we did it in Bookkeeper, we enabled checkstyle only for
> > group
> > > > of packages in the main module (the biggest one, bookkeeper-server)
> > > >
> > > > https://github.com/apache/bookkeeper/issues/230
> > > >
> > > > I suggest using that checkstyle config, I feel we won't have so many
> > > > violations.
> > > >
> > > > We can keep current checkstyle invokation that checks for @author
> tags
> > > as a
> > > > separate 'execution' of the plugin with a specific checkstyle file
> (as
> > > you
> > > > already said)
> > > >
> > > > I am happy to help, thank you for driving this effort
> > > >
> > > > Enrico
> > > >
> > > >
> > > > Il sab 6 lug 2019, 11:33 Justin Ling Mao <[email protected]>
> > ha
> > > > scritto:
> > > >
> > > > > - 1.It seems that we had reached a consensus to work on this.- 2.I
> > also
> > > > > agree on the way: fix one package at a time, then another.- 3.Now
> Let
> > > us
> > > > > discuss some details:    - 3.1 how to make the checkstyle only
> check
> > > the
> > > > > package we specify? I found this:      URL:
> > > > >
> > > >
> > >
> >
> https://stackoverflow.com/questions/26455174/only-enable-some-checks-for-certain-inner-package
> > > > >     @Olivelli Could you give me more your insight?    - 3.2 What
> > rules
> > > > will
> > > > > we init in the checkstyle.xml?       3.2.1 - I also think the rules
> > > from
> > > > > the hbase is too strict which will cause too many,many violations.
> > > > >  3.2.2 - apply the "Google's Java Style Checkstyle Coverage" is a
> > good
> > > > > option? which seems to be more simplify and more suitable for us?
> > > > >      URL:https://checkstyle.sourceforge.io/google_style.html
> > > > >
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > > From: Andor Molnar <[email protected]>
> > > > > To: DevZooKeeper <[email protected]>
> > > > > Subject: Re: Clean up the all the checkstyle violations in the
> > > > > zookeeper-server module
> > > > > Date: 2019-07-02 13:22
> > > > >
> > > > > Yes. That way we only need to fix one package at a time.
> > > > > Andor
> > > > > On Mon, Jul 1, 2019 at 4:10 PM Zili Chen <[email protected]>
> > wrote:
> > > > > > Hi Andor,
> > > > > >
> > > > > > To be exact, "iterations" means we define the original rules
> > > > > > in checkstyle configuration at once and turn them on one package
> > > > > > after another, so iterations. Is it correct?
> > > > > >
> > > > > > Best,
> > > > > > tison.
> > > > > >
> > > > > >
> > > > > > Andor Molnar <[email protected]> 于2019年7月1日周一 下午9:09写道:
> > > > > >
> > > > > > > I like the idea of doing this in iterations.
> > > > > > >
> > > > > > > Andor
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > On 2019. Jun 29., at 8:35, Zili Chen <[email protected]>
> > > wrote:
> > > > > > > >
> > > > > > > > A solution could be, we remains current simple configuration
> > > > > > > > and introduce a so-called "strict-checkstyle.xml" and apply
> > > > > > > > it per package. Once we enable it on every package, we can
> > > > > > > > merge it into the simple configuration.
> > > > > > > >
> > > > > > > > Best,
> > > > > > > > tison.
> > > > > > > >
> > > > > > > >
> > > > > > > > Enrico Olivelli <[email protected]> 于2019年6月29日周六
> 下午2:19写道:
> > > > > > > >
> > > > > > > >> Il sab 29 giu 2019, 07:59 Zili Chen <[email protected]>
> ha
> > > > > > scritto:
> > > > > > > >>
> > > > > > > >>> Thank you Enrico. It seems my previous reply delivered
> > > > > > > >>> into another thread. Repost below.
> > > > > > > >>>
> > > > > > > >>> Hi zookeepers,
> > > > > > > >>>
> > > > > > > >>> I have proceeded ZOOKEEPER-3446 and been guided to here
> > > > > > > >>> to discuss for a consensus before any more efforts.
> > > > > > > >>>
> > > > > > > >>> In general, +1 on introducing and forcing checkstyle.
> > > > > > > >>>
> > > > > > > >>> About the process, I agree that we firstly reach a
> consensus
> > > > > > > >>> on the configuration and enable it per package. In order
> for
> > > > > > > >>> our contributors to rebase as few times as possible, we'd
> > > > > > > >>> better introduce all rules we all agree on at once. Note
> that
> > > > > > > >>> we could always add rule if someone ask for and agreed by
> the
> > > > > > > >>> community.
> > > > > > > >>>
> > > > > > > >>> Currently, we turn on checkstyle on all modules.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> This is quite important because we are using inlt in order
> to
> > > > > prevent
> > > > > > > >> @author tags.
> > > > > > > >> This was part of the ant based precommit job
> > > > > > > >>
> > > > > > > >> Enrico
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Following the
> > > > > > > >>> process above, we firstly turn off it once we apply the new
> > > > > > > >>> configuration, and then turn on it per package.
> > > > > > > >>>
> > > > > > > >>> If the community is willing to do this work, a JIRA about
> the
> > > new
> > > > > > > >>> checkstyle configuration should be filed and we continue
> the
> > > > > > discussion
> > > > > > > >>> there. Generally, rules proposed by Enrico are good start
> > point
> > > > and
> > > > > > > >>> I agree on we should not introduce anything "fancy", but
> > > > according
> > > > > to
> > > > > > > >>> what is actually needed.
> > > > > > > >>>
> > > > > > > >>> Best,
> > > > > > > >>> tison.
> > > > > > > >>>
> > > > > > > >>>
> > > > > > > >>> Enrico Olivelli <[email protected]> 于2019年6月29日周六
> > 下午1:51写道:
> > > > > > > >>>
> > > > > > > >>>> @Zili Chen
> > > > > > > >>>> This is the original email thread. So you can answer here.
> > > > > > > >>>>
> > > > > > > >>>> Enrico
> > > > > > > >>>>
> > > > > > > >>>> Il ven 28 giu 2019, 11:04 Norbert Kalmar
> > > > > > <[email protected]
> > > > > > > >>>
> > > > > > > >>> ha
> > > > > > > >>>> scritto:
> > > > > > > >>>>
> > > > > > > >>>>> Community is eager to jump on on this, we already have
> pull
> > > > > > requests
> > > > > > > >>>>> cleaning up imports :)
> > > > > > > >>>>>
> > > > > > > >>>>> First of all, sorry for the late reply (I thought I
> already
> > > > > > answered
> > > > > > > >>>> this,
> > > > > > > >>>>> I remember reading it and drawing up an answer. Oh well)
> > > > > > > >>>>>
> > > > > > > >>>>> Some big patches are already reviewed, I think we should
> > > commit
> > > > > as
> > > > > > > >> much
> > > > > > > >>>> as
> > > > > > > >>>>> possible before doing this refactor. (I'll also try to
> rev
> > up
> > > > my
> > > > > > code
> > > > > > > >>>>> review/commit thread)
> > > > > > > >>>>>
> > > > > > > >>>>> As for waiting for 3.6.0 - I don't see the reason we
> > should.
> > > > > Unless
> > > > > > > >> of
> > > > > > > >>>>> course this would delay the release too much...
> > > > > > > >>>>>
> > > > > > > >>>>> I haven't checked HBase checkstyle against our code, I
> > don't
> > > > > think
> > > > > > we
> > > > > > > >>>>> should introduce anything "fancy". What Enrico listed up
> > > sounds
> > > > > > like
> > > > > > > >> a
> > > > > > > >>>> good
> > > > > > > >>>>> starting point.
> > > > > > > >>>>>
> > > > > > > >>>>> +1 on introducing and forcing checkstyle.
> > > > > > > >>>>>
> > > > > > > >>>>> Regards,
> > > > > > > >>>>> Norbert
> > > > > > > >>>>>
> > > > > > > >>>>>
> > > > > > > >>>>> On Sun, Jun 23, 2019 at 7:27 PM Enrico Olivelli <
> > > > > > [email protected]
> > > > > > > >>>
> > > > > > > >>>>> wrote:
> > > > > > > >>>>>
> > > > > > > >>>>>> Justin,
> > > > > > > >>>>>> Thank you so much for your help in this.
> > > > > > > >>>>>>
> > > > > > > >>>>>> I would suggest to apply all of the rules in one pass,
> > > > splitting
> > > > > > > >> the
> > > > > > > >>>> work
> > > > > > > >>>>>> per package.
> > > > > > > >>>>>> This way reviews will be easier, we will limit the
> number
> > of
> > > > > > > >> commits
> > > > > > > >>>> and
> > > > > > > >>>>> we
> > > > > > > >>>>>> won't annoy too much the contributors , asking for hard
> > > > rebases
> > > > > > > >>>>>>
> > > > > > > >>>>>> This is how we did it on Apache Bookkeeper
> > > > > > > >>>>>> https://github.com/apache/bookkeeper/issues/230
> > > > > > > >>>>>>
> > > > > > > >>>>>> I will help review and commit all of your patches,  it
> > will
> > > be
> > > > > > > >>> mostly a
> > > > > > > >>>>>> matter of code reformat without any behavior change.
> > > > > > > >>>>>> Currently I am doing the same kind of work on others
> > > projects
> > > > of
> > > > > > my
> > > > > > > >>>>>> company, so I perfectly know how the work will go.
> > > > > > > >>>>>>
> > > > > > > >>>>>> Before starting we must ensure that:
> > > > > > > >>>>>> 1) community is willing to do this work (we will force a
> > > > rebase
> > > > > on
> > > > > > > >>>> mostly
> > > > > > > >>>>>> every pending PR)
> > > > > > > >>>>>> 2) the proposed configuration is accepted by the
> community
> > > > > > > >>>>>> 3) it is the good time to do it, or should we wait for
> > 3.6.0
> > > > to
> > > > > be
> > > > > > > >>> out
> > > > > > > >>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>> I see you are referring to hbase checkstyle file,  did
> > you
> > > > > > already
> > > > > > > >>>>> checked
> > > > > > > >>>>>> how much different it is from current project style?
> > > > > > > >>>>>> Will we only need to remove trailing spaces, reorder
> > > members,
> > > > > fix
> > > > > > > >>>>> imports,
> > > > > > > >>>>>> cut long lines ?
> > > > > > > >>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>> Cheers
> > > > > > > >>>>>> Enrico
> > > > > > > >>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>> Il dom 23 giu 2019, 15:11 Justin Ling Mao <
> > > > > > > >> [email protected]
> > > > > > > >>>>
> > > > > > > >>>> ha
> > > > > > > >>>>>> scritto:
> > > > > > > >>>>>>
> > > > > > > >>>>>>> Background:zookeeper-server is the main-module of the
> zk
> > > > > > > >> codebase.
> > > > > > > >>>>>>> Unfortunately, there were many checkstyle violations in
> > it.
> > > > To
> > > > > > > >>>> improve
> > > > > > > >>>>>> the
> > > > > > > >>>>>>> code quality and code standards,
> > > > > > > >>>>>>> IMHO, it's time to clean up the all the checkstyle
> > > > > > > >> violations(turn
> > > > > > > >>> on
> > > > > > > >>>>> the
> > > > > > > >>>>>>> <failOnViolation>true</failOnViolation>). we can learn
> > from
> > > > the
> > > > > > > >>> hbase
> > > > > > > >>>>>> whose
> > > > > > > >>>>>>> checkstyle(almost 40+ rules) is very strict and
> ensures a
> > > > very
> > > > > > > >>>> unified
> > > > > > > >>>>>> code
> > > > > > > >>>>>>> style.(
> > > > > > > >>>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>
> > > > > > > >>>>
> > > > > > > >>>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/hbase/blob/master/hbase-checkstyle/src/main/resources/hbase/checkstyle.xml
> > > > > > > >>>>>>> )
> > > > > > > >>>>>>> My planing is: clean up the all the checkstyle one rule
> > by
> > > > > > > >> another
> > > > > > > >>> to
> > > > > > > >>>>>>> avoid too much code changes for review.
> > > > > > > >>>>>>> Everything's hard in the beginning, I have fired my
> first
> > > > shot(
> > > > > > > >>>>>>> https://github.com/apache/zookeeper/pull/992).
> > > > > > > >>>>>>> If this draft has accepted by the community, I will
> > create
> > > > the
> > > > > > > >>>>>>> corresponding sub-tasks for more people joining this
> > work.
> > > > > > > >>>>>>>
> > > > > > > >>>>>>> Cited the comment from Enrico Olivelli in the
> > > > > > > >>>>>>>
> > > > > > > >>>>>>
> > > > > > > >>>>>
> > > > > > > >>>>
> > > > > > > >>>
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ZOOKEEPER-3431:--------------------------------------------------------------we
> > > > > > > >>>>>>> have to discuss this topic with the community.I have
> > > > experience
> > > > > > > >> on
> > > > > > > >>>>>>> BookKeeper, we had to clean up groups of packages.This
> is
> > > the
> > > > > > > >> kind
> > > > > > > >>> of
> > > > > > > >>>>>> stuff
> > > > > > > >>>>>>> that invalidates all of the pending pull requests.I
> have
> > > > > already
> > > > > > > >>> sett
> > > > > > > >>>>> up
> > > > > > > >>>>>> a
> > > > > > > >>>>>>> basic checkstyle configuration file and it is already
> > > active
> > > > > but
> > > > > > > >> it
> > > > > > > >>>> is
> > > > > > > >>>>>>> performing only very basic checks (like no 'author'
> > tags).I
> > > > > will
> > > > > > > >>>>>> appreciate
> > > > > > > >>>>>>> very much if you want to drive this effort, personally
> I
> > > > would
> > > > > > > >>> start
> > > > > > > >>>>> this
> > > > > > > >>>>>>> stuff after 3.6.0 release, once we consolidate current
> > > master
> > > > > and
> > > > > > > >>> the
> > > > > > > >>>>>> maven
> > > > > > > >>>>>>> build. I would have sent an email on the dev@ list
> > soon.We
> > > > > also
> > > > > > > >>> have
> > > > > > > >>>>> to
> > > > > > > >>>>>>> agree on the checkstyle configuration, it is not
> > trivial, I
> > > > > would
> > > > > > > >>>> take
> > > > > > > >>>>>> the
> > > > > > > >>>>>>> file from HBase, BookKeeper or other ASF projects on
> the
> > > > > Haddoop
> > > > > > > >>>>>> ecosystem.
> > > > > > > >>>>>>
> > > > > > > >>>>>
> > > > > > > >>>>
> > > > > > > >>>
> > > > > > > >>
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
>

Reply via email to