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

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 18ef2a57a5 NIFI-11164 Updated minimum Java version from 8 to 11.0.16
18ef2a57a5 is described below

commit 18ef2a57a58f995994f519d8911b31a20aa01b6a
Author: Pierre Villard <[email protected]>
AuthorDate: Fri Feb 10 13:05:16 2023 +0100

    NIFI-11164 Updated minimum Java version from 8 to 11.0.16
    
    - Updated GitHub workflows from Java 8 to 11
    - Updated Maven Compiler Source and Target version from 1.8 to 11
    - Disabled JASN1 tests failing on Windows with Java 11
    
    This closes #6940
    
    Co-authored-by: David Handermann <[email protected]>
    Signed-off-by: David Handermann <[email protected]>
---
 .github/PULL_REQUEST_TEMPLATE.md                         |  1 -
 .github/workflows/ci-workflow.yml                        | 13 ++++++-------
 .github/workflows/system-tests.yml                       |  6 +++---
 README.md                                                |  8 ++++----
 nifi-docs/src/main/asciidoc/administration-guide.adoc    | 16 ++--------------
 .../src/main/asciidoc/expression-language-guide.adoc     |  2 +-
 nifi-docs/src/main/asciidoc/user-guide.adoc              |  7 -------
 .../test/java/org/apache/nifi/jasn1/JASN1ReaderTest.java |  7 +++++--
 .../src/main/asciidoc/administration-guide.adoc          |  3 +--
 pom.xml                                                  |  6 +++---
 10 files changed, 25 insertions(+), 44 deletions(-)

diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 53ed1a18b4..946c8712af 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -40,7 +40,6 @@ Please indicate the verification steps performed prior to 
pull request creation.
 ### Build
 
 - [ ] Build completed using `mvn clean install -P contrib-check`
-  - [ ] JDK 8
   - [ ] JDK 11
   - [ ] JDK 17
 
diff --git a/.github/workflows/ci-workflow.yml 
b/.github/workflows/ci-workflow.yml
index a07b1fc3f4..8ca441c758 100644
--- a/.github/workflows/ci-workflow.yml
+++ b/.github/workflows/ci-workflow.yml
@@ -31,7 +31,6 @@ env:
     -Dmaven.wagon.http.pool=false
   MAVEN_COMPILE_COMMAND: >-
     mvn test-compile
-    --threads 2C
     --show-version
     --no-snapshot-updates
     --no-transfer-progress
@@ -236,7 +235,7 @@ jobs:
   macos-build-jp:
     timeout-minutes: 120
     runs-on: macos-latest
-    name: MacOS Temurin JDK 8 JP
+    name: MacOS Temurin JDK 17 JP
     steps:
       - name: System Information
         run: |
@@ -253,11 +252,11 @@ jobs:
             ~/.npm
             **/node_modules
           key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
-      - name: Set up Java 8
+      - name: Set up Java 17
         uses: actions/setup-java@v3
         with:
           distribution: 'temurin'
-          java-version: '8'
+          java-version: '17'
           cache: 'maven'
       - name: Maven Compile
         env:
@@ -297,7 +296,7 @@ jobs:
   windows-build:
     timeout-minutes: 120
     runs-on: windows-latest
-    name: Windows Zulu JDK 8 FR
+    name: Windows Zulu JDK 11 FR
     steps:
       - name: System Information
         run: |
@@ -316,11 +315,11 @@ jobs:
             ~\AppData\npm-cache
             **\node_modules
           key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
-      - name: Set up Java 8
+      - name: Set up Java 11
         uses: actions/setup-java@v3
         with:
           distribution: 'zulu'
-          java-version: '8'
+          java-version: '11'
           cache: 'maven'
       - name: Maven Compile
         env:
diff --git a/.github/workflows/system-tests.yml 
b/.github/workflows/system-tests.yml
index 2aeb65d599..7808ab00be 100644
--- a/.github/workflows/system-tests.yml
+++ b/.github/workflows/system-tests.yml
@@ -139,15 +139,15 @@ jobs:
   macos:
     timeout-minutes: 120
     runs-on: macos-latest
-    name: MacOS Java 8
+    name: MacOS Java 11
     steps:
       - name: Checkout Code
         uses: actions/checkout@v3
-      - name: Set up Java 8
+      - name: Set up Java 11
         uses: actions/setup-java@v3
         with:
           distribution: zulu
-          java-version: 8
+          java-version: 11
           cache: 'maven'
       - name: Build Dependencies
         env:
diff --git a/README.md b/README.md
index 4b17be2e54..9a62fac085 100644
--- a/README.md
+++ b/README.md
@@ -61,12 +61,12 @@ Apache NiFi was made for dataflow. It supports highly 
configurable directed grap
   - Multiple teams can manage and share specific portions of the flow
 
 ## Minimum Recommendations
-* JDK 11.0.16
-* Apache Maven 3.8.6
+* JDK 17.0.6
+* Apache Maven 3.9.0
 
 ## Minimum Requirements
-* JDK 8 Update 251
-* Apache Maven 3.6.0
+* JDK 11.0.16
+* Apache Maven 3.8.6
 
 ## Getting Started
 
diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc 
b/nifi-docs/src/main/asciidoc/administration-guide.adoc
index 2fd8ad4a93..08cf0ceec2 100644
--- a/nifi-docs/src/main/asciidoc/administration-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc
@@ -23,7 +23,7 @@ Apache NiFi Team <[email protected]>
 == System Requirements
 Apache NiFi can run on something as simple as a laptop, but it can also be 
clustered across many enterprise-class servers. Therefore, the amount of 
hardware and memory needed will depend on the size and nature of the dataflow 
involved. The data is stored on disk while NiFi is processing it. So NiFi needs 
to have sufficient disk space allocated for its various repositories, 
particularly the content repository, flowfile repository, and provenance 
repository (see the <<system_properties>> s [...]
 
-* Requires Java 8 or Java 11
+* Requires Java 11 or Java 17
 * Supported Operating Systems:
 ** Linux
 ** Unix
@@ -80,7 +80,7 @@ See the <<system_properties>> section of this guide for more 
information about c
 
 The binary build of Apache NiFi that is provided by the Apache mirrors does 
not contain every NAR file that is part of the official release. This is due to 
size constraints imposed by the mirrors to reduce the expenses associated with 
hosting such a large project. The Developer Guide 
link:developer-guide.html#build[has a list] of optional Maven profiles that can 
be activated to build a binary distribution of NiFi with these extra 
capabilities.
 
-To execute build, download either Java 8 or Java 11 from 
https://www.adoptium.net[Adoptium] or whichever distribution of the JDK your 
team uses (Adoptium is the rebranding of AdoptOpenJDK which is one of the most 
popular). Java 8 and 11 are the only officially supported JVM releases. Then 
install https://maven.apache.org[Apache Maven].
+To execute build, download either Java 11 or Java 17 from 
https://www.adoptium.net[Adoptium] or whichever distribution of the JDK your 
team uses (Adoptium is the rebranding of AdoptOpenJDK which is one of the most 
popular). Java 11 and 17 are the only officially supported JVM releases. Then 
install https://maven.apache.org[Apache Maven].
 
 The next step is to download a copy of the Apache NiFi source code from the 
https://nifi.apache.org/download.html[NiFi Downloads page]. The reason you need 
the source build is that it includes a module called `nifi-assembly` which is 
the Maven module that builds a binary distribution. Expand the archive and run 
a Maven clean build. The following example shows how to build a distribution 
that activates the `graph` and `media` bundle profiles to add in support for 
graph databases and Apach [...]
 
@@ -1988,18 +1988,6 @@ By default, the `Allow Insecure Cryptographic Modes` 
property in `EncryptContent
 
 image:allow-weak-crypto.png["Allow Insecure Cryptographic Modes", width=940]
 
-On a JVM with limited strength cryptography, some PBE algorithms limit the 
maximum password length to 7, and in this case it will not be possible to 
provide a "safe" password. It is recommended to install the JCE Unlimited 
Strength Jurisdiction Policy files for the JVM to mitigate this issue.
-
-* 
link:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html[JCE
 Unlimited Strength Jurisdiction Policy files for Java 8^]
-
-If on a system where the unlimited strength policies cannot be installed, it 
is recommended to switch to an algorithm that supports longer passwords (see 
table above).
-
-[WARNING]
-.Allowing Weak Crypto
-=====================
-If it is not possible to install the unlimited strength jurisdiction policies, 
the `Allow Weak Crypto` setting can be changed to `allowed`, but *this is _not_ 
recommended*. Changing this setting explicitly acknowledges the inherent risk 
in using weak cryptographic configurations.
-=====================
-
 It is preferable to request upstream/downstream systems to switch to 
link:https://cwiki.apache.org/confluence/display/NIFI/Encryption+Information[keyed
 encryption^] or use a "strong" <<key-derivation-functions, Key Derivation 
Function (KDF) supported by NiFi>>.
 
 [[nifi_sensitive_props_key]]
diff --git a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc 
b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
index fd3dd94ef5..c592feb743 100644
--- a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc
@@ -2203,7 +2203,7 @@ Divide. This is to preserve backwards compatibility and 
to not force rounding er
 [.function]
 === math
 
-*Description*: [.description]#ADVANCED FEATURE. This expression is designed to 
be used by advanced users only. It utilizes Java Reflection to run arbitrary 
java.lang.Math static methods. The exact API will depend on the version of Java 
you are running. The Java 8 API can be found here: 
link:https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html[https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html^]
+*Description*: [.description]#ADVANCED FEATURE. This expression is designed to 
be used by advanced users only. It utilizes Java Reflection to run arbitrary 
java.lang.Math static methods. The exact API will depend on the version of Java 
you are running. The Java 11 API can be found here: 
link:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html[https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html^]
  +
 In order to run the correct method, the parameter types must be correct. The 
Expression Language "Number" (whole number) type is interpreted as a Java 
"long". The "Decimal" type is interpreted as a Java "double". Running the 
desired method may require calling "toNumber()" or "toDecimal()" in order to 
"cast" the value to the desired type. This also is important to remember when 
cascading "math()" calls since the return type depends on the method that was 
run.#
 
diff --git a/nifi-docs/src/main/asciidoc/user-guide.adoc 
b/nifi-docs/src/main/asciidoc/user-guide.adoc
index 8a76fdead4..f0be5df780 100644
--- a/nifi-docs/src/main/asciidoc/user-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/user-guide.adoc
@@ -2949,13 +2949,6 @@ The `WriteAheadProvenanceRepository` can use the 
Provenance data stored by the `
 ==== Older Existing NiFi Version
 If you are upgrading from an older version of NiFi to 1.2.0 or later, it is 
recommended that you do not change the provenance configuration to Write Ahead 
until you confirm your flows and environment are stable in 1.2.0 first.  This 
reduces the number of variables in your upgrade and can simplify the debugging 
process if any issues arise.
 
-==== Bootstrap.conf
-While better performance is achieved with the G1 garbage collector, Java 8 
bugs may surface more frequently in the Write Ahead configuration.  It is 
recommended that the following line is commented out in the _bootstrap.conf_ 
file in the `conf` directory:
-
-....
-java.arg.13=-XX:+UseG1GC
-....
-
 ==== System Properties
 Many of the same system properties are supported by both the Persistent and 
Write Ahead configurations, however the default values have been chosen for a 
Persistent Provenance configuration. The following exceptions and 
recommendations should be noted when changing to a Write Ahead configuration:
 
diff --git 
a/nifi-nar-bundles/nifi-asn1-bundle/nifi-asn1-services/src/test/java/org/apache/nifi/jasn1/JASN1ReaderTest.java
 
b/nifi-nar-bundles/nifi-asn1-bundle/nifi-asn1-services/src/test/java/org/apache/nifi/jasn1/JASN1ReaderTest.java
index 98377de503..e495d290a3 100644
--- 
a/nifi-nar-bundles/nifi-asn1-bundle/nifi-asn1-services/src/test/java/org/apache/nifi/jasn1/JASN1ReaderTest.java
+++ 
b/nifi-nar-bundles/nifi-asn1-bundle/nifi-asn1-services/src/test/java/org/apache/nifi/jasn1/JASN1ReaderTest.java
@@ -23,6 +23,7 @@ import org.apache.nifi.processor.exception.ProcessException;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledOnOs;
 import org.junit.jupiter.api.condition.EnabledOnOs;
 import org.junit.jupiter.api.condition.OS;
 import org.mockito.ArgumentCaptor;
@@ -78,6 +79,7 @@ public class JASN1ReaderTest {
         assertTrue(!testSubject.asnOutDir.toFile().exists());
     }
 
+    @DisabledOnOs({ OS.WINDOWS })
     @Test
     public void testCanLoadClassCompiledFromAsn() throws Exception {
         // GIVEN
@@ -138,6 +140,7 @@ public class JASN1ReaderTest {
         testParseError(asnFile, expectedErrorMessages);
     }
 
+    @DisabledOnOs({ OS.WINDOWS })
     @Test
     /*
      * Checks reported messages of underlying libraries that are explained in 
additionalDetails.html.
@@ -158,13 +161,13 @@ public class JASN1ReaderTest {
         testCompileError(asnFiles, expectedErrorMessages);
     }
 
-    @EnabledOnOs({ OS.MAC, OS.WINDOWS })
+    @EnabledOnOs({ OS.MAC })
     @Test
     /*
      * Checks reported messages of underlying libraries that are explained in 
additionalDetails.html.
      * In case of changes to this test additionalDetails.html may need to be 
updated as well.
      */
-    public void testCantCompileAsnOnMacWindows() throws Exception {
+    public void testCantCompileAsnOnMac() throws Exception {
         // GIVEN
         String asnFiles = Paths.get("src", "test", "resources", 
"cant_compile_mac_windows.asn").toString();
 
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-docs/src/main/asciidoc/administration-guide.adoc
 
b/nifi-registry/nifi-registry-core/nifi-registry-docs/src/main/asciidoc/administration-guide.adoc
index 86e37357bc..2d0baacab7 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-docs/src/main/asciidoc/administration-guide.adoc
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-docs/src/main/asciidoc/administration-guide.adoc
@@ -23,7 +23,7 @@ Apache NiFi Team <[email protected]>
 
 NiFi Registry has the following minimum system requirements:
 
-* Requires Java Development Kit (JDK) 8, newer than 1.8.0_45
+* Requires Java Development Kit (JDK) 11, newer than 11.0.16
 
 WARNING: When running Registry with only a JRE you may encounter the following 
error as Flyway (database migration tool) attempts to utilize a resource from 
the JDK: +
  +
@@ -965,7 +965,6 @@ See <<kerberos_properties>> for complete documentation.
   Some will provide the local Kerberos ticket to any domain that requests it, 
while others whitelist the trusted domains. See 
link:https://docs.spring.io/autorepo/docs/spring-security-kerberos/1.0.2.BUILD-SNAPSHOT/reference/htmlsingle/#browserspnegoconfig[Spring
 Security Kerberos - Reference Documentation: Appendix E. Configure browsers 
for SPNEGO Negotiation^] for common browsers.
 * Some browsers (legacy IE) do not support recent encryption algorithms such 
as AES, and are restricted to legacy algorithms (DES). This should be noted 
when generating keytabs.
 * The KDC must be configured and a service principal defined for NiFi and a 
keytab exported. Comprehensive instructions for Kerberos server configuration 
and administration are beyond the scope of this document (see 
link:https://web.mit.edu/kerberos/krb5-current/doc/admin/index.html[MIT 
Kerberos Admin Guide^]), but an example is below.
-* Kerberos tickets may use AES encryption with keys up to 256-bits in length, 
and therefore unlimited strength encryption policies may be required for the 
Jave Runtime Environment (JRE) used for NiFi Registry when Kerberos SPNEGO is 
configured.
 
 Adding a service principal for a server at `nifi.nifi.apache.org` and 
exporting the keytab from the KDC:
 
diff --git a/pom.xml b/pom.xml
index 3c920c0643..b709b66d64 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,11 +89,11 @@
         <url>https://issues.apache.org/jira/browse/NIFI</url>
     </issueManagement>
     <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
         <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
         <!-- Set minimum Java version for maven-enforcer-plugin from parent 
POM -->
-        <minimalJavaBuildVersion>1.8.0-251</minimalJavaBuildVersion>
+        <minimalJavaBuildVersion>11.0.16</minimalJavaBuildVersion>
         <maven.surefire.arguments />
         <!-- Disable maven-site-plugin from parent POM -->
         <maven.site.skip>true</maven.site.skip>

Reply via email to