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

Gour Saha updated SLIDER-1201:
------------------------------
    Description: 
Slider currently by default normalizes all resource requests which exceeds max 
allowed in the cluster.
{code}
2016-11-02 07:24:47,722 [main] WARN  state.AppState - Resource requirements of 
COMMAND_LOGGER normalized from <memory:186368, vCores:1> to <memory:143616, 
vCores:1>
{code}

This behavior should be made configurable. It will allow app owners to choose 
if they want normalization and the app to continue running with reduced 
resources (as default), OR if they do not want normalization and want the app 
to fail right away, rather than several days later when it actually tries to 
use as much memory it had requested, but never got. This causes a debugging 
nightmare as well, trying to figure out why the app was even killed by YARN 
when it exceeded the resource usage.

A new property _*yarn.resource.normalization.enabled*_ is being introduced 
which needs to be set in the app's resources definition. By default it is 
"true" (which was the behavior all along, to keep backward compatibility for 
all existing apps). To disable normalization, set it to "false" for the desired 
component of the app. An example is below -
{code}
{
  "schema": "http://example.org/specification/v2.0.0";,
  "metadata": {
  },
  "global": {
  },
  "components": {
    "COMMAND_LOGGER": {
      "yarn.role.priority": "1",
      "yarn.component.instances": "1",
      "yarn.resource.normalization.enabled": "false",
      "yarn.memory": "186368",
      "yarn.vcores": "1"
    },
    "slider-appmaster": {
    }
  }
}
{code}


  was:
Slider currently by default normalizes all resource requests which exceeds max 
allowed in the cluster.
{code}
2016-11-02 07:24:47,722 [main] WARN  state.AppState - Resource requirements of 
LLAP normalized from <memory:186368, vCores:1> to <memory:143616, vCores:1>
{code}

This behavior should be made configurable. It will allow app owners to choose 
if they want normalization and the app to continue running with reduced 
resources (as default), OR if they do not want normalization and want the app 
to fail right away, rather than several days later when it actually tries to 
use as much memory it had requested, but never got. This causes a debugging 
nightmare as well, trying to figure out why the app was even killed by YARN 
when it exceeded the resource usage.


> Slider should make resource normalization configurable for app-owners
> ---------------------------------------------------------------------
>
>                 Key: SLIDER-1201
>                 URL: https://issues.apache.org/jira/browse/SLIDER-1201
>             Project: Slider
>          Issue Type: Bug
>          Components: appmaster
>    Affects Versions: Slider 0.91
>            Reporter: Gour Saha
>            Assignee: Gour Saha
>             Fix For: Slider 1.0.0
>
>         Attachments: SLIDER-1201.01.patch
>
>
> Slider currently by default normalizes all resource requests which exceeds 
> max allowed in the cluster.
> {code}
> 2016-11-02 07:24:47,722 [main] WARN  state.AppState - Resource requirements 
> of COMMAND_LOGGER normalized from <memory:186368, vCores:1> to 
> <memory:143616, vCores:1>
> {code}
> This behavior should be made configurable. It will allow app owners to choose 
> if they want normalization and the app to continue running with reduced 
> resources (as default), OR if they do not want normalization and want the app 
> to fail right away, rather than several days later when it actually tries to 
> use as much memory it had requested, but never got. This causes a debugging 
> nightmare as well, trying to figure out why the app was even killed by YARN 
> when it exceeded the resource usage.
> A new property _*yarn.resource.normalization.enabled*_ is being introduced 
> which needs to be set in the app's resources definition. By default it is 
> "true" (which was the behavior all along, to keep backward compatibility for 
> all existing apps). To disable normalization, set it to "false" for the 
> desired component of the app. An example is below -
> {code}
> {
>   "schema": "http://example.org/specification/v2.0.0";,
>   "metadata": {
>   },
>   "global": {
>   },
>   "components": {
>     "COMMAND_LOGGER": {
>       "yarn.role.priority": "1",
>       "yarn.component.instances": "1",
>       "yarn.resource.normalization.enabled": "false",
>       "yarn.memory": "186368",
>       "yarn.vcores": "1"
>     },
>     "slider-appmaster": {
>     }
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to