----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/36564/#review92030 -----------------------------------------------------------
Ship it! Ship It! - Sid Wagle On July 17, 2015, 6:09 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, 6:09 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 > >