Skip to content

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

Merged
pgomulka merged 6 commits intoelastic:7.xfrom
pgomulka:backport/7.x/pr-48209
Oct 23, 2019
Merged

[7.x] [Java.time] Calculate week of a year with ISO rules (#48209)#48349
pgomulka merged 6 commits intoelastic:7.xfrom
pgomulka:backport/7.x/pr-48209

Conversation

@pgomulka
Copy link
Copy Markdown
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
Copy Markdown
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