-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove -Xlint exclusions in the ingest-common module. #40505
Remove -Xlint exclusions in the ingest-common module. #40505
Conversation
The generics in AbstractStringProcessor is not needed (IngestDocument#setFieldValue(...) accepts Object) and therefor it was removed. Otherwise the corresponding factory implementations would need typing too. Relates to elastic#40366
Pinging @elastic/es-core-infra |
*/ | ||
abstract class AbstractStringProcessor<T> extends AbstractProcessor { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's more classes to change, but I'm wondering if ti's worth changing the classes that extend from this to include a type instead like so:
public final class BytesProcessor extends AbstractStringProcessor<Long> {
This would allow us to keep type safety for the process issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can go either way. The type wasn't really used, so I thought I should remove it, but what you;re suggestion is good too, as it remove those -Xlint exclusions too. @jakelandis what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to leave the generic type there. I think I added it, but didn't bother with explicitly satisfying the generic since is implicitly satisfied by the abstract T process
method.
It looks like the lint exclusions pre-dated this change, and not sure if explicitly satisfying the generic will allow for a clean removal of the exclusion. (I am bit surprised that implicitly satisfying generics trigger lint warnings)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed: c3746d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fix the generics in processors extending AbstractStringProcessor and its factory. Relates to #40366
* elastic/master: (77 commits) Update ingest jdocs that a null return value will drop the current document. (elastic#40359) Remove -Xlint exclusions in the ingest-common module. (elastic#40505) Update docs for the DFR similarity (elastic#40579) Fix merging of search_as_you_type field mapper (elastic#40593) Support roles with application privileges against wildcard applications (elastic#40398) Remove obsolete security settings (elastic#40496) Remove Gradle deprecation warnings (elastic#40449) Run the build integ test in parallel (elastic#39788) Fix 3rd pary S3 tests (elastic#40588) lower bwc skip for search as you type (elastic#40599) Muting XContentParserTests#testSubParserArray Fixing typo in test error message (elastic#40611) Update max dims for vectors to 1024. (elastic#40597) Add start and stop time to cat recovery API (elastic#40378) [DOCS] Correct keystore commands for Email and Jira actions in Watcher (elastic#40417) [DOCS] Document common settings for snapshot repository plugins (elastic#40475) Remove with(out)-system-key tests (elastic#40547) Geo Point parse error fix (elastic#40447) Handle null retention leases in WaitForNoFollowersStep (elastic#40477) [DOCS] Adds anchors for ruby client (elastic#39867) ...
* elastic/master: (129 commits) Update ingest jdocs that a null return value will drop the current document. (elastic#40359) Remove -Xlint exclusions in the ingest-common module. (elastic#40505) Update docs for the DFR similarity (elastic#40579) Fix merging of search_as_you_type field mapper (elastic#40593) Support roles with application privileges against wildcard applications (elastic#40398) Remove obsolete security settings (elastic#40496) Remove Gradle deprecation warnings (elastic#40449) Run the build integ test in parallel (elastic#39788) Fix 3rd pary S3 tests (elastic#40588) lower bwc skip for search as you type (elastic#40599) Muting XContentParserTests#testSubParserArray Fixing typo in test error message (elastic#40611) Update max dims for vectors to 1024. (elastic#40597) Add start and stop time to cat recovery API (elastic#40378) [DOCS] Correct keystore commands for Email and Jira actions in Watcher (elastic#40417) [DOCS] Document common settings for snapshot repository plugins (elastic#40475) Remove with(out)-system-key tests (elastic#40547) Geo Point parse error fix (elastic#40447) Handle null retention leases in WaitForNoFollowersStep (elastic#40477) [DOCS] Adds anchors for ruby client (elastic#39867) ...
The generics in AbstractStringProcessor is not needed
(IngestDocument#setFieldValue(...) invocation in
AbstractStringProcessor accepts Object) and therefor it
was removed. Otherwise the corresponding factory
implementations would need typing too.
Relates to #40366