## What changes were proposed in this pull request?

Make it possible to run Ambari Server with JDK 9/10.

1. Upgrade Guice to avoid:
    ```
    1) No scope is bound to org.apache.ambari.server.AmbariService.
    at 
org.apache.ambari.server.state.services.MetricsRetrievalService.class(MetricsRetrievalService.java:85)
    ```
2. Upgrade Guava to avoid `NoSuchMethodError`.
3. Update references to `Objects.toStringHelper`, as the method was moved to 
`MoreObjects`.
4. Update reference to `HostAndPort.getHostText()`, which was renamed to 
`getHost()`.
5. Upgrade EclipseLink to avoid:
    ```
    java.lang.NullPointerException
      at 
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:2027)
      at 
org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.callPredeploy(JPAInitializer.java:100)
      at 
org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:104)
    ```
6. Work around signature mismatch between EclipseLink 2.7 and JPA API 2.2.

Note that JDK was configured directly in `ambari.properties`, as `ambari-server 
setup` has [issues with newer 
JDKs](https://issues.apache.org/jira/browse/AMBARI-24730).

## How was this patch tested?

Compiled Ambari Server using JDK8.  Started Ambari Server with Oracle JDK 10.  
Deployed ZooKeeper-only cluster via blueprint.

Unit tests pending.

[ Full content available at: https://github.com/apache/ambari/pull/2418 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to