Basapuram Kumar created AMBARI-26428:
----------------------------------------

             Summary: Ambari server fails to start to create SslContextFactory 
when KeyStore has multiple certificates
                 Key: AMBARI-26428
                 URL: https://issues.apache.org/jira/browse/AMBARI-26428
             Project: Ambari
          Issue Type: Bug
            Reporter: Basapuram Kumar


+*Issue description*+

During an upgrade of Ambari Server to version *2.7.9.0* on a *RHEL 8* 
environment with *Kerberos enabled* and {*}SSL configured with multiple SAN 
entries{*}, the Ambari server fails to start.

 

 
{code:java}
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start.........................
DB configs consistency check found warnings. See 
/var/log/ambari-server/ambari-server-check-database.log for more details.
ERROR: Exiting with exit code -1.
REASON: Ambari Server java process has stopped. Please check the logs for more 
information. {code}
 

 

>From the ambari-server.log, able to see the below errors.

 
{code:java}
2025-03-26 10:17:01,022 ERROR [main] AmbariServer:1123 - Failed to run the 
Ambari Server
java.lang.IllegalStateException: KeyStores with multiple certificates are not 
supported on the base class org.eclipse.jetty.util.ssl.SslContextFactory. (Use 
org.eclipse.jetty.util.ssl.SslContextFactory$Server or 
org.eclipse.jetty.util.ssl.SslContextFactory$Client instead)
        at 
org.eclipse.jetty.util.ssl.SslContextFactory.newSniX509ExtendedKeyManager(SslContextFactory.java:1289)
        at 
org.eclipse.jetty.util.ssl.SslContextFactory.getKeyManagers(SslContextFactory.java:1271)
        at 
org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:373)
        at 
org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:244)2025-03-26
 10:17:01,076 ERROR [main] AmbariServer:901 - Error stopping the server
MultiException[java.lang.NoClassDefFoundError: org/eclipse/jetty/util/Loader, 
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/Loader]
        at 
org.eclipse.jetty.util.MultiException.ifExceptionThrow(MultiException.java:122)
        at org.eclipse.jetty.server.Server.doStop(Server.java:484)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:94)
        at 
org.apache.ambari.server.controller.AmbariServer.stop(AmbariServer.java:899)
        at 
org.apache.ambari.server.controller.AmbariServer.main(AmbariServer.java:1125) 
{code}
 

 

When you have multiple SAN entries, the issue is reproducible.
h3. *Reproducible Scenario:*
 * *OS:* RHEL 8

 * *Ambari Configuration:*

 ** Kerberos enabled

 ** SSL enabled with *multiple SAN entries*

 * The issue is caused by Jetty's {{{}SslContextFactory{}}}, which does not 
support multiple certificates in the default base class.

 

When we have multiple SAN entries, the issue is reproducible.

 

+*Fix references*+

1. Jetty's SslContextFactory has been split for Client/Server classes via 
[https://github.com/jetty/jetty.project/pull/3480].

2. Form Apache HIVE-27952

 

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to