ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <>
Subject [jira] [Commented] (AMBARI-8233) Blueprint fails when %HOSTGROUP::name% followed by another %
Date Sun, 09 Nov 2014 02:30:33 GMT


Hadoop QA commented on AMBARI-8233:

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:red}-1 tests included{color}.  The patch doesn't appear to include any new or modified
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in ambari-server.

Test results:
Console output:

This message is automatically generated.

> Blueprint fails when %HOSTGROUP::name% followed by another %
> ------------------------------------------------------------
>                 Key: AMBARI-8233
>                 URL:
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.7.0
>            Reporter: Alejandro Fernandez
>            Assignee: Alejandro Fernandez
>             Fix For: 1.7.0
>         Attachments: AMBARI-8233.patch, blueprint_error.log, hdp_22_blueprint.json, single_node_cluster.json
> I created an HDP 2.2 cluster with all of the services except Knox, Kafka, and Slider,
then exported the blueprint, and removed Ganglia from it.
> Then, I attempted to create a single node cluster using the blueprints and ran into a
regex error.
> The problem is that one of the properties contains %HOSTGROUP::name% followed by another
% and the regex match tries to do greedy matching instead of minimal.
> For example, storm-site.xml had worker.childopts with
> {code}
> -Xmx768m _JAAS_PLACEHOLDER -javaagent:/usr/hdp/current/storm-client/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=%HOSTGROUP::host_group_1%,port=8650,wireformat31x=true,mode=multicast,config=/usr/hdp/current/storm-client/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM
> {code}
> While the regex expression in is,
> {code}
> private static Pattern HOSTGROUP_REGEX = Pattern.compile("%HOSTGROUP::(\\S+)%");
> {code}
> Instead, it should be,
> {code}
> private static Pattern HOSTGROUP_REGEX = Pattern.compile("%HOSTGROUP::(\\S+?)%");
> {code}
> Steps to repro,
> {code}
> curl -H "X-Requested-By:ambari" -X POST -u admin:admin
-d @hdp_22_blueprint.json
> curl -H "X-Requested-By:ambari" -X POST -u admin:admin
-d @single_node_cluster.json
> {code}
> Returns an error,
> {code}
> 00:27:27,999 ERROR [qtp560042431-25] BaseManagementHandler:66 - Caught a runtime exception
while attempting to create a resource
> java.lang.NullPointerException
>         at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor$SingleHostTopologyUpdater.updateForClusterCreate(
>         at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doUpdateForClusterCreate(
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.processConfigurations(
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.processBlueprintCreate(
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.createResources(
>         at org.apache.ambari.server.controller.internal.ClusterControllerImpl.createResources(
>         at
>         at org.apache.ambari.server.api.handlers.CreateHandler.persist(
>         at org.apache.ambari.server.api.handlers.BaseManagementHandler.handleRequest(
>         at
>         at
>         at
>         at
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
>         at java.lang.reflect.Method.invoke(
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(
> {code}

This message was sent by Atlassian JIRA

View raw message