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

Attila Magyar updated AMBARI-21442:
-----------------------------------
    Description: 
Ambari appended a 'm' suffix to certain memory settings related properties 
during blueprint install. This was implemented in the MPropertyUpdater.

For example if namenode_heapsize was 512 then Ambari updated it to 512m. 
However if the property already had a suffix like 4g then it was updated to be 
4gm.

This patch does 2 things differently
 1. Instead of the hardcoded 'm' suffix, it uses the unit that is defined in 
the stack (if the stack doesn't define anything it falls back using 'm' as 
before).
 2. It checks if the property already has some unit, and if that unit doesn't 
match the stack defined unit, then the blueprint will be rejected with an error 
(this case has never worked before)

For examples:
 1.   4g is rejected if the stack defined unit is MB.
 2.   4 becomes 4m if the stack defined unit is MB.
 3.   4m stays 4m if the stack defined unit is MB.


MPropertyUpdated was replaced with UnitUpdater. But a new TopologyValidator was 
also introduced. The purpose of this is to catch invalid properties earlier.

  was:
Ambari appends a 'm' suffix to certain memory settings related properties 
during blueprint install.

For example if namenode_heapsize is 512 then Ambari will update it to 512m. 
However if the property already has a suffix like 4g then it will be updated to 
4gm.

This patch does 2 things.

# Instead of the hardcoded 'm' suffix, it uses the stack defined unit.
# It check if the property already has some unit, and if that unit doesn't 
match the stack defined unit, then the blueprint will be rejected


> Ambari updates memory settings in blueprint incorrectly
> -------------------------------------------------------
>
>                 Key: AMBARI-21442
>                 URL: https://issues.apache.org/jira/browse/AMBARI-21442
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.2.2
>            Reporter: Attila Magyar
>            Assignee: Attila Magyar
>             Fix For: 3.0.0
>
>
> Ambari appended a 'm' suffix to certain memory settings related properties 
> during blueprint install. This was implemented in the MPropertyUpdater.
> For example if namenode_heapsize was 512 then Ambari updated it to 512m. 
> However if the property already had a suffix like 4g then it was updated to 
> be 4gm.
> This patch does 2 things differently
>  1. Instead of the hardcoded 'm' suffix, it uses the unit that is defined in 
> the stack (if the stack doesn't define anything it falls back using 'm' as 
> before).
>  2. It checks if the property already has some unit, and if that unit doesn't 
> match the stack defined unit, then the blueprint will be rejected with an 
> error (this case has never worked before)
> For examples:
>  1.   4g is rejected if the stack defined unit is MB.
>  2.   4 becomes 4m if the stack defined unit is MB.
>  3.   4m stays 4m if the stack defined unit is MB.
> MPropertyUpdated was replaced with UnitUpdater. But a new TopologyValidator 
> was also introduced. The purpose of this is to catch invalid properties 
> earlier.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to