-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33627/
-----------------------------------------------------------

Review request for Ambari, Robert Levas and Vitalyi Brodetskyi.


Bugs: AMBARI-10788
    https://issues.apache.org/jira/browse/AMBARI-10788


Repository: ambari


Description
-------

If the Ambari server is running on a host with uppercase characters in its name 
like {{BUG-1234-1.novalocal}}, the following exception is thrown when creating 
a stage to execute a server-side action.


ERROR [qtp-client-23] AbstractResourceProvider:280 - Caught AmbariException 
when creating a resource
org.apache.ambari.server.AmbariException: Host BUG-1234-2.novalocal doesn't 
exist in database
        at 
org.apache.ambari.server.actionmanager.ActionDBAccessorImpl.persistActions(ActionDBAccessorImpl.java:269)
        at 
org.apache.ambari.server.orm.AmbariJpaLocalTxnInterceptor.invoke(AmbariJpaLocalTxnInterceptor.java:68)
        at 
org.apache.ambari.server.actionmanager.ActionManager.sendActions(ActionManager.java:96)
        at 
org.apache.ambari.server.controller.internal.RequestStageContainer.persist(RequestStageContainer.java:216)
        at 
org.apache.ambari.server.controller.AmbariManagementControllerImpl.createAction(AmbariManagementControllerImpl.java:3043)
        at 
org.apache.ambari.server.controller.internal.RequestResourceProvider$1.invoke(RequestResourceProvider.java:161)
        at 
org.apache.ambari.server.controller.internal.RequestResourceProvider$1.invoke(RequestResourceProvider.java:158)
        at 
org.apache.ambari.server.controller.internal.AbstractResourceProvider.createResources(AbstractResourceProvider.java:273)
        at 
org.apache.ambari.server.controller.internal.RequestResourceProvider.createResources(RequestResourceProvider.java:158)
        at 
org.apache.ambari.server.controller.internal.ClusterControllerImpl.createResources(ClusterControllerImpl.java:289)
        at 
org.apache.ambari.server.api.services.persistence.PersistenceManagerImpl.create(PersistenceManagerImpl.java:75)
        at 
org.apache.ambari.server.api.handlers.CreateHandler.persist(CreateHandler.java:36)
        at 
org.apache.ambari.server.api.handlers.BaseManagementHandler.handleRequest(BaseManagementHandler.java:72)
        at 
org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:135)
        at 
org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:103)
        at 
org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:72)
        at 
org.apache.ambari.server.api.services.RequestService.createRequests(RequestService.java:145)


Solution:

In some environments InetAddress.getLocalHost().getCanonicalHostName() might 
have a case sensitive response which is incosistent with the Ambari hostname 
DAO.


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java 
cc5731d 

Diff: https://reviews.apache.org/r/33627/diff/


Testing
-------

mvn clean test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 59.373s
[INFO] Finished at: Fri Apr 28 15:17:46 EEST 2015
[INFO] Final Memory: 60M/978M


Thanks,

Emil Anca

Reply via email to