Skip to content

Add SuppressWarnings SS_SHOULD_BE_STATIC#8138

Merged
leventov merged 5 commits intoapache:masterfrom
Fokko:fd-fix-spotbugs
Jul 31, 2019
Merged

Add SuppressWarnings SS_SHOULD_BE_STATIC#8138
leventov merged 5 commits intoapache:masterfrom
Fokko:fd-fix-spotbugs

Conversation

@Fokko
Copy link
Copy Markdown
Contributor

@Fokko Fokko commented Jul 23, 2019

Fixes #XXXX.

(Replace XXXX with the id of the issue fixed in this PR. Remove the above line if there is no corresponding
issue. Don't reference the issue in the title of this pull-request.)

(If you are a committer, follow the PR action item checklist for committers:
https://github.com/apache/incubator-druid/blob/master/dev/committer-instructions.md#pr-and-issue-action-item-checklist-for-committers.)

Description

Describe the goal of this PR, what problem are you fixing. If there is a corresponding issue (referenced above), it's
not necessary to repeat the description here, however, you may choose to keep one summary sentence.

Describe your patch: what did you change in code? How did you fix the problem?

If there are several relatively logically separate changes in this PR, create a mini-section for each of them. For
example:

Fixed the bug ...

Renamed the class ...

Added a forbidden-apis entry ...

In each section, please describe design decisions made, including:

  • Choice of algorithms
  • Behavioral aspects. What configuration values are acceptable? How are corner cases and error conditions handled, such
    as when there are insufficient resources?
  • Class organization and design (how the logic is split between classes, inheritance, composition, design patterns)
  • Method organization and design (how the logic is split between methods, parameters and return types)
  • Naming (class, method, API, configuration, HTTP endpoint, names of emitted metrics)

It's good to describe an alternative design (or mention an alternative name) for every design (or naming) decision point
and compare the alternatives with the designs that you've implemented (or the names you've chosen) to highlight the
advantages of the chosen designs and names.

If there was a discussion of the design of the feature implemented in this PR elsewhere (e. g. a "Proposal" issue, any
other issue, or a thread in the development mailing list), link to that discussion from this PR description and explain
what have changed in your final design compared to your original proposal or the consensus version in the end of the
discussion. If something hasn't changed since the original discussion, you can omit a detailed discussion of those
aspects of the design here, perhaps apart from brief mentioning for the sake of readability of this PR description.

Some of the aspects mentioned above may be omitted for simple and small changes.


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths.
  • added integration tests.
  • been tested in a test Druid cluster.

Check the items by putting "x" in the brackets for the done things. Not all of these items apply to every PR. Remove the
items which are not done or not relevant to the PR. None of the items from the checklist above are strictly necessary,
but it would be very helpful if you at least self-review the PR.


For reviewers: the key changed/added classes in this PR are MyFoo, OurBar, and TheirBaz.

(Add this section in big PRs to ease navigation in them for reviewers.)

@Fokko Fokko force-pushed the fd-fix-spotbugs branch from 4953b5a to bb44e48 Compare July 24, 2019 12:03
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary? In general, we add @EverythingIsNonnullByDefault on the package declaration in package-info.java instead and assume that everything that is not explicitly annotated @Nullable is non-null. (Actually, it's violated in a lot of places, and it' a many years-long quest to eliminate those discrepancies, but still.)

javax.validation.constraints.NotNull on json properties is something different.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the response.

The @Nonnull it isn't necessary of course. Right now I don't see any package-info.java in the indexing part, as find indexing-service/src/ | grep -i package-info.java doesn't give anything back.

I've removed the annotation for now. I'll create different PR for adding the @EverythingIsNonnullByDefault on the indexing part. Still a lot to be done, but the spotbugs is closing in on the voilations. I'm trying to get rid of all the voilations in an interative way by solving the issues one by one, for example in #8129

@Fokko Fokko force-pushed the fd-fix-spotbugs branch from ea903a5 to cdb59ff Compare July 30, 2019 19:38
@leventov
Copy link
Copy Markdown
Member

@Fokko thanks.

Please, never force-push your PR branch.

@leventov leventov merged commit faf5110 into apache:master Jul 31, 2019
@Fokko Fokko deleted the fd-fix-spotbugs branch August 1, 2019 09:41
@Fokko
Copy link
Copy Markdown
Contributor Author

Fokko commented Aug 1, 2019

I'm force-pushing because of the rebasing onto master. I can also pull master into the branch.

@leventov
Copy link
Copy Markdown
Member

leventov commented Aug 1, 2019

You need to merge master into your branch, not rebase. I usually do it as follows:

$ git fetch upstream master
$ git merge upstream/master

And then resolve conflicts.

@Fokko
Copy link
Copy Markdown
Contributor Author

Fokko commented Aug 1, 2019

I'm fine with merging as well. I usually do a pull instead git pull github/master, where github is my upstream.

Most of the projects require a rebase instead of a merge because of history. Mostly because it keeps a linear history, more info here: http://www.bitsnbites.eu/a-tidy-linear-git-history/

@leventov
Copy link
Copy Markdown
Member

leventov commented Aug 1, 2019

In Druid, the history is linear because of squash-and-merge as the merge action.

@Fokko
Copy link
Copy Markdown
Contributor Author

Fokko commented Aug 1, 2019

That makes sense, I'll merge/pull in the future 👍

@clintropolis clintropolis added this to the 0.16.0 milestone Aug 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants