Skip to content
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

[7.x] [Java.time] Calculate week of a year with ISO rules (#48209) #48349

Merged
merged 6 commits into from
Oct 23, 2019

Conversation

pgomulka
Copy link
Contributor

@pgomulka pgomulka commented Oct 22, 2019

Backports the following commits to 7.x:

The difference between 7.x and 8 is that DateFormatters in 7x is using WeekFields.of(Monday,1) instead of WeekFields.of(Locale.ROOT) in 8. This is because in jdk8 the SPI provider won't work (the behavior of calculating weeks remain broken - using Sunday,1)
In 7x but with jdk9+ this works the same as in 8

The problem with calculating wrong week in 7.x and jdk8 remains (unless a user on it's own places a jar with CalendarDataProvider class in jre's ext/lib)

Reverting the change introducing IsoLocal.ROOT and introducing IsoCalendarDataProvider that defaults start of the week to Monday and requires minimum 4 days in first week of a year. This extension is using java SPI mechanism and defaults for Locale.ROOT only.
It require jvm property java.locale.providers to be set with SPI,COMPAT

closes elastic#41670
@pgomulka pgomulka added the :Core/Infra/Core Core issues without another label label Oct 22, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (:Core/Infra/Core)

@pgomulka pgomulka merged commit aaa6209 into elastic:7.x Oct 23, 2019
pgomulka added a commit that referenced this pull request Jan 21, 2020
Adding back accidentally removed jvm option that is required to enforce
start of the week = Monday in IsoCalendarDataProvider.
Adding a `feature` to yml test in order to skip running it in JDK8

commit that removed it 398c802
commit that backports SystemJvmOptions c4fbda3
relates 7.x backport of code that enforces CalendarDataProvider use #48349
pgomulka added a commit to pgomulka/elasticsearch that referenced this pull request Jun 10, 2020
Adding back accidentally removed jvm option that is required to enforce
start of the week = Monday in IsoCalendarDataProvider.
Adding a `feature` to yml test in order to skip running it in JDK8

commit that removed it 398c802
commit that backports SystemJvmOptions c4fbda3
relates 7.x backport of code that enforces CalendarDataProvider use elastic#48349
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport :Core/Infra/Core Core issues without another label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants