-
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
Regression in date parsing ("2016-11-30T12+01" accepted before ES 7 #49351
Comments
If by "in-place" you mean rolling upgrades, this isn't supported directly from any 5 to 7 version. See https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html for reference. |
Okay thanks, I guess closing is fine but fwiw That seems inconsistent. Minutes and seconds are optional in ISO 8601, and I believe a time zone is allowed. |
@pgomulka this regression does not appear fixed in v7.5.0. Any chance it will be fixed?
|
@jamshid that looks to be broken, I will have a look |
Pinging @elastic/es-core-infra (:Core/Infra/Core) |
strict_date_optional_time changes to have optional minute part. It already allowed optional second and fraction of second part. This allows parsing 2018-01-01T00+01 , 2018-01-01T00:00+01 , 2018-01-01T00:00:00+01 , 2018-01-01T00:00:00.000+01 It won't allow parsing a timezone without an hour part as this is not allowed by iso8601 spec closes #49351
strict_date_optional_time changes to have optional minute part. It already allowed optional second and fraction of second part. This allows parsing 2018-01-01T00+01 , 2018-01-01T00:00+01 , 2018-01-01T00:00:00+01 , 2018-01-01T00:00:00.000+01 It won't allow parsing a timezone without an hour part as this is not allowed by iso8601 spec closes elastic#49351
…50740) strict_date_optional_time changes to have optional minute part. It already allowed optional second and fraction of second part. This allows parsing 2018-01-01T00+01 , 2018-01-01T00:00+01 , 2018-01-01T00:00:00+01 , 2018-01-01T00:00:00.000+01 It won't allow parsing a timezone without an hour part as this is not allowed by iso8601 spec closes #49351
strict_date_optional_time changes to have optional minute part. It already allowed optional second and fraction of second part. This allows parsing 2018-01-01T00+01 , 2018-01-01T00:00+01 , 2018-01-01T00:00:00+01 , 2018-01-01T00:00:00.000+01 It won't allow parsing a timezone without an hour part as this is not allowed by iso8601 spec closes elastic#49351
Elasticsearch version (
bin/elasticsearch --version
):5.6.12 vs 74.2
Plugins installed: []
unrelated
JVM version (
java -version
):openjdk version "1.8.0_232"
OS version (
uname -a
if on a Unix-like system):centos8 container
Linux 044afd19e126 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Description of the problem including expected versus actual behavior:
Steps to reproduce:
This admittedly weird, incomplete date time string with a timezone offset:
2016-11-30T12+01
is accepted as a
date
by ES 5.6.12 but fails on ES 7.4.2 (probably any 7.x?) with:Btw same behavior if the
strict_date_optional_time
is used explicitly in the mapping, it's the default in both elasticsearch versions.Provide logs (if relevant):
See output above, it just seems like a change in what the date parser accepts. Can that be fixed or is this by design?
Besides the regression and incompatibility this introduces for users upgrading, can this cause any in-place upgrade problems with ES 5 => 7?
The text was updated successfully, but these errors were encountered: