-
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
Rework interfaces for the geoip processor #113045
Merged
joegallo
merged 5 commits into
elastic:main
from
joegallo:ingest-geoip-rework-interfaces
Sep 17, 2024
Merged
Rework interfaces for the geoip processor #113045
joegallo
merged 5 commits into
elastic:main
from
joegallo:ingest-geoip-rework-interfaces
Sep 17, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
joegallo
added
:Data Management/Ingest Node
Execution or management of Ingest Pipelines including GeoIP
>refactoring
Team:Data Management
Meta label for data/management team
v8.16.0
v9.0.0
labels
Sep 17, 2024
Pinging @elastic/es-data-management (Team:Data Management) |
masseyke
approved these changes
Sep 17, 2024
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
💚 Backport successful
|
joegallo
added a commit
to joegallo/elasticsearch
that referenced
this pull request
Sep 17, 2024
elasticsearchmachine
pushed a commit
that referenced
this pull request
Sep 17, 2024
javanna
pushed a commit
to javanna/elasticsearch
that referenced
this pull request
Sep 18, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
:Data Management/Ingest Node
Execution or management of Ingest Pipelines including GeoIP
>refactoring
Team:Data Management
Meta label for data/management team
v8.16.0
v9.0.0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Renames two of the interfaces used by the
geoip
processor, and makes them 'String
-centric' rather than 'InetAddress
-centric'. Additionally, it reworks the implementation of the interface to rely on the lower-levelcom.maxmind.db.Reader
rather than the higher-levelcom.maxmind.geoip2.DatabaseReader
.This PR is intended as an internal refactoring only, there's not supposed to be any user-facing consequences of this change1.
This is related to some of the work I've been doing on #109655, and which I'm trying to bring to
main
a bit at a time -- after this PR has been merged I'll be able to mergemain
into that PR and drop a lot of WIP from my machine.This PR is finished work, and it's intended to be reviewable and merge-able as is, but I don't want to get overly focused on the precise details of the internal implementation -- some of it is Falsework that will be smoothed out in subsequent PRs. That's not meant to preclude there being discussion about it, though, of course!
Footnotes
Note: actually, though, it results in a ~10% speed up in the cache-hit -heavy case because it puts
InetAddress
parsing on the cache-miss path (only) rather than on the cache-hit and cache-miss paths. ↩