Robert Nettleton created AMBARI-24499:
-----------------------------------------

             Summary: Ambari Blueprint deployments fail with multiple 
TIMELINE_READER instances
                 Key: AMBARI-24499
                 URL: https://issues.apache.org/jira/browse/AMBARI-24499
             Project: Ambari
          Issue Type: Bug
          Components: ambari-server
    Affects Versions: Ambari-2.7.0
            Reporter: Robert Nettleton
            Assignee: Balázs Bence Sári
             Fix For: Ambari-2.7.1


The BlueprintConfigurationProcessor does not current handle the case of 
multiple Yarn TIMELINE_READER instances properly.  

Generally, only a singleton instance of the TIMELINE_READER instance is 
deployed, but there might be scenarios in which customers will choose to deploy 
more than one instance, with just one instance running at a given time.  

Currently, deploying a Blueprint with multiple TIMELINE_READER instances fails 
with the following exception: 
{code:java}
java.lang.IllegalArgumentException: Unable to update configuration property 
'yarn.timeline-service.reader.webapp.address' with topology information. 
Component 'TIMELINE_READER' is mapped to an invalid number of hosts '2'.
at 
org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor$SingleHostTopologyUpdater.updateForClusterCreate(BlueprintConfigurationProcessor.java:1945)
at 
org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.updateValue(BlueprintConfigurationProcessor.java:739)
at 
org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doGeneralPropertyUpdatesForClusterCreate(BlueprintConfigurationProcessor.java:641)
at 
org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doUpdateForClusterCreate(BlueprintConfigurationProcessor.java:443)
at 
org.apache.ambari.server.topology.ClusterConfigurationRequest.process(ClusterConfigurationRequest.java:152)
at 
org.apache.ambari.server.topology.tasks.ConfigureClusterTask.call(ConfigureClusterTask.java:80)
at 
org.apache.ambari.server.security.authorization.internal.InternalAuthenticationInterceptor.invoke(InternalAuthenticationInterceptor.java:45)
at 
org.apache.ambari.server.topology.tasks.ConfigureClusterTask.call(ConfigureClusterTask.java:45)
at 
org.apache.ambari.server.security.authorization.internal.InternalAuthenticationInterceptor.invoke(InternalAuthenticationInterceptor.java:45)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745){code}

The BlueprintConfiguration processor should be updated to allow for more than 
one TIMELINE_READER instance to be deployed.  This assumes that the Blueprint 
developer will set any Yarn properties required that point towards the 
TIMELINE_READER instance, including the usage of HOSTGROUP properties.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to