OOZIE-3599 Upgrade Jetty to 9.4.43.v20210629 (medb via dionusos)
diff --git a/core/pom.xml b/core/pom.xml
index 6fe0a00..b827f33 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -331,6 +331,10 @@
 
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-runner</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-server</artifactId>
         </dependency>
         <dependency>
diff --git a/core/src/main/java/org/apache/oozie/service/AsyncXCommandExecutor.java b/core/src/main/java/org/apache/oozie/service/AsyncXCommandExecutor.java
index 1f37622..02f86a0 100644
--- a/core/src/main/java/org/apache/oozie/service/AsyncXCommandExecutor.java
+++ b/core/src/main/java/org/apache/oozie/service/AsyncXCommandExecutor.java
@@ -43,7 +43,6 @@
 import org.apache.oozie.util.NamedThreadFactory;
 import org.apache.oozie.util.XCallable;
 import org.apache.oozie.util.XLog;
-import org.eclipse.jetty.util.ConcurrentHashSet;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
@@ -191,7 +190,7 @@
 
         Set<CallableWrapper<?>> commandsForType = pendingCommandsPerType.get(type);
         if (commandsForType == null) {
-            commandsForType = new ConcurrentHashSet<>();
+            commandsForType = ConcurrentHashMap.newKeySet();
             Set<CallableWrapper<?>> oldCommandForType;
             oldCommandForType = pendingCommandsPerType.putIfAbsent(type, commandsForType);
 
diff --git a/core/src/test/java/org/apache/oozie/servlet/TestJsonRestServlet.java b/core/src/test/java/org/apache/oozie/servlet/TestJsonRestServlet.java
index a1fdbae..aca0f1d 100644
--- a/core/src/test/java/org/apache/oozie/servlet/TestJsonRestServlet.java
+++ b/core/src/test/java/org/apache/oozie/servlet/TestJsonRestServlet.java
@@ -191,7 +191,7 @@
             public Void call() throws Exception {
                 HttpURLConnection conn = invoke("GET", "/any/any", "dummy", "dummy");
                 assertEquals(HttpServletResponse.SC_BAD_REQUEST, conn.getResponseCode());
-                assertEquals("E0301: Invalid resource [any/any]", conn.getResponseMessage());
+                assertEquals("Bad Request", conn.getResponseMessage());
                 checkErrorResponse(conn, HttpServletResponse.SC_BAD_REQUEST, "E0301: Invalid resource [any/any]");
                 return null;
             }
diff --git a/pom.xml b/pom.xml
index fdb2c88..97132fe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,7 @@
          <joda.time.version>2.9.9</joda.time.version>
          <avro.version>1.8.2</avro.version>
 
-         <jetty.version>9.3.27.v20190418</jetty.version>
+         <jetty.version>9.4.43.v20210629</jetty.version>
          <apache.jsp.version>8.0.33</apache.jsp.version>
 
          <jline.version>0.9.94</jline.version>
@@ -1016,6 +1016,10 @@
                         <groupId>hadoop</groupId>
                         <artifactId>core</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <artifactId>jetty-all</artifactId>
+                        <groupId>org.eclipse.jetty.aggregate</groupId>
+                    </exclusion>
                 </exclusions>
             </dependency>
 
@@ -1201,6 +1205,10 @@
                         <groupId>org.apache.hive</groupId>
                     </exclusion>
                     <exclusion>
+                        <artifactId>jetty-all</artifactId>
+                        <groupId>org.eclipse.jetty.aggregate</groupId>
+                    </exclusion>
+                    <exclusion>
                         <artifactId>jetty-util</artifactId>
                         <groupId>org.mortbay.jetty</groupId>
                     </exclusion>
@@ -1653,6 +1661,11 @@
             </dependency>
             <dependency>
                 <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-runner</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-server</artifactId>
                 <version>${jetty.version}</version>
             </dependency>
diff --git a/release-log.txt b/release-log.txt
index 2a48d30..76d1f2a 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.3.0 release (trunk - unreleased)
 
+OOZIE-3599 Upgrade Jetty to 9.4.43.v20210629 (medb via dionusos)
 OOZIE-3633 TestIntegrationGitActionExecutor can fail due to "Address already in use" (dionusos via asalamon74)
 OOZIE-3631 Small typo error in WorkflowJob.java (lyoungzzz via dionusos)
 OOZIE-3630 Small typo in README (ajs6f via asalamon74)
diff --git a/server/src/main/java/org/apache/oozie/server/SSLServerConnectorFactory.java b/server/src/main/java/org/apache/oozie/server/SSLServerConnectorFactory.java
index 9110d7f..89f54f4 100644
--- a/server/src/main/java/org/apache/oozie/server/SSLServerConnectorFactory.java
+++ b/server/src/main/java/org/apache/oozie/server/SSLServerConnectorFactory.java
@@ -53,11 +53,11 @@
     @VisibleForTesting
     static final long OOZIE_DEFAULT_HSTS_MAX_AGE = 31536000;
 
-    private SslContextFactory sslContextFactory;
+    private SslContextFactory.Server sslContextFactory;
     private Configuration conf;
 
     @Inject
-    public SSLServerConnectorFactory(final SslContextFactory sslContextFactory) {
+    public SSLServerConnectorFactory(final SslContextFactory.Server sslContextFactory) {
         this.sslContextFactory = Objects.requireNonNull(sslContextFactory,  "sslContextFactory is null");
     }
 
diff --git a/server/src/test/java/org/apache/oozie/server/TestSSLServerConnectorFactory.java b/server/src/test/java/org/apache/oozie/server/TestSSLServerConnectorFactory.java
index b05a9ce..9705292 100644
--- a/server/src/test/java/org/apache/oozie/server/TestSSLServerConnectorFactory.java
+++ b/server/src/test/java/org/apache/oozie/server/TestSSLServerConnectorFactory.java
@@ -54,7 +54,7 @@
  */
 @RunWith(MockitoJUnitRunner.class)
 public class TestSSLServerConnectorFactory {
-    @Mock private SslContextFactory mockSSLContextFactory;
+    @Mock private SslContextFactory.Server mockSSLContextFactory;
     @Mock private SSLServerConnectorFactory mockSSLServerConnectorFactory;
     @Spy  private Server mockServer;
     @Mock private ServerConnector mockServerConnector;
diff --git a/tools/src/main/java/org/apache/oozie/tools/OozieSharelibCLI.java b/tools/src/main/java/org/apache/oozie/tools/OozieSharelibCLI.java
index 842c828..ea457f5 100644
--- a/tools/src/main/java/org/apache/oozie/tools/OozieSharelibCLI.java
+++ b/tools/src/main/java/org/apache/oozie/tools/OozieSharelibCLI.java
@@ -33,6 +33,7 @@
 import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CancellationException;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -60,7 +61,6 @@
 import org.apache.oozie.service.HadoopAccessorService;
 import org.apache.oozie.service.Services;
 import org.apache.oozie.service.WorkflowAppService;
-import org.eclipse.jetty.util.ConcurrentHashSet;
 
 public class OozieSharelibCLI {
     public static final String[] HELP_INFO = {
@@ -460,7 +460,7 @@
 
         private final int threadPoolSize;
         private final ExecutorService threadPool;
-        private final Set<CopyTaskConfiguration> failedCopyTasks = new ConcurrentHashSet<>();
+        private final Set<CopyTaskConfiguration> failedCopyTasks = ConcurrentHashMap.newKeySet();
 
         public ConcurrentCopyFromLocal(int threadPoolSize, long fsLimitsMinBlockSize, long bytesPerChecksum) {
             Preconditions.checkArgument(threadPoolSize > 0, "Thread Pool size must be greater than 0");