incubator-ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "vitthal (Suhas) Gogate (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMBARI-139) State machine generates null pointer exception when it does not find component plugin for one of the active services mentioned in cluster definition
Date Sun, 27 Nov 2011 01:28:40 GMT
State machine generates null pointer exception when it does not find component plugin for one
of the active services mentioned in cluster definition
----------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: AMBARI-139
                 URL: https://issues.apache.org/jira/browse/AMBARI-139
             Project: Ambari
          Issue Type: Bug
          Components: controller
            Reporter: vitthal (Suhas) Gogate


Scenario:
1. User defines a cluster w/ a stack that has only common and hdfs components defined in it.
2. User specifies active services as "mapred" and "hdfs", where "mapred" component is not
in the stack.
3. State machine gets null pointer when loading the component plugin for "mapred" as one of
the active services.

** this may not be the case as we may have all the components defined as part of our default
stack, but at least we have to make sure
   that if user specifies some absurd name as part of active services in the cluster definition,
we should not be looking for the its component definition and if plugin pointer is null we
should not operate further on this. 

 public ServiceImpl(Cluster cluster, ClusterFSM clusterFsm, String serviceName)
      throws IOException {
    this.clusterFsm = clusterFsm;
    this.serviceName = serviceName;
    //load plugin and get the roles and create them
    this.plugin = cluster.getComponentDefinition(serviceName);   *** CHECK if plugin is not
null?? **
    String[] roles = this.plugin.getActiveRoles();  ** NULL pointer exception here for "mapred"
component *** 
    for (String role : roles) {
      RoleImpl roleImpl = new RoleImpl(this, role);
      serviceRoles.add(roleImpl);
    }
    
    stateMachine = stateMachineFactory.make(this);
  }
  

java.lang.NullPointerException
	at org.apache.ambari.resource.statemachine.ServiceImpl.<init>(ServiceImpl.java:128)
	at org.apache.ambari.resource.statemachine.ClusterImpl.<init>(ClusterImpl.java:121)
	at org.apache.ambari.resource.statemachine.StateMachineInvoker.createCluster(StateMachineInvoker.java:81)
	at org.apache.ambari.controller.Clusters.addCluster(Clusters.java:498)
	at org.apache.ambari.controller.Clusters.<init>(Clusters.java:139)
	at org.apache.ambari.controller.Clusters.getInstance(Clusters.java:151)
	at org.apache.ambari.controller.Controller.run(Controller.java:110)
	at org.apache.ambari.controller.Controller.main(Controller.java:143)
2011-11-26 17:14:09.392:INFO::jetty-6.1.26
Nov 26, 2011 5:14:09 PM com.sun.jersey.api.core.PackagesResourceConfig in

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message