ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sandor Magyari (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMBARI-13836) NPE when enabling security during Update Configurations stage (after upgrade from 1.6.1 to 2.1.2.1)
Date Wed, 11 Nov 2015 15:58:11 GMT

     [ https://issues.apache.org/jira/browse/AMBARI-13836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sandor Magyari updated AMBARI-13836:
------------------------------------
    Description: 
It appears that the NPE is coming from {{org/apache/ambari/server/state/ConfigHelper.java:691}}
when the config being processed is "storm-site".  

{code:title=org/apache/ambari/server/state/ConfigHelper.java:691}
      if (oldConfig == null) {
        oldConfigProperties = null;
      } else {
        oldConfigProperties = oldConfig.getProperties();
        if (oldConfigProperties != null) {
          properties.putAll(oldConfig.getProperties());
        }
==> propertiesAttributes.putAll(oldConfig.getPropertiesAttributes());
      }
{code}

When the config type is "storm-site", {{oldConfig.getPropertiesAttributes()}} returns {{null}}
since the {{clusterconfig.config_attributes}} value is {{null}}.

Most other relevant records (latest version of the config type) have and empty JSON structure
(not {{null}}).  Except for "hbase-log4j", "hdfs-log4j", hive-exec-log4j", "hive-log4j", "mapreduce2-log4j",
"pig-log4j". "yarn-log4j", "zookeeper-log4j" - which don't seem to come into play at this
time. 

*Steps to Reproduce* 
(this needs confirmation)
# Deploy old version (1.6.1)
# Make Ambari Only Upgrade to 2.1.2.1
# Enable security

*Solution*
The fix for this is to make sure {{oldConfig.getPropertiesAttributes()}} != {{null}} before
calling {{propertiesAttributes.putAll(oldConfig.getPropertiesAttributes())}}.


  was:
It appears that the NPE is coming from org/apache/ambari/server/state/ConfigHelper.java:691
when the config being processed is "storm-site".
{code:title=org/apache/ambari/server/state/ConfigHelper.java:691}
      if (oldConfig == null) {
        oldConfigProperties = null;
      } else {
        oldConfigProperties = oldConfig.getProperties();
        if (oldConfigProperties != null) {
          properties.putAll(oldConfig.getProperties());
        }
==> propertiesAttributes.putAll(oldConfig.getPropertiesAttributes());
      }
{code}
When the config type is "storm-site", oldConfig.getPropertiesAttributes() returns null since
the clusterconfig.config_attributes value is null.
Most other relevant records (latest version of the config type) have and empty JSON structure
(not null). Except for "hbase-log4j", "hdfs-log4j", hive-exec-log4j", "hive-log4j", "mapreduce2-log4j",
"pig-log4j". "yarn-log4j", "zookeeper-log4j" - which don't seem to come into play at this
time.
Steps to Reproduce 
(this needs confirmation)
Deploy old version (1.6.1)
Make Ambari Only Upgrade to 2.1.2.1
Enable security
Solution
The fix for this is to make sure oldConfig.getPropertiesAttributes() != null before calling
propertiesAttributes.putAll(oldConfig.getPropertiesAttributes()).


> NPE when enabling security during Update Configurations stage (after upgrade from 1.6.1
to 2.1.2.1)
> ---------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-13836
>                 URL: https://issues.apache.org/jira/browse/AMBARI-13836
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.1.2
>            Reporter: Sandor Magyari
>            Assignee: Sandor Magyari
>            Priority: Critical
>             Fix For: 2.1.3
>
>
> It appears that the NPE is coming from {{org/apache/ambari/server/state/ConfigHelper.java:691}}
when the config being processed is "storm-site".  
> {code:title=org/apache/ambari/server/state/ConfigHelper.java:691}
>       if (oldConfig == null) {
>         oldConfigProperties = null;
>       } else {
>         oldConfigProperties = oldConfig.getProperties();
>         if (oldConfigProperties != null) {
>           properties.putAll(oldConfig.getProperties());
>         }
> ==> propertiesAttributes.putAll(oldConfig.getPropertiesAttributes());
>       }
> {code}
> When the config type is "storm-site", {{oldConfig.getPropertiesAttributes()}} returns
{{null}} since the {{clusterconfig.config_attributes}} value is {{null}}.
> Most other relevant records (latest version of the config type) have and empty JSON structure
(not {{null}}).  Except for "hbase-log4j", "hdfs-log4j", hive-exec-log4j", "hive-log4j", "mapreduce2-log4j",
"pig-log4j". "yarn-log4j", "zookeeper-log4j" - which don't seem to come into play at this
time. 
> *Steps to Reproduce* 
> (this needs confirmation)
> # Deploy old version (1.6.1)
> # Make Ambari Only Upgrade to 2.1.2.1
> # Enable security
> *Solution*
> The fix for this is to make sure {{oldConfig.getPropertiesAttributes()}} != {{null}}
before calling {{propertiesAttributes.putAll(oldConfig.getPropertiesAttributes())}}.



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

Mime
View raw message