[ 
https://issues.apache.org/jira/browse/APEXCORE-458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15285654#comment-15285654
 ] 

ASF GitHub Bot commented on APEXCORE-458:
-----------------------------------------

Github user davidyan74 commented on a diff in the pull request:

    https://github.com/apache/incubator-apex-core/pull/334#discussion_r63443931
  
    --- Diff: 
engine/src/main/java/com/datatorrent/stram/client/StramClientUtils.java ---
    @@ -739,13 +745,21 @@ public static InetSocketAddress 
getRMWebAddress(Configuration conf, String rmId)
     
       public static InetSocketAddress getRMWebAddress(Configuration conf, 
boolean sslEnabled, String rmId)
       {
    -    rmId = (rmId == null) ? "" : ("." + rmId);
    +    boolean isHA = (rmId != null);
    +    rmId = isHA ? ("." + rmId) : "";
    +    if (isHA) {
    +      conf = getYarnConfiguration(conf);
    +      conf.set(ConfigUtils.RM_HA_ID, rmId);
    +    }
         InetSocketAddress address;
         if (sslEnabled) {
           address = 
conf.getSocketAddr(YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS + rmId, 
YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_ADDRESS, 
YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_PORT);
         } else {
           address = conf.getSocketAddr(YarnConfiguration.RM_WEBAPP_ADDRESS + 
rmId, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, 
YarnConfiguration.DEFAULT_RM_WEBAPP_PORT);
         }
    +    if (isHA) {
    +      conf.unset(ConfigUtils.RM_HA_ID);
    +    }
         LOG.info("rm webapp address setting {}", address);
    --- End diff --
    
    the conf.set and conf.unset combo may not have the expected behavior if 
getRMWebAddress() is called by multiple threads at the same time.


> Web service authentication failing in HA cases when 
> yarn.resourcemanager.webapps.address.<rmId> is unavailable
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: APEXCORE-458
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-458
>             Project: Apache Apex Core
>          Issue Type: Bug
>            Reporter: Pramod Immaneni
>            Assignee: Pramod Immaneni
>
> Web service authentication uses the yarn resourcemanager proxy initially to 
> deliver a security token. It needs to know the address of the proxy so that 
> it can verify that the initial request came from a legitimate source. To do 
> this it gets the address from the yarn.resourcemanager.webapps.address.<rmId> 
> property in HA scenarios. Sometimes this property is absent and only 
> yarn.resourcemanager.hostname.<rmId> is persent. In these scenarios use this 
> property to get the address.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to