[
https://issues.apache.org/jira/browse/AMBARI-21897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jayush Luniya updated AMBARI-21897:
-----------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
> Fix NPE in InstallHostTask
> --------------------------
>
> Key: AMBARI-21897
> URL: https://issues.apache.org/jira/browse/AMBARI-21897
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.6.0
> Reporter: Jayush Luniya
> Assignee: Jayush Luniya
> Priority: Blocker
> Fix For: 2.6.0
>
> Attachments: AMBARI-21897.patch
>
>
> {code}
> Exception in thread "pool-4-thread-1" java.lang.NullPointerException
> at
> org.apache.ambari.server.topology.tasks.InstallHostTask.runTask(InstallHostTask.java:54)
> at
> org.apache.ambari.server.topology.tasks.TopologyHostTask.run(TopologyHostTask.java:51)
> at
> org.apache.ambari.server.topology.HostOfferResponse$1.run(HostOfferResponse.java:83)
> 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}
> This seems to be because response can be null if stages is null and we don't
> have a check for it.
> {code}
> RequestStatusResponse response =
> clusterTopology.installHost(hostRequest.getHostName(), skipInstallTaskCreate,
> skipFailure);
> List<ShortTaskStatus> underlyingTasks = response.getTasks();
> {code}
> {code}
> /**
> * Build a request status response.
> *
> * @return a {@link
> org.apache.ambari.server.controller.RequestStatusResponse} for the request
> */
> public RequestStatusResponse getRequestStatusResponse() {
> RequestStatusResponse response = null;
> if (! stages.isEmpty()) {
> response = new RequestStatusResponse(id);
> List<HostRoleCommand> hostRoleCommands =
> actionManager.getRequestTasks(id);
> response.setRequestContext(actionManager.getRequestContext(id));
> List<ShortTaskStatus> tasks = new ArrayList<>();
> for (HostRoleCommand hostRoleCommand : hostRoleCommands) {
> tasks.add(new ShortTaskStatus(hostRoleCommand));
> }
> response.setTasks(tasks);
> }
> return response;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)