-
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
Allow AVX-512 on JDK 11+ #40828
Allow AVX-512 on JDK 11+ #40828
Conversation
We previously found a bug in the JVM where AVX-512 instructions could crash the JVM to crash with a segmentation fault. This bug impacted JDK 9 and JDK 10, but was most prominent on JDK 10 because AVX-512 was enabled there by default. In JDK 11, this bug is reported fixed so this commit restricts the disabling of AVX-512 to JDK 10 only. Since we no longer support JDK 10 for any versions that this commit will be integrated into (7.1, 8.0), we simply remove the disabling of this flag from the JVM options.
Pinging @elastic/es-core-infra |
The JDK fix is 7339b9e38182. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dliappis and me had a look together at this. According to https://bugs.openjdk.java.net/browse/JDK-8207746, this issue has been resolved in OpenJDK 11 build 27. The OpenJDK 11 GA release which is still available from https://jdk.java.net/archive/ produces the following version output:
OpenJDK Runtime Environment 18.9 (build 11+28)
i.e. this was build 28 so the fix is included in any OpenJDK 11 build and from my perspective we're good to merge this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also LGTM from me. The main concern was whether the first release of OpenJDK 11 GA, that potentially some users are running Elasticsearch with, overriding the bundled JDK, includes the fix. The build check that @danielmitterdorfer mentioned covers us here IMO.
* elastic/master: (36 commits) Remove unneded cluster config from test (elastic#40856) Make Fuzziness reject illegal values earlier (elastic#33511) Remove test-only customisation from TransReplAct (elastic#40863) Fix dense/sparse vector limit documentation (elastic#40852) Make -try xlint warning disabled by default. (elastic#40833) Async Snapshot Repository Deletes (elastic#40144) Revert "Replace usages RandomizedTestingTask with built-in Gradle Test (elastic#40564)" Init global checkpoint after copy commit in peer recovery (elastic#40823) Replace usages RandomizedTestingTask with built-in Gradle Test (elastic#40564) [DOCS] Removed redundant (not quite right) information about upgrades. Remove string usages of old transport settings (elastic#40818) Rollup ignores time_zone on date histogram (elastic#40844) HLRC: fix uri encode bug when url path starts with '/' (elastic#34436) Mutes GatewayIndexStateIT.testRecoverBrokenIndexMetadata Docs: Pin two IDs in the rest client (elastic#40785) Adds version 6.7.2 [DOCS] Remind users to include @ symbol when applying license file (elastic#40688) HLRC: Convert xpack methods to client side objects (elastic#40705) Allow ILM to stop if indices have nonexistent policies (elastic#40820) Add an OpenID Connect authentication realm (elastic#40674) ...
We previously found a bug in the JVM where AVX-512 instructions could crash the JVM to crash with a segmentation fault. This bug impacted JDK 9 and JDK 10, but was most prominent on JDK 10 because AVX-512 was enabled there by default. In JDK 11, this bug is reported fixed so this commit restricts the disabling of AVX-512 to JDK 10 only. Since we no longer support JDK 10 for any versions that this commit will be integrated into (7.1, 8.0), we simply remove the disabling of this flag from the JVM options.
We previously found a bug in the JVM where AVX-512 instructions could crash the JVM to crash with a segmentation fault. This bug impacted JDK 9 and JDK 10, but was most prominent on JDK 10 because AVX-512 was enabled there by default. In JDK 11, this bug is reported fixed so this commit restricts the disabling of AVX-512 to JDK 10 only. Since we no longer support JDK 10 for any versions that this commit will be integrated into (7.1, 8.0), we simply remove the disabling of this flag from the JVM options.
* master: (63 commits) Suppress lease background sync failures if stopping (elastic#40902) [DOCS] Added settings page for ILM. (elastic#40880) [Docs] Remove extraneous text (elastic#40914) Move test classes to test root in Painless (elastic#40873) Fix date index name processor default date_formats (elastic#40915) Source additional files correctly in elasticsearch-cli (elastic#40890) Allow AVX-512 on JDK 11+ (elastic#40828) [Docs] Change example to show col headers (elastic#40822) Update apache httpclient to version 4.5.8 (elastic#40875) Update monitoring-kibana.json (elastic#40899) Introduce Delegating ActionListener Wrappers (elastic#40129) Deprecate old transport settings (elastic#40821) Add Kibana application privileges for monitoring and ml reserved roles (elastic#40651) Use Writeable for TransportReplAction derivatives (elastic#40894) Add test for HTTP and Transport TLS on basic license (elastic#40714) Remove unneded cluster config from test (elastic#40856) Make Fuzziness reject illegal values earlier (elastic#33511) Remove test-only customisation from TransReplAct (elastic#40863) Fix dense/sparse vector limit documentation (elastic#40852) Make -try xlint warning disabled by default. (elastic#40833) ...
* master: (77 commits) Suppress lease background sync failures if stopping (elastic#40902) [DOCS] Added settings page for ILM. (elastic#40880) [Docs] Remove extraneous text (elastic#40914) Move test classes to test root in Painless (elastic#40873) Fix date index name processor default date_formats (elastic#40915) Source additional files correctly in elasticsearch-cli (elastic#40890) Allow AVX-512 on JDK 11+ (elastic#40828) [Docs] Change example to show col headers (elastic#40822) Update apache httpclient to version 4.5.8 (elastic#40875) Update monitoring-kibana.json (elastic#40899) Introduce Delegating ActionListener Wrappers (elastic#40129) Deprecate old transport settings (elastic#40821) Add Kibana application privileges for monitoring and ml reserved roles (elastic#40651) Use Writeable for TransportReplAction derivatives (elastic#40894) Add test for HTTP and Transport TLS on basic license (elastic#40714) Remove unneded cluster config from test (elastic#40856) Make Fuzziness reject illegal values earlier (elastic#33511) Remove test-only customisation from TransReplAct (elastic#40863) Fix dense/sparse vector limit documentation (elastic#40852) Make -try xlint warning disabled by default. (elastic#40833) ...
We previously found a bug in the JVM where AVX-512 instructions could crash the JVM to crash with a segmentation fault. This bug impacted JDK 9 and JDK 10, but was most prominent on JDK 10 because AVX-512 was enabled there by default. In JDK 11, this bug is reported fixed so this commit restricts the disabling of AVX-512 to JDK 10 only. Since we no longer support JDK 10 for any versions that this commit will be integrated into (7.1, 8.0), we simply remove the disabling of this flag from the JVM options.
We previously found a bug in the JVM where AVX-512 instructions could crash the JVM to crash with a segmentation fault. This bug impacted JDK 9 and JDK 10, but was most prominent on JDK 10 because AVX-512 was enabled there by default. In JDK 11, this bug is reported fixed so this commit restricts the disabling of AVX-512 to JDK 10 only. Since we no longer support JDK 10 for any versions that this commit will be integrated into (7.1, 8.0), we simply remove the disabling of this flag from the JVM options.
Relates #32138