I logged CALCITE-5474 [1] to disable the failures in Sonar checks
allowing everything to appear as green.

Sonar annotations are still going to appear under the PR after
CALCITE-5474; if the intention is to remove also these indications let
me know and I will log another ticket.

Best,
Stamatis

[1] https://issues.apache.org/jira/browse/CALCITE-5474

On Fri, Jan 13, 2023 at 2:53 AM Julian Hyde <[email protected]> wrote:

> Now a build 'failed' with 7 'code smells'.
>
> Duplicating a string literal in a test was deemed as 'critical code
> smell'. For heaven's sake.
>
>
> https://sonarcloud.io/project/issues?resolved=false&severities=CRITICAL&types=CODE_SMELL&pullRequest=2942&id=apache_calcite
>
> Adding '@Deprecated' without also adding a javadoc comment that
> contains '@deprecated' is a 'major code smell'. (I'm guessing that if
> I add a javadoc comment that only contains '@deprecated' it will tell
> me that empty javadoc is a code smell.)
>
> And "Do not forget to remove this deprecated code someday." is an
> 'info code smell'. Yeah, right. Wait until the next major version.
>
> I'm trying to work here. Get this *****ing robot off my back.
>
> Julian
>
> On Wed, Jan 11, 2023 at 10:41 PM Alessandro Solimando
> <[email protected]> wrote:
> >
> > Hi everyone,
> > I agree with Julian that we should be open to see what value Sonar brings
> > with the current setup, but for a true accounting we need many more data
> > points, two examples are just not enough.
> >
> > In my experience I see reviewers asking contributors to fix real issues
> > that Sonarlint plugin can highlight in IntelliJ even locally.
> >
> > So Sonar would save those reviewers time if the contributor would review
> > and fix some of them autonomously.
> >
> > If we take Sonar as an opportunity to fix easily 80% (à la Pareto) of the
> > trivial issues we generally see in contributions rather than considering
> > each and every issue as blocking, we can have a positive net IMO.
> >
> > There are also fine tunings and exclusions to be added over time for
> > accepted "issues" (like the test class under src), like Ruben was
> proposing.
> >
> > I was the one who did the Sonar setup in Hive, I had mostly positive
> > feedback by contributors who just took Sonar as an opportunity to fix
> some
> > bugs and improve code, the only difference is that we do not have any
> > quality gate there, so the report is never marked as "failed", it's at
> the
> > sole discretion of the contributor+reviewer to take it into account or
> not.
> >
> > I personally don't fix all possible warnings/code smells, but most of
> them
> > yes. Some are just fine as-is to me and they can even be considered false
> > positives.
> >
> > Best regards,
> > Alessandro
> >
> >
> > On Wed 11 Jan 2023, 23:17 Julian Hyde, <[email protected]> wrote:
> >
> > > The instanceof case was complicated. The code that Kevin wrote was
> good,
> > > and appropriate, and when Sonar blocked it Stamatis was able to find an
> > > alternative formulation, which existed because, by luck, the JSR had
> > > deprecated an exception class but not its base class. I spent 30
> minutes
> > > reviewing the PR and was about to merge it, and because of Sonar’s
> bump in
> > > the road that time was wasted. I doubt that there has been a single
> other
> > > occasion when someone wrote
> > > “com.example.MyClass”.equals(x.getClass().getName()) instead of “x
> > > instanceof MyClass”. So far that particular check has cost us ~1 hour
> and
> > > not saved us any time.
> > >
> > > I’m not saying that Sonar is net bad. I’m just saying let’s do a true
> > > accounting.
> > >
> > >
> > > > On Jan 11, 2023, at 2:42 AM, Ruben Q L <[email protected]> wrote:
> > > >
> > > > Hello,
> > > >
> > > > First of all, thanks Stamatis for implementing this, I think it is
> > > > something good for the project.
> > > > In the beginning things might be a bit complicated (as always) and we
> > > might
> > > > need some adjustments / clarifications, but I hope that in the long
> run
> > > > we'll see this as a useful feature.
> > > >
> > > > Regarding the two specific issues being discussed:
> > > > - If I am not mistaken, the fact that SqlOperatorTest was moved out
> of
> > > > 'test' was a consequence of [1], see the corresponding PR [2] "...
> it was
> > > > necessary to move several classes from the 'core' module to
> 'testkit'". I
> > > > don't know how simple (or how complex) a potential refactoring to
> move it
> > > > out of there might be. Alternatively, it seems that this is rather an
> > > > exceptional case, so perhaps it should qualify for an exception (e.g.
> > > > everything under /testkit/* shall not be considered for coverage).
> > > > - Regarding the instanceof, it seems that it was indeed a valid
> warning,
> > > > and it has recently been fixed via [3] (see discussion on its PR [4])
> > > >
> > > > Best regards,
> > > > Ruben
> > > >
> > > > [1] https://issues.apache.org/jira/browse/CALCITE-4885
> > > > [2] https://github.com/apache/calcite/pull/2685
> > > > [3]
> > > >
> > >
> https://github.com/apache/calcite/commit/4bebdb07c2f45a95c9a4fdf81e9bcfbdd11a15de
> > > > [4] https://github.com/apache/calcite/pull/2919
> > > >
> > > >
> > > >
> > > > On Tue, Jan 10, 2023 at 3:18 PM Stamatis Zampetakis <
> [email protected]>
> > > > wrote:
> > > >
> > > >> Thanks for the feedback!
> > > >>
> > > >> I would like to stretch the fact that at this point it is at the
> > > discretion
> > > >> of the reviewer/committer to enforce or ignore the information
> provided
> > > by
> > > >> Sonar.
> > > >>
> > > >> Sonar, as other similar systems, has limitations thus there are
> always
> > > >> going to be false positives. The rules/checks performed are fully
> > > >> customisable so we can enable/disable them at will.
> > > >>
> > > >> The two issues highlighted by Julian seem like true positives to me.
> > > >> * The "New code" that was introduced recently is not covered
> > > sufficiently
> > > >> by tests and that's a fact. Part of the problem seems to come from
> the
> > > >> recent modifications in SqlOperatorTest [1]. The class is located
> under
> > > >> src/main (and not under src/test) so it is considered as a
> production
> > > class
> > > >> and coverage checks are applied. There are ways to exclude certain
> paths
> > > >> from coverage but I would argue that the class shouldn't be there
> in the
> > > >> first place; we should probably log a CALCITE ticket for moving out
> of
> > > >> there.
> > > >> * The instance of warning is something that we probably don't
> > > want/cannot
> > > >> fix (for the reasons mentioned in the PR) but Sonar did well to
> bring
> > > this
> > > >> up; it is problematic to do comparisons by relying on the class
> name.
> > > >>
> > > >> I encourage others to share their thoughts/remarks as well so that
> we
> > > >> improve as much as possible the developer experience.
> > > >>
> > > >> Best,
> > > >> Stamatis
> > > >>
> > > >> [1]
> > > >>
> > > >>
> > >
> https://github.com/apache/calcite/blob/be7135cf1fd3d87e4036b2dd6e58d2f1251f8959/testkit/src/main/java/org/apache/calcite/test/SqlOperatorTest.java
> > > >>
> > > >> On Tue, Jan 10, 2023 at 1:38 AM Julian Hyde <[email protected]>
> wrote:
> > > >>
> > > >>> I see two false positives so far:
> > > >>> * The message on be7135cf "58.1% Coverage on New Code (is less than
> > > >> 80%)"
> > > >>> * The bug on PR 2942 "Use an "instanceof" comparison instead"
> > > >>>
> > > >>> Has Sonarcube had any true positives yet?
> > > >>>
> > > >>> Vladimir used to hate when I was skeptical of changes to the build
> > > >>> system. But I have no tolerance for a lint system that makes extra
> > > >>> work.
> > > >>>
> > > >>> Julian
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> On Mon, Jan 9, 2023 at 2:46 PM Francis Chuang <
> > > [email protected]>
> > > >>> wrote:
> > > >>>>
> > > >>>> Thanks for implementing this, Stamatis! Having code quality
> metrics on
> > > >>>> our repos is a huge win.
> > > >>>>
> > > >>>> Francis
> > > >>>>
> > > >>>> On 10/01/2023 4:22 am, Stamatis Zampetakis wrote:
> > > >>>>> I just merged the CALCITE-5427 [1] enabling Sonarcloud analysis
> for
> > > >>> Calcite
> > > >>>>> main branch and new PRs.
> > > >>>>>
> > > >>>>> I have left the default Sonar quality gates active so you may
> start
> > > >>> seeing
> > > >>>>> Sonar reporting errors in various cases.
> > > >>>>>
> > > >>>>> If you encounter problems or you would like things to work
> > > >> differently
> > > >>>>> please create JIRA tickets and ping me if you need help.
> > > >>>>>
> > > >>>>> Once we are happy with how things work for Calcite we can also
> port
> > > >> the
> > > >>>>> changes to Avatica.
> > > >>>>>
> > > >>>>> Note that all Calcite committers have administrative privileges
> to
> > > >> the
> > > >>>>> Calcite project in Sonarcloud [2].
> > > >>>>>
> > > >>>>> Best,
> > > >>>>> Stamatis
> > > >>>>>
> > > >>>>> [1]
> > > >>>>>
> > > >>>
> > > >>
> > >
> https://github.com/apache/calcite/commit/be7135cf1fd3d87e4036b2dd6e58d2f1251f8959
> > > >>>>> [2] https://sonarcloud.io/project/roles?id=apache_calcite
> > > >>>>>
> > > >>>>> On Wed, Jan 4, 2023 at 5:44 PM Stamatis Zampetakis <
> > > >> [email protected]>
> > > >>>>> wrote:
> > > >>>>>
> > > >>>>>> The integration is advancing well and I am hoping to merge the
> PR in
> > > >>> the
> > > >>>>>> coming days.
> > > >>>>>> To avoid unpleasant surprises, I am planning to create a new
> remote
> > > >>> branch
> > > >>>>>> in the main calcite repo to test some things out. I will delete
> it
> > > >> as
> > > >>> soon
> > > >>>>>> as I am done with the tests.
> > > >>>>>>
> > > >>>>>> Best.
> > > >>>>>> Stamatis
> > > >>>>>>
> > > >>>>>> On Wed, Dec 28, 2022 at 2:47 PM Michael Mior <[email protected]>
> > > >>> wrote:
> > > >>>>>>
> > > >>>>>>> Thanks Stamatis! I haven't used SonarCloud before, but in
> general I
> > > >>> think
> > > >>>>>>> such tools can be quite useful.
> > > >>>>>>>
> > > >>>>>>> --
> > > >>>>>>> Michael Mior
> > > >>>>>>> [email protected]
> > > >>>>>>>
> > > >>>>>>>
> > > >>>>>>> On Sat, Dec 24, 2022 at 4:01 PM Stamatis Zampetakis <
> > > >>> [email protected]>
> > > >>>>>>> wrote:
> > > >>>>>>>
> > > >>>>>>>> Since there were no objections, I just logged INFRA-24038 [1]
> and
> > > >>> plan
> > > >>>>>>> to
> > > >>>>>>>> move this forward.
> > > >>>>>>>>
> > > >>>>>>>> Let me know if you have questions or concerns regarding the
> > > >>> adoption of
> > > >>>>>>>> SonarCloud.
> > > >>>>>>>>
> > > >>>>>>>> Best,
> > > >>>>>>>> Stamatis
> > > >>>>>>>>
> > > >>>>>>>> [1] https://issues.apache.org/jira/browse/INFRA-24038
> > > >>>>>>>>
> > > >>>>>>>> On Sat, Dec 10, 2022 at 11:32 AM Benchao Li <
> [email protected]
> > > >>>
> > > >>>>>>> wrote:
> > > >>>>>>>>
> > > >>>>>>>>> Thanks Stamatis for bringing this up.
> > > >>>>>>>>>
> > > >>>>>>>>> I haven't used Sonar yet, but thanks for the demo[1] you
> > > >> provided,
> > > >>> it
> > > >>>>>>>> looks
> > > >>>>>>>>> really interesting. I think it's worth a try for Calcite.
> > > >>>>>>>>>
> > > >>>>>>>>> [1] https://github.com/zabetak/calcite/pull/9
> > > >>>>>>>>>
> > > >>>>>>>>> Alessandro Solimando <[email protected]>
> > > >>> 于2022年12月10日周六
> > > >>>>>>>>> 02:54写道:
> > > >>>>>>>>>
> > > >>>>>>>>>> Hi all,
> > > >>>>>>>>>> thanks Stamatis for the proposal and the work, I am a huge
> fan
> > > >> of
> > > >>>>>>> Sonar
> > > >>>>>>>>> and
> > > >>>>>>>>>> I really miss it on Calcite, so a big +1 from me on this.
> > > >>>>>>>>>>
> > > >>>>>>>>>> In Hive so far we have received good feedback, so I hope it
> will
> > > >>> be
> > > >>>>>>>>>> welcomed here too.
> > > >>>>>>>>>>
> > > >>>>>>>>>> Best regards,
> > > >>>>>>>>>> Alessandro
> > > >>>>>>>>>>
> > > >>>>>>>>>> On Fri, 9 Dec 2022 at 19:02, Stamatis Zampetakis <
> > > >>> [email protected]
> > > >>>>>>>>
> > > >>>>>>>>>> wrote:
> > > >>>>>>>>>>
> > > >>>>>>>>>>> Hi all,
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> I just logged CALCITE-5427 [1] for introducing code
> quality &
> > > >>>>>>>> coverage
> > > >>>>>>>>>>> metrics in Calcite CI.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> I added some motivation and examples under the ticket so
> please
> > > >>>>>>> have
> > > >>>>>>>> a
> > > >>>>>>>>>> look
> > > >>>>>>>>>>> and let me know what you think.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> If there are no objections, I will follow-up with INFRA to
> set
> > > >>>>>>> things
> > > >>>>>>>>> up
> > > >>>>>>>>>>> for the official Calcite repo.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> The integration with SonarCloud has been inspired by
> HIVE-26196
> > > >>>>>>> [2]
> > > >>>>>>>>> that
> > > >>>>>>>>>>> Alessandro put in place for Hive and has been very helpful
> so
> > > >>> far.
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> Best,
> > > >>>>>>>>>>> Stamatis
> > > >>>>>>>>>>>
> > > >>>>>>>>>>> [1] https://issues.apache.org/jira/browse/CALCITE-5427
> > > >>>>>>>>>>> [2] https://issues.apache.org/jira/browse/HIVE-26196
> > > >>>>>>>>>>>
> > > >>>>>>>>>>
> > > >>>>>>>>>
> > > >>>>>>>>>
> > > >>>>>>>>> --
> > > >>>>>>>>>
> > > >>>>>>>>> Best,
> > > >>>>>>>>> Benchao Li
> > > >>>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>
> > > >>>>>>
> > > >>>>>
> > > >>>
> > > >>
> > >
> > >
>

Reply via email to