Thanks for pointing out, Duo. Not everyone can understand the configs for checkstyles, for me, I have read the config but could not understand it... the sequence was totally from my 'experience'. So what's more important is that we should have a docs for error prone and checkstyles, which is more friendly to developers. Best Regards Allan Yang
张铎(Duo Zhang) <[email protected]> 于2019年4月4日周四 下午12:05写道: > Hey Allan, your import order template is still incorrect, we do not treat > java and javax specially... > > The rules in checkstyles are > > <module name="ImportOrder"> > <property name="groups" > value="*,org.apache.hbase.thirdparty,org.apache.hadoop.hbase.shaded"/> > <property name="option" value="top" /> > <property name="ordered" value="true"/> > <property name="sortStaticImportsAlphabetically" value="true"/> > </module> > > So the correct way is > import static > import all other imports > import org.apache.hbase.thirdparty.* > import org.apache.hadoop.hbase.shaded.* > > Allan Yang <[email protected]> 于2019年4月4日周四 上午11:57写道: > > > Import Order is quite confusing and there is no document for it. After > many > > attempt, I finally figure out the right sequence and set it into my > IDEA's > > auto import, now it doesn't bother me anymore. > > The right import order are: > > import static > > import java.* > > import javax.* > > import all other imports > > import org.apache.hbase.thirdparty.* > > import org.apache.hadoop.hbase.shaded.* > > > > I think we should add some docs about our error prone rules, like import > > order, and line length limitation... > > Best Regards > > Allan Yang > > > > > > Andrew Purtell <[email protected]> 于2019年4月4日周四 上午10:24写道: > > > > > Error prone used to be an optional profile and not run by precommit by > > > default. That is what I contributed. > > > > > > One of the main motivations for integrating error prone in the first > > place > > > was the idea we would use it to implement our own static checks for > HBase > > > specific coding conventions and invariants. This hasn’t happened yet. > It > > > might not. If this doesn’t happen the added value is marginal and we > > should > > > not run it during precommit, especially if it does not produce stable > > > results. > > > > > > > On Apr 3, 2019, at 4:25 PM, 张铎(Duo Zhang) <[email protected]> > > wrote: > > > > > > > > Please be patient sir, IIRC the error prone integration was proposed > by > > > you > > > > and done by Mike Drob at the first place. The result is not stable > for > > a > > > > long time, you can see HBASE-21895 and related issues, it does not > > always > > > > generate the same warnings for an unchanged file. We tried to upgrade > > the > > > > version of error prone, and also sort the javac warnings as the order > > is > > > > not stable too, but it seems that the result is still not stable > > enough. > > > > The AbstractTestDLS is not touched recently I believe. > > > > > > > > So I think we could remove the error prone check from the pre commit, > > or > > > > add it to the ignore list first, where it will generate a -0, not a > -1, > > > > just like the tests4tests check. Just a one line change in our > > > personality > > > > script. And maybe open an issue for the error prone project to see > > > whether > > > > the guys there know how to deal with these problems. > > > > > > > > And for the import order, I’m using eclipse too, I can share you the > > > import > > > > order settings. And yeah it has been customized by me so I’m not sure > > > > whether the one in the dev-support is still valid. We should keep it > in > > > > sync so we do not confuse developers. > > > > > > > > Thanks. > > > > > > > > Andrew Purtell <[email protected]>于2019年4月4日 周四05:15写道: > > > > > > > >> Regarding the error-prone issues I am talking about, here is one > > > >> > > > >> > > > >> > > > > > > https://builds.apache.org/job/PreCommit-HBASE-Build/16578/artifact/patchprocess/diff-compile-javac-root.txt > > > >> > > > >> [WARNING] > > > >> > > > > > > /testptch/hbase/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java:[654,54] > > > >> [UnusedVariable] The parameter 'master' is never read. > > > >> > > > >> The submitted patch does not touch this file AbstractTestDLS and > this > > > javac > > > >> warning has the format of an error-prone finding. > > > >> > > > >> > > > >>> On Wed, Apr 3, 2019 at 2:11 PM Andrew Purtell <[email protected] > > > > > wrote: > > > >>> > > > >>> I use Eclipse. Eclipse orders imports automatically per formatter > > > >>> settings. I have installed the HBase formatter from our dev-support > > > into > > > >>> all of the relevant workspaces. This sometimes fails to do the > right > > > >> thing > > > >>> as far as checkstyle reporting in precommit is concerned. I have > > tried > > > >>> moving the indicated imports around by hand when this happens and > it > > > >> still > > > >>> complains. I should not be required to use another IDE. (I won't.) > > > >> Perhaps > > > >>> the Eclipse formatter definition we ship in the project needs an > > > update. > > > >>> (From a contributor POV this shouldn't be necessary.) It's not > like I > > > am > > > >>> trying to get away with being sloppy. > > > >>> > > > >>> HBASE-15560 is one. > > > >>> HBASE-22114 amplifies it by having I think some unfortunate > > > interactions > > > >>> between how Yetus decides what has changed and how to test it and > > what > > > is > > > >>> being attempted. > > > >>> > > > >>>> On Wed, Apr 3, 2019 at 1:27 PM Josh Elser <[email protected]> > > wrote: > > > >>>> > > > >>>> Yeah, can you share some evidence of what you've been running > into, > > > >>>> Andrew? > > > >>>> > > > >>>> The nit-picky tools are always a pain in the rear (especially when > > > >>>> working across other branches) -- agree with you there. Can we > help > > > >>>> lessen the pain by making it more clear what to run/inspect when > QA > > > >>>> reports something other than a +1? > > > >>>> > > > >>>> e.g. "I see you had some checkstyle issues. Please fix them and > you > > > can > > > >>>> re-verify locally by running `mvn ...`" > > > >>>> > > > >>>> I think, long run, these tools are nice to push towards > consistency > > > on. > > > >>>> Wondering if there's more we can do to make working with them > easier > > > >>>> before backtracking. > > > >>>> > > > >>>>> On 4/3/19 4:05 PM, Xu Cang wrote: > > > >>>>> "I think we need to revert the recent error-prone related work" > > > >>>>> -- Andrew, can you please give an example about this? Such as a > > JIRA > > > >>>> that > > > >>>>> has this kind of failure in pre-commit build. > > > >>>>> > > > >>>>> " Checkstyle's > > > >>>>> ImportOrder is one that always trips me up and no matter where I > > > place > > > >>>> the > > > >>>>> imports continues to complain." > > > >>>>> > > > >>>>> -- I had some struggles about this too, though, after I > installed > > > >>>>> checkstyle plugin in intellij and used it before generating > > patches, > > > >> it > > > >>>>> became less painful. I don't have any objection removing the > check > > at > > > >>>> the > > > >>>>> same time. Contributors should still try their best to organize > > > >> imports > > > >>>>> cleanly and orderly. > > > >>>>> > > > >>>>> > > > >>>>> "" > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> On Wed, Apr 3, 2019 at 12:02 PM Andrew Purtell < > > [email protected]> > > > >>>> wrote: > > > >>>>> > > > >>>>>> I have been contributing to this project for more than ten years > > and > > > >>>> have > > > >>>>>> noticed it is increasingly difficult to do so. > > > >>>>>> > > > >>>>>> For me the issues come down to precommit results. Precommit is a > > > very > > > >>>>>> useful tool, but *only if committers are attentive to fixing > > > breaking > > > >>>>>> changes immediately*. This has been an eternal problem. > > > >>>>>> > > > >>>>>> Also in fairness some problems I've thought are external to my > > patch > > > >>>> have > > > >>>>>> turned out to be indirect consequences. Here the issue is I'm > not > > > >> able > > > >>>> to > > > >>>>>> trust precommit so true positive results are still sometimes > > > suspect. > > > >>>>>> > > > >>>>>> I think we need to revert the recent error-prone related work, > > this > > > >>>> seems > > > >>>>>> to be the cause of some of the false failures in precommit jobs > > I've > > > >>>> looked > > > >>>>>> at. > > > >>>>>> > > > >>>>>> In other cases we should adjust some static check settings. > > > >>>> Checkstyle's > > > >>>>>> ImportOrder is one that always trips me up and no matter where I > > > >> place > > > >>>> the > > > >>>>>> imports continues to complain. I'm at a loss and it's really a > > > >> trivial > > > >>>>>> matter. Let's just turn it off. > > > >>>>>> > > > >>>>>> The transient issues we sometimes face with Apache build infra > are > > > >>>> possibly > > > >>>>>> tolerable, I'm not referring to those. > > > >>>>>> > > > >>>>>> -- > > > >>>>>> Best regards, > > > >>>>>> Andrew > > > >>>>>> > > > >>>>>> Words like orphans lost among the crosstalk, meaning torn from > > > >> truth's > > > >>>>>> decrepit hands > > > >>>>>> - A23, Crosstalk > > > >>>>>> > > > >>>>> > > > >>>> > > > >>> > > > >>> > > > >>> -- > > > >>> Best regards, > > > >>> Andrew > > > >>> > > > >>> Words like orphans lost among the crosstalk, meaning torn from > > truth's > > > >>> decrepit hands > > > >>> - A23, Crosstalk > > > >>> > > > >> > > > >> > > > >> -- > > > >> Best regards, > > > >> Andrew > > > >> > > > >> Words like orphans lost among the crosstalk, meaning torn from > truth's > > > >> decrepit hands > > > >> - A23, Crosstalk > > > >> > > > > > >
