----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/46363/#review129518 -----------------------------------------------------------
Ship it! Ship It! - Jonathan Hurley On April 18, 2016, 11:12 p.m., Robert Levas wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/46363/ > ----------------------------------------------------------- > > (Updated April 18, 2016, 11:12 p.m.) > > > Review request for Ambari, Jonathan Hurley, Nate Cole, Oliver Szabo, Sumit > Mohanty, Srimanth Gunturi, and Sid Wagle. > > > Bugs: AMBARI-15961 > https://issues.apache.org/jira/browse/AMBARI-15961 > > > Repository: ambari > > > Description > ------- > > Attached jstack after firing up the curl call. > > ``` > curl -u admin:admin -H "X-Requested-By:ambari" -i -X POST > -d'{"RequestInfo":{"context":"Kerberos Service > Check","command":"KERBEROS_SERVICE_CHECK","operation_level":{"level":"CLUSTER","cluster_name":"c1"}},"Requests/resource_filters":[{"service_name":"KERBEROS"}]}' > http://104.196.89.51:8080/api/v1/clusters/c1/requests > ``` > > Behavior: > - Call timedout on the UI and wizard cannot proceed further. > - Exception in the server log after long wait: > ``` > 12 Apr 2016 23:01:45,231 INFO [qtp-ambari-client-818] > AmbariManagementControllerImpl:3376 - Received action execution request, > clusterName=c1, request=isCommand :true, action :null, command > :KERBEROS_SERVICE_CHECK, inputs :{}, resourceFilters: > [RequestResourceFilter{serviceName='KERBEROS', componentName='null', > hostNames=[]}], exclusive: false, clusterName :c1 > 12 Apr 2016 23:01:45,409 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: HIVE > 12 Apr 2016 23:01:45,410 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: AMBARI_METRICS > 12 Apr 2016 23:01:45,410 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: HDFS > 12 Apr 2016 23:01:45,410 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: MAPREDUCE2 > 12 Apr 2016 23:01:45,410 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: OOZIE > 12 Apr 2016 23:01:45,410 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: TEZ > 12 Apr 2016 23:01:45,411 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: HBASE > 12 Apr 2016 23:01:45,411 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: ZOOKEEPER > 12 Apr 2016 23:01:45,411 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: KERBEROS > 12 Apr 2016 23:01:45,411 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: YARN > 12 Apr 2016 23:01:45,411 INFO [qtp-ambari-client-818] > AmbariCustomCommandExecutionHelper:1135 - Iterating service type Instance in > getCommandJson:: PIG > 12 Apr 2016 23:03:49,984 WARN [qtp-ambari-client-818] > MITKerberosOperationHandler:434 - Failed to execute kadmin: > Command: /usr/bin/kadmin -s perf-b-3.c.pramod-thangali.internal -p > admin -w ******** -r EXAMPLE.COM -q "get_principal admin" > ExitCode: 1 > STDOUT: Authenticating as principal admin with password. > > STDERR: kadmin: Client not found in Kerberos database while > initializing kadmin interface > ``` > > # Solution > - Optimize preparation logic to create principal for Kerberos Service Check > - Optimize logic to create principals in MIT KDC to reduce the time in the > Create Principal stage by about 30% > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java > 737b0aa > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/ADKerberosOperationHandler.java > a1e1544 > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/CreatePrincipalsServerAction.java > 55e046e > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/DestroyPrincipalsServerAction.java > 93daae8 > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosMissingAdminCredentialsException.java > ddb2769 > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosOperationHandler.java > e3d31de > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosPrincipalAlreadyExistsException.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/KerberosPrincipalDoesNotExistException.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java > 90858fb > > ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/kerberos.json > 34de6a8 > > ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java > eefaf04 > > Diff: https://reviews.apache.org/r/46363/diff/ > > > Testing > ------- > > Manually tested in large cluster against MIT KDC and small cluster against > Active Directory > > # Local test results: > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1:04:20.973s > [INFO] Finished at: Mon Apr 18 21:36:25 EDT 2016 > [INFO] Final Memory: 71M/1554M > [INFO] > ------------------------------------------------------------------------ > > # Jenkins test results: PENDING > > > Thanks, > > Robert Levas > >
