Enable testing against JDK 13 EA builds (#40829)
This commit adds JDK 13 to the CI rotation for testing. For now, we will be testing against JDK 13 EA builds.
This commit is contained in:
parent
117df87b2b
commit
78be3dde25
|
@ -8,3 +8,4 @@ ES_BUILD_JAVA=openjdk12
|
||||||
ES_RUNTIME_JAVA=java8
|
ES_RUNTIME_JAVA=java8
|
||||||
GRADLE_TASK=build
|
GRADLE_TASK=build
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
|
|
||||||
ES_BUILD_JAVA:
|
ES_BUILD_JAVA:
|
||||||
- openjdk12
|
- openjdk12
|
||||||
|
- openjdk13
|
||||||
|
|
|
@ -11,6 +11,7 @@ ES_RUNTIME_JAVA:
|
||||||
- java11
|
- java11
|
||||||
- java12
|
- java12
|
||||||
- openjdk12
|
- openjdk12
|
||||||
|
- openjdk13
|
||||||
- zulu8
|
- zulu8
|
||||||
- zulu11
|
- zulu11
|
||||||
- zulu12
|
- zulu12
|
||||||
|
|
|
@ -61,7 +61,7 @@ import static org.elasticsearch.bootstrap.FilePermissionUtils.addSingleFilePath;
|
||||||
/**
|
/**
|
||||||
* Initializes SecurityManager with necessary permissions.
|
* Initializes SecurityManager with necessary permissions.
|
||||||
* <br>
|
* <br>
|
||||||
* <h1>Initialization</h1>
|
* <h2>Initialization</h2>
|
||||||
* The JVM is not initially started with security manager enabled,
|
* The JVM is not initially started with security manager enabled,
|
||||||
* instead we turn it on early in the startup process. This is a tradeoff
|
* instead we turn it on early in the startup process. This is a tradeoff
|
||||||
* between security and ease of use:
|
* between security and ease of use:
|
||||||
|
@ -72,7 +72,7 @@ import static org.elasticsearch.bootstrap.FilePermissionUtils.addSingleFilePath;
|
||||||
* otherwise be permitted.</li>
|
* otherwise be permitted.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* <br>
|
* <br>
|
||||||
* <h1>Permissions</h1>
|
* <h2>Permissions</h2>
|
||||||
* Permissions use a policy file packaged as a resource, this file is
|
* Permissions use a policy file packaged as a resource, this file is
|
||||||
* also used in tests. File permissions are generated dynamically and
|
* also used in tests. File permissions are generated dynamically and
|
||||||
* combined with this policy file.
|
* combined with this policy file.
|
||||||
|
@ -92,7 +92,7 @@ import static org.elasticsearch.bootstrap.FilePermissionUtils.addSingleFilePath;
|
||||||
* cleanups to the scripting apis). But still it can provide some defense for users
|
* cleanups to the scripting apis). But still it can provide some defense for users
|
||||||
* that enable dynamic scripting without being fully aware of the consequences.
|
* that enable dynamic scripting without being fully aware of the consequences.
|
||||||
* <br>
|
* <br>
|
||||||
* <h1>Debugging Security</h1>
|
* <h2>Debugging Security</h2>
|
||||||
* A good place to start when there is a problem is to turn on security debugging:
|
* A good place to start when there is a problem is to turn on security debugging:
|
||||||
* <pre>
|
* <pre>
|
||||||
* ES_JAVA_OPTS="-Djava.security.debug=access,failure" bin/elasticsearch
|
* ES_JAVA_OPTS="-Djava.security.debug=access,failure" bin/elasticsearch
|
||||||
|
|
|
@ -31,7 +31,7 @@ import java.lang.annotation.Annotation;
|
||||||
* used to create an {@link Injector}. Guice provides this object to your
|
* used to create an {@link Injector}. Guice provides this object to your
|
||||||
* application's {@link Module} implementors so they may each contribute
|
* application's {@link Module} implementors so they may each contribute
|
||||||
* their own bindings and other registrations.
|
* their own bindings and other registrations.
|
||||||
* <h3>The Guice Binding EDSL</h3>
|
* <h2>The Guice Binding EDSL</h2>
|
||||||
* <p>
|
* <p>
|
||||||
* Guice uses an <i>embedded domain-specific language</i>, or EDSL, to help you
|
* Guice uses an <i>embedded domain-specific language</i>, or EDSL, to help you
|
||||||
* create bindings simply and readably. This approach is great for overall
|
* create bindings simply and readably. This approach is great for overall
|
||||||
|
|
|
@ -39,7 +39,7 @@ import static java.util.Collections.unmodifiableSet;
|
||||||
/**
|
/**
|
||||||
* Provides a factory that combines the caller's arguments with injector-supplied values to
|
* Provides a factory that combines the caller's arguments with injector-supplied values to
|
||||||
* construct objects.
|
* construct objects.
|
||||||
* <h3>Defining a factory</h3>
|
* <h2>Defining a factory</h2>
|
||||||
* Create an interface whose methods return the constructed type, or any of its supertypes. The
|
* Create an interface whose methods return the constructed type, or any of its supertypes. The
|
||||||
* method's parameters are the arguments required to build the constructed type.
|
* method's parameters are the arguments required to build the constructed type.
|
||||||
* <pre>public interface PaymentFactory {
|
* <pre>public interface PaymentFactory {
|
||||||
|
|
|
@ -97,7 +97,7 @@ import java.util.Set;
|
||||||
* above. The frequency and length thresholds could be parameters, etc.
|
* above. The frequency and length thresholds could be parameters, etc.
|
||||||
* Doug
|
* Doug
|
||||||
* </pre>
|
* </pre>
|
||||||
* <h3>Initial Usage</h3>
|
* <h2>Initial Usage</h2>
|
||||||
* <p>
|
* <p>
|
||||||
* This class has lots of options to try to make it efficient and flexible.
|
* This class has lots of options to try to make it efficient and flexible.
|
||||||
* The simplest possible usage is as follows. The bold
|
* The simplest possible usage is as follows. The bold
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
/**
|
/**
|
||||||
* <p>This package exposes the Elasticsearch Snapshot functionality.</p>
|
* <p>This package exposes the Elasticsearch Snapshot functionality.</p>
|
||||||
*
|
*
|
||||||
* <h1>Preliminaries</h1>
|
* <h2>Preliminaries</h2>
|
||||||
*
|
*
|
||||||
* <p>There are two communication channels between all nodes and master in the snapshot functionality:</p>
|
* <p>There are two communication channels between all nodes and master in the snapshot functionality:</p>
|
||||||
* <ul>
|
* <ul>
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
* snapshot's entry in the cluster state accordingly.</li>
|
* snapshot's entry in the cluster state accordingly.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* <h1>Snapshot Creation</h1>
|
* <h2>Snapshot Creation</h2>
|
||||||
* <p>Snapshots are created by the following sequence of events:</p>
|
* <p>Snapshots are created by the following sequence of events:</p>
|
||||||
* <ol>
|
* <ol>
|
||||||
* <li>An invocation of {@link org.elasticsearch.snapshots.SnapshotsService#createSnapshot} enqueues a cluster state update to create
|
* <li>An invocation of {@link org.elasticsearch.snapshots.SnapshotsService#createSnapshot} enqueues a cluster state update to create
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
* </li>
|
* </li>
|
||||||
* </ol>
|
* </ol>
|
||||||
*
|
*
|
||||||
* <h1>Deleting a Snapshot</h1>
|
* <h2>Deleting a Snapshot</h2>
|
||||||
*
|
*
|
||||||
* <p>Deleting a snapshot can take the form of either simply deleting it from the repository or (if it has not completed yet) aborting it
|
* <p>Deleting a snapshot can take the form of either simply deleting it from the repository or (if it has not completed yet) aborting it
|
||||||
* and subsequently deleting it from the repository.</p>
|
* and subsequently deleting it from the repository.</p>
|
||||||
|
|
|
@ -55,6 +55,8 @@ grant codeBase "${codebase.elasticsearch-plugin-classloader}" {
|
||||||
//// Everything else:
|
//// Everything else:
|
||||||
|
|
||||||
grant {
|
grant {
|
||||||
|
// needed by vendored Guice
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.vm.annotation";
|
||||||
|
|
||||||
// checked by scripting engines, and before hacks and other issues in
|
// checked by scripting engines, and before hacks and other issues in
|
||||||
// third party code, to safeguard these against unprivileged code like scripts.
|
// third party code, to safeguard these against unprivileged code like scripts.
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
* if possible, to one (at the moment) query DSL. Of course, this means
|
* if possible, to one (at the moment) query DSL. Of course, this means
|
||||||
* not all SQL queries are supported.<br>
|
* not all SQL queries are supported.<br>
|
||||||
*
|
*
|
||||||
* <h3>Premise</h3>
|
* <h2>Premise</h2>
|
||||||
* Since Elasticsearch is not a database nor does it supports arbitrary
|
* Since Elasticsearch is not a database nor does it supports arbitrary
|
||||||
* {@code JOIN}s (a cornerstone of SQL), SQL module is built from the
|
* {@code JOIN}s (a cornerstone of SQL), SQL module is built from the
|
||||||
* ground-up with Elasticsearch in mind first and SQL second. In fact,
|
* ground-up with Elasticsearch in mind first and SQL second. In fact,
|
||||||
* even the grammar introduces Elasticsearch specific components that
|
* even the grammar introduces Elasticsearch specific components that
|
||||||
* have no concept in ANSI SQL.
|
* have no concept in ANSI SQL.
|
||||||
*
|
*
|
||||||
* <h3>Architecture</h3>
|
* <h2>Architecture</h2>
|
||||||
* SQL module is roughly based on the Volcano project (by Graefe
|
* SQL module is roughly based on the Volcano project (by Graefe
|
||||||
* {@code &} co)
|
* {@code &} co)
|
||||||
* <a href="http://ieeexplore.ieee.org/document/344061">[1]</a>
|
* <a href="http://ieeexplore.ieee.org/document/344061">[1]</a>
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
* (to different degrees) by the majority of SQL engines out there such
|
* (to different degrees) by the majority of SQL engines out there such
|
||||||
* as Apache Calcite, Apache Impala, Apache Spark and Facebook Presto.
|
* as Apache Calcite, Apache Impala, Apache Spark and Facebook Presto.
|
||||||
*
|
*
|
||||||
* <h3>Concepts</h3>
|
* <h2>Concepts</h2>
|
||||||
*
|
*
|
||||||
* The building operation of the SQL engine is defined by an action,
|
* The building operation of the SQL engine is defined by an action,
|
||||||
* namely a rule (defined in {@link org.elasticsearch.xpack.sql.rule rule}
|
* namely a rule (defined in {@link org.elasticsearch.xpack.sql.rule rule}
|
||||||
|
@ -112,8 +112,8 @@
|
||||||
* <li>The Elasticsearch query gets executed</li>
|
* <li>The Elasticsearch query gets executed</li>
|
||||||
* </ol>
|
* </ol>
|
||||||
*
|
*
|
||||||
* <h4>Digression - Visitors, pattern matching, {@code instanceof} and
|
* <h3>Digression - Visitors, pattern matching, {@code instanceof} and
|
||||||
* Java 10/11/12</h4>
|
* Java 10/11/12</h3>
|
||||||
*
|
*
|
||||||
* To implement the above concepts, several choices have been made in the
|
* To implement the above concepts, several choices have been made in the
|
||||||
* engine (which are not common in the rest of the XPack code base). In
|
* engine (which are not common in the rest of the XPack code base). In
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
* {@link org.elasticsearch.xpack.sql.tree.Node#transformDown(java.util.function.Function, Class)
|
* {@link org.elasticsearch.xpack.sql.tree.Node#transformDown(java.util.function.Function, Class)
|
||||||
* pre-order transformation}).
|
* pre-order transformation}).
|
||||||
*
|
*
|
||||||
* <h3>Components</h3>
|
* <h2>Components</h2>
|
||||||
*
|
*
|
||||||
* The SQL engine is made up of the following components:
|
* The SQL engine is made up of the following components:
|
||||||
* <dl>
|
* <dl>
|
||||||
|
|
Loading…
Reference in New Issue