-
Notifications
You must be signed in to change notification settings - Fork 25.7k
Bump jruby/joni to 2.2.6 #139075
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
Bump jruby/joni to 2.2.6 #139075
Conversation
|
Pinging @elastic/es-data-management (Team:Data Management) |
|
Hi @joegallo, I've created a changelog YAML for you. |
masseyke
left a comment
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
|
It would be useful to attach some kind of performance comparison though. |
Here's an amalgamation of three runs -- the first row is stock Elasticsearch, the second row is slightly slower and that's with the joni upgrade (this might be within the bounds of our confidence interval on these things, 🤷), the third row is with the joni upgrade and I took a quick WIP swing at pulling out the the |

We haven't touched this in quite some time (it's been since #47374). But there's actually a new feature in joni that we should be taking advantage of: jruby/joni#78 (this PR doesn't do that, though, it's just a version bump).
Interestingly, that previous Elasticsearch PR was also a version bump in order to get access to better timeout logic.
From previous profiling and benchmarking, I know that the grok processor is one of the more time-consuming processors out there, and that while executing the regex is timeconsuming, registering and unregistering the watchdog is surprisingly heavy compared to how long one might imagine it could take (I'm betting due to synchronization overhead), so moving to the native solution without a separate watchdog mechanism would likely buy us a nice little bit of free performance here.
jruby/joni#75 also looks interesting, but I don't know off the top of my head if that's quite as a relevant to our use of joni in Elasticsearch.