You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2014/11/09 03:30:33 UTC

[jira] [Commented] (AMBARI-8233) Blueprint fails when %HOSTGROUP::name% followed by another %

    [ https://issues.apache.org/jira/browse/AMBARI-8233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14203736#comment-14203736 ] 

Hadoop QA commented on AMBARI-8233:
-----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12680446/AMBARI-8233.patch
  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 tests.
                        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: https://builds.apache.org/job/Ambari-trunk-test-patch/571//testReport/
Console output: https://builds.apache.org/job/Ambari-trunk-test-patch/571//console

This message is automatically generated.

> Blueprint fails when %HOSTGROUP::name% followed by another %
> ------------------------------------------------------------
>
>                 Key: AMBARI-8233
>                 URL: https://issues.apache.org/jira/browse/AMBARI-8233
>             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 BlueprintConfigurationProcessor.java 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 http://c6410.ambari.apache.org:8080/api/v1/blueprints/hdp22 -d @hdp_22_blueprint.json
> curl -H "X-Requested-By:ambari" -X POST -u admin:admin http://c6410.ambari.apache.org:8080/api/v1/clusters/dev -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(BlueprintConfigurationProcessor.java:580)
>         at org.apache.ambari.server.controller.internal.BlueprintConfigurationProcessor.doUpdateForClusterCreate(BlueprintConfigurationProcessor.java:131)
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.processConfigurations(ClusterResourceProvider.java:961)
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.processBlueprintCreate(ClusterResourceProvider.java:432)
>         at org.apache.ambari.server.controller.internal.ClusterResourceProvider.createResources(ClusterResourceProvider.java:124)
>         at org.apache.ambari.server.controller.internal.ClusterControllerImpl.createResources(ClusterControllerImpl.java:274)
>         at org.apache.ambari.server.api.services.persistence.PersistenceManagerImpl.create(PersistenceManagerImpl.java:75)
>         at org.apache.ambari.server.api.handlers.CreateHandler.persist(CreateHandler.java:36)
>         at org.apache.ambari.server.api.handlers.BaseManagementHandler.handleRequest(BaseManagementHandler.java:72)
>         at org.apache.ambari.server.api.services.BaseRequest.process(BaseRequest.java:135)
>         at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:103)
>         at org.apache.ambari.server.api.services.BaseService.handleRequest(BaseService.java:72)
>         at org.apache.ambari.server.api.services.ClusterService.createCluster(ClusterService.java:118)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)