This is an automated email from the ASF dual-hosted git repository.

chesnay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 388601f1b75 [FLINK-15736][docs] Add Java compatibility page
388601f1b75 is described below

commit 388601f1b75abd443e149aaa4584d366072a1b0e
Author: Chesnay Schepler <ches...@apache.org>
AuthorDate: Wed Sep 20 22:07:04 2023 +0200

    [FLINK-15736][docs] Add Java compatibility page
---
 .../docs/deployment/java_compatibility.md          | 77 ++++++++++++++++++++++
 docs/content/docs/deployment/java_compatibility.md | 77 ++++++++++++++++++++++
 docs/content/docs/deployment/memory/_index.md      |  2 +-
 3 files changed, 155 insertions(+), 1 deletion(-)

diff --git a/docs/content.zh/docs/deployment/java_compatibility.md 
b/docs/content.zh/docs/deployment/java_compatibility.md
new file mode 100644
index 00000000000..f2e4cb93eb4
--- /dev/null
+++ b/docs/content.zh/docs/deployment/java_compatibility.md
@@ -0,0 +1,77 @@
+---
+title: Java Compatibility
+weight: 2
+type: docs
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Java compatibility
+
+This page lists which Java versions Flink supports and what limitations apply 
(if any).
+
+## Java 8 (deprecated)
+
+Support for Java 8 has been deprecated in 1.15.0.
+It is recommended to migrate to Java 11.
+
+## Java 11
+
+Support for Java 11 was added in 1.10.0 and is the recommended Java version to 
run Flink on.
+
+This is the default version for docker images.
+
+### Untested Flink features
+
+The following Flink features have not been tested with Java 11:
+
+* Hive connector
+* Hbase 1.x connector
+
+### Untested language features
+
+* Modularized user jars have not been tested.
+
+## Java 17
+
+Experimental support for Java 17 was added in 1.18.0. 
([FLINK-15736](https://issues.apache.org/jira/browse/FLINK-15736))
+
+### Untested Flink features
+
+These Flink features have not been tested with Java 17:
+
+* Hive connector
+* Hbase 1.x connector
+
+### JDK modularization
+
+Starting with Java 16 Java applications have to fully cooperate with the JDK 
modularization, also known as [Project 
Jigsaw](https://openjdk.org/projects/jigsaw/).
+This means that access to JDK classes/internal must be explicitly allowed by 
the application when it is started, on a per-module basis, in the form of 
--add-opens/--add-exports JVM arguments.
+
+Since Flink uses reflection for serializing user-defined functions and data 
(via Kryo), this means that if your UDFs or data types use JDK classes you may 
have to allow access to these JDK classes.
+
+These should be configured via the [env.java.opts.all]({{< ref 
"docs/deployment/config" >}}#env-java-opts-all) option.
+
+In the default configuration in the Flink distribution this option is 
configured such that Flink itself works on Java 17.  
+The list of configured arguments must not be shortened, but only extended.
+
+### Known issues
+
+* Java records are not supported. See 
[FLINK-32380](https://issues.apache.org/jira/browse/FLINK-32380) for updates.
+* SIGSEGV in C2 Compiler thread: Early Java 17 builds are affected by a bug 
where the JVM can fail abruptly. Update your Java 17 installation to resolve 
the issue. See [JDK-8277529](https://bugs.openjdk.org/browse/JDK-8277529) for 
details.
diff --git a/docs/content/docs/deployment/java_compatibility.md 
b/docs/content/docs/deployment/java_compatibility.md
new file mode 100644
index 00000000000..f2e4cb93eb4
--- /dev/null
+++ b/docs/content/docs/deployment/java_compatibility.md
@@ -0,0 +1,77 @@
+---
+title: Java Compatibility
+weight: 2
+type: docs
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Java compatibility
+
+This page lists which Java versions Flink supports and what limitations apply 
(if any).
+
+## Java 8 (deprecated)
+
+Support for Java 8 has been deprecated in 1.15.0.
+It is recommended to migrate to Java 11.
+
+## Java 11
+
+Support for Java 11 was added in 1.10.0 and is the recommended Java version to 
run Flink on.
+
+This is the default version for docker images.
+
+### Untested Flink features
+
+The following Flink features have not been tested with Java 11:
+
+* Hive connector
+* Hbase 1.x connector
+
+### Untested language features
+
+* Modularized user jars have not been tested.
+
+## Java 17
+
+Experimental support for Java 17 was added in 1.18.0. 
([FLINK-15736](https://issues.apache.org/jira/browse/FLINK-15736))
+
+### Untested Flink features
+
+These Flink features have not been tested with Java 17:
+
+* Hive connector
+* Hbase 1.x connector
+
+### JDK modularization
+
+Starting with Java 16 Java applications have to fully cooperate with the JDK 
modularization, also known as [Project 
Jigsaw](https://openjdk.org/projects/jigsaw/).
+This means that access to JDK classes/internal must be explicitly allowed by 
the application when it is started, on a per-module basis, in the form of 
--add-opens/--add-exports JVM arguments.
+
+Since Flink uses reflection for serializing user-defined functions and data 
(via Kryo), this means that if your UDFs or data types use JDK classes you may 
have to allow access to these JDK classes.
+
+These should be configured via the [env.java.opts.all]({{< ref 
"docs/deployment/config" >}}#env-java-opts-all) option.
+
+In the default configuration in the Flink distribution this option is 
configured such that Flink itself works on Java 17.  
+The list of configured arguments must not be shortened, but only extended.
+
+### Known issues
+
+* Java records are not supported. See 
[FLINK-32380](https://issues.apache.org/jira/browse/FLINK-32380) for updates.
+* SIGSEGV in C2 Compiler thread: Early Java 17 builds are affected by a bug 
where the JVM can fail abruptly. Update your Java 17 installation to resolve 
the issue. See [JDK-8277529](https://bugs.openjdk.org/browse/JDK-8277529) for 
details.
diff --git a/docs/content/docs/deployment/memory/_index.md 
b/docs/content/docs/deployment/memory/_index.md
index 3cba912e3a8..cf5820c4e38 100644
--- a/docs/content/docs/deployment/memory/_index.md
+++ b/docs/content/docs/deployment/memory/_index.md
@@ -20,4 +20,4 @@ software distributed under the License is distributed on an
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
--->
\ No newline at end of file
+-->

Reply via email to