From 39379e4bbffea401eca5a649808904c2a6c823c8 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Mon, 13 Jan 2020 13:48:46 +0100 Subject: [PATCH 01/12] Add SPI jvm option to SystemJvmOptions Adding back accidently removed jvm options that is required to enfoce start of the week = Monday in IsoCalendarDataProvider. --- .../tools/launchers/SystemJvmOptions.java | 2 +- .../310_date_agg_per_day_of_week.yml | 44 +++++++++++++++++++ .../joda/JavaJodaTimeDuellingTests.java | 7 +++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml diff --git a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java index 80903a040c0dd..b0b55b6379f72 100644 --- a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java +++ b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java @@ -64,7 +64,7 @@ static List systemJvmOptions() { * Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date * parsing will break in an incompatible way for some date patterns and locales. */ - "-Djava.locale.providers=COMPAT")); + "-Djava.locale.providers=SPI,COMPAT")); } } diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml new file mode 100644 index 0000000000000..f5524bf6e6631 --- /dev/null +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml @@ -0,0 +1,44 @@ + +setup: + - skip: + version: " - 7.6.99" + reason: "Start of the week Monday was backported to 7.6" + + + - do: + indices.create: + index: test + body: + mappings: + properties: + date: + type: date + - do: + index: + index: test + id: 1 + body: { "date": "2009-11-15T14:12:12" } + - do: + indices.refresh: + index: [test] +--- +# The inserted document has a field date=2009-11-15T14:12:12 which is Sunday. +# When aggregating per day of the week this should be considered as last day of the week (7) +# and this value should be used in 'key_as_string' +"Date aggregartion per day of week": + - do: + search: + rest_total_hits_as_int: true + index: test + body: + aggregations: + test: + "date_histogram": { + "field": "date", + "calendar_interval": "day", + "format": "e", + "offset": 0 + } + - match: {hits.total: 1} + - length: { aggregations.test.buckets: 1 } + - match: { aggregations.test.buckets.0.key_as_string: "7" } diff --git a/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java b/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java index 7e3ed3abcb30f..d2755dfed7990 100644 --- a/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java +++ b/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java @@ -29,6 +29,7 @@ import org.joda.time.DateTimeZone; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.ISODateTimeFormat; +import org.junit.BeforeClass; import java.time.ZoneId; import java.time.ZoneOffset; @@ -47,6 +48,12 @@ protected boolean enableWarningsCheck() { return false; } + @BeforeClass + public static void checkJvmProperties(){ + assert ("SPI,COMPAT".equals(System.getProperty("java.locale.providers"))) + : "`-Djava.locale.providers=SPI,COMPAT` needs to be set"; + } + public void testTimezoneParsing() { /** this testcase won't work in joda. See comment in {@link #testPartialTimeParsing()} * assertSameDateAs("2016-11-30T+01", "strict_date_optional_time", "strict_date_optional_time"); From 53acc74c61c668697ff27bbf53ebedbf116e520a Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Mon, 13 Jan 2020 16:38:34 +0100 Subject: [PATCH 02/12] change the way locale providers flag is set --- distribution/src/config/jvm.options | 5 +++++ .../elasticsearch/tools/launchers/SystemJvmOptions.java | 7 +------ .../search.aggregation/310_date_agg_per_day_of_week.yml | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/distribution/src/config/jvm.options b/distribution/src/config/jvm.options index 050a1e149d6dc..1f89da3673939 100644 --- a/distribution/src/config/jvm.options +++ b/distribution/src/config/jvm.options @@ -75,3 +75,8 @@ ${error.file} # JDK 9+ GC logging 9-:-Xlog:gc*,gc+age=trace,safepoint:file=${loggc}:utctime,pid,tags:filecount=32,filesize=64m + +# due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise +# time/date parsing will break in an incompatible way for some date patterns and locals +8-:-Djava.locale.providers=SPI,JRE +9-:-Djava.locale.providers=SPI,COMPAT diff --git a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java index b0b55b6379f72..f0c94e26afbda 100644 --- a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java +++ b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java @@ -59,12 +59,7 @@ static List systemJvmOptions() { "-Dio.netty.allocator.numDirectArenas=0", // log4j 2 "-Dlog4j.shutdownHookEnabled=false", - "-Dlog4j2.disable.jmx=true", - /* - * Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date - * parsing will break in an incompatible way for some date patterns and locales. - */ - "-Djava.locale.providers=SPI,COMPAT")); + "-Dlog4j2.disable.jmx=true")); } } diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml index f5524bf6e6631..2cdf3b2133dc5 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml @@ -1,8 +1,8 @@ setup: - skip: - version: " - 7.6.99" - reason: "Start of the week Monday was backported to 7.6" + version: " - 7.5.99" #todo this test failing on jdk8. has to be removed from 7.x + reason: "Start of the week Monday was backported to 7.5" - do: From 77b0b7a109ad9554c6f4652b16ee251419072fd2 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 09:29:19 +0100 Subject: [PATCH 03/12] make verion based chocie in system jvm options --- distribution/src/config/jvm.options | 5 ---- .../tools/launchers/SystemJvmOptions.java | 23 ++++++++++++++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/distribution/src/config/jvm.options b/distribution/src/config/jvm.options index 1f89da3673939..050a1e149d6dc 100644 --- a/distribution/src/config/jvm.options +++ b/distribution/src/config/jvm.options @@ -75,8 +75,3 @@ ${error.file} # JDK 9+ GC logging 9-:-Xlog:gc*,gc+age=trace,safepoint:file=${loggc}:utctime,pid,tags:filecount=32,filesize=64m - -# due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise -# time/date parsing will break in an incompatible way for some date patterns and locals -8-:-Djava.locale.providers=SPI,JRE -9-:-Djava.locale.providers=SPI,COMPAT diff --git a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java index f0c94e26afbda..c48d501edfd0e 100644 --- a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java +++ b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java @@ -19,6 +19,8 @@ package org.elasticsearch.tools.launchers; +import org.elasticsearch.tools.java_version_checker.JavaVersion; + import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -59,7 +61,26 @@ static List systemJvmOptions() { "-Dio.netty.allocator.numDirectArenas=0", // log4j 2 "-Dlog4j.shutdownHookEnabled=false", - "-Dlog4j2.disable.jmx=true")); + "-Dlog4j2.disable.jmx=true", + + javaLocaleProviders())); + } + + private static String javaLocaleProviders() { + /* + SPI setting is used to allow loading custom CalendarDataProvider + in jdk8 it has to be loaded from jre/lib/ext, + in jdk9+ it is already within ES project and on a classpath + + Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date + parsing will break in an incompatible way for some date patterns and locales. + //TODO COMPAT will be deprecated in jdk14 https://bugs.openjdk.java.net/browse/JDK-8232906 + */ + if(JavaVersion.majorVersion(JavaVersion.CURRENT) == 8){ + return "-Djava.locale.providers=SPI,JRE"; + } else { + return "-Djava.locale.providers=SPI,COMPAT"; + } } } From 154c8abd13f255a450ba95c35bd00c02fb914058 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 11:30:11 +0100 Subject: [PATCH 04/12] use features to skip a test on jdk8 --- .../310_date_agg_per_day_of_week.yml | 5 +++-- .../elasticsearch/test/rest/yaml/Features.java | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml index 2cdf3b2133dc5..96f43706d50c2 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml @@ -1,8 +1,9 @@ setup: - skip: - version: " - 7.5.99" #todo this test failing on jdk8. has to be removed from 7.x - reason: "Start of the week Monday was backported to 7.5" + version: " - 7.5.99" + reason: "Start of the week Monday was backported to 7.6" + features: "spi_on_classpath_jdk9" - do: diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java index bdcf426d118f3..09eab3b6fad15 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java @@ -19,11 +19,12 @@ package org.elasticsearch.test.rest.yaml; +import org.elasticsearch.bootstrap.JavaVersion; +import org.elasticsearch.test.rest.ESRestTestCase; + import java.util.Arrays; import java.util.List; -import org.elasticsearch.test.rest.ESRestTestCase; - import static java.util.Collections.unmodifiableList; /** @@ -50,6 +51,7 @@ public final class Features { "transform_and_set", "arbitrary_key" )); + private static final String SPI_ON_CLASSPATH_SINCE_JDK_9 = "spi_on_classpath_jdk9"; private Features() { @@ -68,10 +70,19 @@ public static boolean areAllSupported(List features) { if (ESRestTestCase.hasXPack()) { return false; } - } else if (false == SUPPORTED.contains(feature)) { + } else if (isRegisteredFeature(feature) == false) { return false; } } return true; } + + private static boolean isRegisteredFeature(String feature) { + ; + if(feature.equals(SPI_ON_CLASSPATH_SINCE_JDK_9) && + JavaVersion.current().compareTo(JavaVersion.parse("9")) >= 0) { + return true; + } + return SUPPORTED.contains(feature) ; + } } From b3d3f9b15df130a89a8350fa52479d9a4a616131 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 11:34:46 +0100 Subject: [PATCH 05/12] cleanup --- .../test/search.aggregation/310_date_agg_per_day_of_week.yml | 1 - .../main/java/org/elasticsearch/test/rest/yaml/Features.java | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml index 96f43706d50c2..6b84643dae866 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml @@ -5,7 +5,6 @@ setup: reason: "Start of the week Monday was backported to 7.6" features: "spi_on_classpath_jdk9" - - do: indices.create: index: test diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java index 09eab3b6fad15..b74f390b03404 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java @@ -70,7 +70,7 @@ public static boolean areAllSupported(List features) { if (ESRestTestCase.hasXPack()) { return false; } - } else if (isRegisteredFeature(feature) == false) { + } else if (false == isRegisteredFeature(feature)) { return false; } } @@ -78,7 +78,6 @@ public static boolean areAllSupported(List features) { } private static boolean isRegisteredFeature(String feature) { - ; if(feature.equals(SPI_ON_CLASSPATH_SINCE_JDK_9) && JavaVersion.current().compareTo(JavaVersion.parse("9")) >= 0) { return true; From 76877bac174c22794406b960a5e7cc5f94143d69 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 12:10:21 +0100 Subject: [PATCH 06/12] change assertion on locale.provider setting as it will be different in jdk8 and newer --- .../common/joda/JavaJodaTimeDuellingTests.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java b/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java index d2755dfed7990..7825577d0105e 100644 --- a/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java +++ b/server/src/test/java/org/elasticsearch/common/joda/JavaJodaTimeDuellingTests.java @@ -50,8 +50,10 @@ protected boolean enableWarningsCheck() { @BeforeClass public static void checkJvmProperties(){ - assert ("SPI,COMPAT".equals(System.getProperty("java.locale.providers"))) - : "`-Djava.locale.providers=SPI,COMPAT` needs to be set"; + boolean runtimeJdk8 = JavaVersion.current().getVersion().get(0) == 8; + assert (runtimeJdk8 && ("SPI,JRE".equals(System.getProperty("java.locale.providers")))) + || (false == runtimeJdk8 && ("SPI,COMPAT".equals(System.getProperty("java.locale.providers")))) + : "`-Djava.locale.providers` needs to be set"; } public void testTimezoneParsing() { From 8423ee07fc186da62aa5f5e47f4b0cbf49ad4555 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 13:57:06 +0100 Subject: [PATCH 07/12] Update rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml Co-Authored-By: Rory Hunter --- .../test/search.aggregation/310_date_agg_per_day_of_week.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml index 6b84643dae866..8a69638f9cc72 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/search.aggregation/310_date_agg_per_day_of_week.yml @@ -25,7 +25,7 @@ setup: # The inserted document has a field date=2009-11-15T14:12:12 which is Sunday. # When aggregating per day of the week this should be considered as last day of the week (7) # and this value should be used in 'key_as_string' -"Date aggregartion per day of week": +"Date aggregation per day of week": - do: search: rest_total_hits_as_int: true From 5f872ae695bfaab3c9370f6483bf12a99f7d1f96 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Wed, 15 Jan 2020 13:58:46 +0100 Subject: [PATCH 08/12] rename --- .../main/java/org/elasticsearch/test/rest/yaml/Features.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java index b74f390b03404..83104229ea3a1 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java @@ -70,14 +70,14 @@ public static boolean areAllSupported(List features) { if (ESRestTestCase.hasXPack()) { return false; } - } else if (false == isRegisteredFeature(feature)) { + } else if (false == isSupported(feature)) { return false; } } return true; } - private static boolean isRegisteredFeature(String feature) { + private static boolean isSupported(String feature) { if(feature.equals(SPI_ON_CLASSPATH_SINCE_JDK_9) && JavaVersion.current().compareTo(JavaVersion.parse("9")) >= 0) { return true; From 5afbafaf07674165ed8561d14d16a00f1fbac6e1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Sat, 18 Jan 2020 16:39:46 +0100 Subject: [PATCH 09/12] add more javadoc --- .../tools/launchers/SystemJvmOptions.java | 16 ++++++++-------- .../common/time/IsoCalendarDataProvider.java | 8 ++++++++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java index c48d501edfd0e..be5a07c300ff0 100644 --- a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java +++ b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java @@ -67,14 +67,14 @@ static List systemJvmOptions() { } private static String javaLocaleProviders() { - /* - SPI setting is used to allow loading custom CalendarDataProvider - in jdk8 it has to be loaded from jre/lib/ext, - in jdk9+ it is already within ES project and on a classpath - - Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date - parsing will break in an incompatible way for some date patterns and locales. - //TODO COMPAT will be deprecated in jdk14 https://bugs.openjdk.java.net/browse/JDK-8232906 + /** + * SPI setting is used to allow loading custom CalendarDataProvider + * in jdk8 it has to be loaded from jre/lib/ext, + * in jdk9+ it is already within ES project and on a classpath + * + * Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date + * parsing will break in an incompatible way for some date patterns and locales. + * //TODO COMPAT will be deprecated in jdk14 https://bugs.openjdk.java.net/browse/JDK-8232906 */ if(JavaVersion.majorVersion(JavaVersion.CURRENT) == 8){ return "-Djava.locale.providers=SPI,JRE"; diff --git a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java index 36a93049adeb8..d984601c625bb 100644 --- a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java +++ b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java @@ -22,6 +22,14 @@ import java.util.Locale; import java.util.spi.CalendarDataProvider; +/** + * This class is loaded by JVM SPI mechanism in order to provide ISO compatible behaviour for week calculations using java.time. + * It defines start of the week as Monday and requires 4 days in the first week of the year. + * This class overrides default behaviour for Locale.ROOT (start of the week Sunday, minimum 1 day in the first week of the year). + * Java SPI mechanism requires java.locale.providers to contain SPI value (i.e. java.locale.providers=SPI,COMPAT) + * @see https://en.wikipedia.org/wiki/ISO_week_date + * + */ public class IsoCalendarDataProvider extends CalendarDataProvider { @Override From a43d97a524fe1ba09d9e0da3b0af1f2f6b56d377 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Sat, 18 Jan 2020 16:41:30 +0100 Subject: [PATCH 10/12] cross ref --- .../java/org/elasticsearch/tools/launchers/SystemJvmOptions.java | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java index be5a07c300ff0..f4b080489ac34 100644 --- a/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java +++ b/distribution/tools/launchers/src/main/java/org/elasticsearch/tools/launchers/SystemJvmOptions.java @@ -75,6 +75,7 @@ private static String javaLocaleProviders() { * Due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise time/date * parsing will break in an incompatible way for some date patterns and locales. * //TODO COMPAT will be deprecated in jdk14 https://bugs.openjdk.java.net/browse/JDK-8232906 + * See also: documentation in server/org.elasticsearch.common.time.IsoCalendarDataProvider */ if(JavaVersion.majorVersion(JavaVersion.CURRENT) == 8){ return "-Djava.locale.providers=SPI,JRE"; From 724302bc8d323567335a7555ad2684cfde1b3d75 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Mon, 20 Jan 2020 11:25:50 +0100 Subject: [PATCH 11/12] link fix --- .../org/elasticsearch/common/time/IsoCalendarDataProvider.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java index d984601c625bb..59439e58dbf7b 100644 --- a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java +++ b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java @@ -27,7 +27,8 @@ * It defines start of the week as Monday and requires 4 days in the first week of the year. * This class overrides default behaviour for Locale.ROOT (start of the week Sunday, minimum 1 day in the first week of the year). * Java SPI mechanism requires java.locale.providers to contain SPI value (i.e. java.locale.providers=SPI,COMPAT) - * @see https://en.wikipedia.org/wiki/ISO_week_date + * @see ISO week date + * * */ public class IsoCalendarDataProvider extends CalendarDataProvider { From f4cf3d8e54c27dc6dbe2840a62541273c2bfd6e3 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Mon, 20 Jan 2020 12:58:20 +0100 Subject: [PATCH 12/12] remove empty lines --- .../org/elasticsearch/common/time/IsoCalendarDataProvider.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java index 59439e58dbf7b..e066109567ebc 100644 --- a/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java +++ b/server/src/main/java/org/elasticsearch/common/time/IsoCalendarDataProvider.java @@ -28,8 +28,6 @@ * This class overrides default behaviour for Locale.ROOT (start of the week Sunday, minimum 1 day in the first week of the year). * Java SPI mechanism requires java.locale.providers to contain SPI value (i.e. java.locale.providers=SPI,COMPAT) * @see ISO week date - * - * */ public class IsoCalendarDataProvider extends CalendarDataProvider {