ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sid Wagle" <swa...@hortonworks.com>
Subject Re: Review Request 36564: Deleting a host using the API causes NPE
Date Fri, 17 Jul 2015 04:20:02 GMT

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



ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
(line 1085)
<https://reviews.apache.org/r/36564/#comment145873>

    How can r be null if Sch is not ?



ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
(line 1161)
<https://reviews.apache.org/r/36564/#comment145875>

    Really do not like this, instead null check is something we should propogate up the cahin
of calls.


- Sid Wagle


On July 17, 2015, 1:25 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36564/
> -----------------------------------------------------------
> 
> (Updated July 17, 2015, 1:25 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, John Speidel, Nate Cole,
Sumit Mohanty, and Sid Wagle.
> 
> 
> Bugs: AMBARI-12429
>     https://issues.apache.org/jira/browse/AMBARI-12429
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> There are 3 issues while deleting hosts.
> 1. Created a cluster with multiple hosts, then stopped all of the services on 1 host
(preferably one with only clients so it has nothing to stop). Then deleted the host using
the API.
> E.g., curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://c6401.ambari.apache.org:8080/api/v1/hosts/c6404.ambari.apache.org
> This led to Null Pointer Exceptions in ambari-server because the UI is still generating
requests to get the ServiceComponentHost response, which isn't locking code, and makes request
to get the HostState (this record has been deleted), so a NPE is thrown. This needs to be
more robust; adding locks around here may have other repercussions, so I decided to just check
for != null.
> 
> 2. If a Host with DataNode  becomes decommissioned, it will have a record in the requestoperationlevel
table, whose records are not currently being deleted when a Host is deleted.
> 
> 3. There are differences between deleting a Host using the /hosts/name and /clusters/name/hosts/name
API. In the former, since no cluster is provided, it blindly deletes the host without checking
if it has any masters/slaves on it, which need to be stopped and deleted first.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
de9ae52 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
4c14426 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestOperationLevel.java
c7c0160 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
fa49d7f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RequestOperationLevelDAO.java
PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RequestOperationLevelEntity.java
2c11e55 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClustersImpl.java
665dd56 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
9f25ad7 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestOperationLevelTest.java
bd4ad90 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
ed8336e 
> 
> Diff: https://reviews.apache.org/r/36564/diff/
> 
> 
> Testing
> -------
> 
> System tests passed, see test matrix in comments of AMBARI-12429.
> 
> Waiting for unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message