[
https://issues.apache.org/jira/browse/AMBARI-21706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16122515#comment-16122515
]
Aravindan Vijayan commented on AMBARI-21706:
--------------------------------------------
Both the exception traces are seen because the server is getting a request from
the UI with an unexpectedly empty host list.
In the Assign Masters page if the following call is made
{code}
http://<HOST>:8080/api/v1/hosts?Hosts/host_name.in()&fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/ip,Hosts/os_type,Hosts/os_arch,Hosts/public_host_name&minimal_response=true&_=1502392278264
{code}
it leads to the exception
{code}
10 Aug 2017 09:49:17,123 ERROR [ambari-client-thread-593] QueryParser:115 -
Lowercase host_name value in expression failed with error:java.lang.NullPoi
nterException
10 Aug 2017 09:49:17,125 ERROR [ambari-client-thread-593] Request:147 - Unable
to compile query predicate: IN operator is missing a required right operand.
{code}
and the if next /recommendations call has a request body with empty host list,
it causes the second exception
{code}
java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to
java.util.List
at
org.apache.ambari.server.controller.internal.StackAdvisorResourceProvider.prepareStackAdvisorRequest(StackAdvisorResourceProvider.java:110)
{code}
The UI call to get current 'hosts' in context is returning an empty list
(ambari/ambari-web/app/mixins/wizard/assign_master_components.js:getHosts). Not
able to reproduce this issue on 2 clusters.
> Cluster installation stuck on Customize Services Page
> -----------------------------------------------------
>
> Key: AMBARI-21706
> URL: https://issues.apache.org/jira/browse/AMBARI-21706
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.5.2
> Reporter: Aravindan Vijayan
> Assignee: Aravindan Vijayan
> Priority: Critical
> Fix For: 2.6.0
>
>
> Cluster installation stuck on Customize Services Page and wasn't loaded even
> after 4000 seconds waiting
> ambari-server.log shows:
> {code}
> 10 Aug 2017 09:48:08,356 INFO [pool-18-thread-1] AmbariMetricSinkImpl:95 -
> No clusters configured.
> 10 Aug 2017 09:49:17,123 ERROR [ambari-client-thread-593] QueryParser:115 -
> Lowercase host_name value in expression failed with
> error:java.lang.NullPointerException
> 10 Aug 2017 09:49:17,125 ERROR [ambari-client-thread-593] Request:147 -
> Unable to compile query predicate: IN operator is missing a required right
> oper
> and.
> org.apache.ambari.server.api.predicate.InvalidQueryException: IN operator is
> missing a required right operand.
> at
> org.apache.ambari.server.api.predicate.operators.InOperator.toPredicate(InOperator.java:50)
> at
> org.apache.ambari.server.api.predicate.expressions.RelationalExpression.toPredicate(RelationalExpression.java:43)
> at
> org.apache.ambari.server.api.predicate.QueryParser.parse(QueryParser.java:99)
> at
> org.apache.ambari.server.api.predicate.PredicateCompiler.compile(PredicateCompiler.java:62)
> at
> org.apache.ambari.server.api.services.BaseRequest.parseQueryPredicate(BaseRequest.java:344)
> at
> org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:143)
> {code}
> {code}
> 10 Aug 2017 09:49:17,126 WARN [ambari-client-thread-597]
> AbstractResourceProvider:134 - Error occurred during preparation of stack
> advisor request
> java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to
> java.util.List
> at
> org.apache.ambari.server.controller.internal.StackAdvisorResourceProvider.prepareStackAdvisorRequest(StackAdvisorResourceProvider.java:110)
> at
> org.apache.ambari.server.controller.internal.RecommendationResourceProvider.createResources(RecommendationResourceProvider.java:88)
> at
> org.apache.ambari.server.controller.internal.ClusterControllerImpl.createResources(ClusterControllerImpl.java:298)
> at
> org.apache.ambari.server.api.services.persistence.PersistenceManagerImpl.create(PersistenceManagerImpl.java:97)
> at
> org.apache.ambari.server.api.handlers.CreateHandler.persist(CreateHandler.java:37)
> at
> org.apache.ambari.server.api.handlers.BaseManagementHandler.handleRequest(BaseManagementHandler.java:73)
> at
> org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:144)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)