ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmytro Shkvyra" <dshkv...@hortonworks.com>
Subject Re: Review Request 17596: If Ganglia is not installed, server logs hundreds of error messages
Date Mon, 03 Feb 2014 17:48:59 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17596/
-----------------------------------------------------------

(Updated Feb. 3, 2014, 5:48 p.m.)


Review request for Ambari, Mahadev Konar, Nate Cole, Tom Beerbower, and Yusaku Sako.


Changes
-------

Thanks Tom for your constructive criticism.
First of all - this bug exist with/without Ganglia. I have tested both cases.
About  too broadly property replacement...
Properties should be replaced only if they values exist in current properties map.
If property cant be resolved, it's value will not be replaced.
>>> I guess that a resource provider could use a different Resource implementation
if that were the case.  Maybe it's okay if we really want to say that this should be the default
behavior.<<<
I don't know how to manage which Resource implementation should be used in each case. Solution
now it compatible with previous versions (we didn't use ${} in previous versions)
>>>One thing that I don't like is how the property value must be checked every time
getProperty() is called?  Why not just do it once on setProperty()?<<<
Yes, I have fixed it as you advised. 

Also, I have added checking for cyclic property references, so it will prevent StackOverflowExeption
when properties refer to each other (with any length of cycle)


Bugs: AMBARI-4490
    https://issues.apache.org/jira/browse/AMBARI-4490


Repository: ambari


Description
-------

The cause of error messages is that we start use new format properties like "dfs.datanode.http.address":"0.0.0.0:${ambari.dfs.datanode.http.port}".
It means that we have to replace ${ambari.dfs.datanode.http.port} with value of ambari.dfs.datanode.http.port
property from current config.
In this case we need process these value references and keep in mind that:
1) We can have some references in one property, like this "dfs.datanode.http.address":"${ambari.dfs.datanode.http.host}:${ambari.dfs.datanode.http.port}"
2) Also value references can be referenced to another references.
3) Patch have to impact all configs
So, I have created private method postProcessPropertyValue in ResourceImpl.java for resolve
all of value references


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ResourceImpl.java
15fb961 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ResourceImplTest.java
da87bc6 

Diff: https://reviews.apache.org/r/17596/diff/


Testing
-------

Added unitests


Thanks,

Dmytro Shkvyra


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message