[
https://issues.apache.org/jira/browse/AMBARI-10316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmytro Sen updated AMBARI-10316:
--------------------------------
Attachment: AMBARI-10316.patch
> Stack-advisor mechanism when recommending configuration-dependencies has
> incorrect services.json content
> --------------------------------------------------------------------------------------------------------
>
> Key: AMBARI-10316
> URL: https://issues.apache.org/jira/browse/AMBARI-10316
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server, stacks
> Affects Versions: 2.1.0
> Reporter: Dmytro Sen
> Assignee: Dmytro Sen
> Priority: Critical
> Fix For: 2.1.0
>
> Attachments: AMBARI-10316.patch
>
>
> When the POST call is made for recommending {{configuration-dependencies}},
> we generate the services.json file with following extra content:
> {code}
> "changed-configurations" : [ {
> "type" : "yarn-site",
> "name" : "yarn.scheduler.maximum-allocation-mb"
> } ],
> "depended-configurations" : [ {
> "type" : "mapred-site",
> "name" : "yarn.app.mapreduce.am.resource.mb"
> }, {
> "type" : "yarn-site",
> "name" : "yarn.scheduler.maximum-allocation-mb"
> }, {
> "type" : "mapred-site",
> "name" : "yarn.app.mapreduce.am.admin-command-opts"
> }, {
> "type" : "mapred-site",
> "name" : "mapreduce.map.memory.mb"
> }, {
> "type" : "mapred-site",
> "name" : "yarn.app.mapreduce.am.command-opts"
> }, {
> "type" : "mapred-site",
> "name" : "mapreduce.reduce.java.opts"
> }, {
> "type" : "mapred-site",
> "name" : "mapreduce.reduce.memory.mb"
> }, {
> "type" : "mapred-site",
> "name" : "mapreduce.task.io.sort.mb"
> }, {
> "type" : "mapred-site",
> "name" : "mapreduce.map.java.opts"
> } ]
> {code}
> The configuration depended-by should not be added on to the services.json
> like this. All the configuration dependencies should be got from manipulating
> the
> {{org.apache.ambari.server.api.services.stackadvisor.commands.StackAdvisorCommand.GET_SERVICES_INFO_URI}}
> value. Changing the value to include configuration depends_on and
> depended_by information. Then the python script should build the
> dependency-chain inside itself instead of doing it in Java and adding to
> services.json.
> The reason this is important is that for future functionality, we need
> services.json and hosts.json to faithfully represent the cluster's services
> and hosts information. The custom stack-advisor scripts should have logic to
> interpret it for their own needs. If we do some processing in Java, then
> stack-providers will not have chance to make their own interpretations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)