-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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 multi date formatter merging causes a throughput drop for http_logs #36602
Comments
Pinging @elastic/es-core-infra |
@spinscale This is concerning to me because the new way is mimicking what we must do with java 8 time. So I would expect this same issue to appear when using java 8 time, because it does not have the equivalent to Joda's multiple parsers within a date formatter. Thoughts? |
To clarify my previous statement: @dm reached out to me on another channel with this info:
With java 8 time, and what the referenced PR does, is try each format in a multi date format one at a time, catching IllegalArgumentException. In joda, multiple parsers could be set within a DateTimeFormatter. This can be done (sort of) in java time by using DateTimeFormatterBuilder and using I'm going to try reworking the multi date formats back to having a single parser as described above. |
@rjernst ++ that outlined approach makes sense to me! Thanks for checking |
This commit partially reverts elastic#36447 by using the ability of Joda time's DateTimeFormatterBuilder to append multiple parsers instead of using the MergedDateFormatter. The MergedDateFormatter will be removed in a future change, as it is not as performant due to creating potentially many exceptions during heavy date parsing. This change is a stop-gap until that followup is ready. closes elastic#36602
This commit partially reverts #36447 by using the ability of Joda time's DateTimeFormatterBuilder to append multiple parsers instead of using the MergedDateFormatter. The MergedDateFormatter will be removed in a future change, as it is not as performant due to creating potentially many exceptions during heavy date parsing. This change is a stop-gap until that followup is ready. closes #36602
This commit partially reverts #36447 by using the ability of Joda time's DateTimeFormatterBuilder to append multiple parsers instead of using the MergedDateFormatter. The MergedDateFormatter will be removed in a future change, as it is not as performant due to creating potentially many exceptions during heavy date parsing. This change is a stop-gap until that followup is ready. closes #36602
This commit partially reverts #36447 by using the ability of Joda time's DateTimeFormatterBuilder to append multiple parsers instead of using the MergedDateFormatter. The MergedDateFormatter will be removed in a future change, as it is not as performant due to creating potentially many exceptions during heavy date parsing. This change is a stop-gap until that followup is ready. closes #36602
#36447 (merged to master in c4f4378) has caused a performance regression the http_logs benchmarks on Dec 12, 2018. The numbers below are for our nightly benchmarking hardware for a single node with 4GB heap.
Steps to reproduce
Run a benchmark with Rally and have a look at indexing throughput (note that this will download a benchmark data set with ~ 1.2GB):
To get the baseline numbers for comparison, point Rally to the previous commit 1bb6f84:
Note: If you are using Oracle JDK you can also get a profile by specifying
--telemetry=jfr
.@rjernst can you please take a look at this one?
The text was updated successfully, but these errors were encountered: