[
https://issues.apache.org/jira/browse/YARN-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15895289#comment-15895289
]
Benoy Antony edited comment on YARN-6285 at 3/4/17 12:05 AM:
-------------------------------------------------------------
Thanks for the patch, [~zhaoyunjiong].
Few comments:
1.
{code}
public static final long DEFAULT_RM_MAX_LIMIT_GET_APPLICATIONS =
DEFAULT_RM_MAX_COMPLETED_APPLICATIONS;
{code}
I think , it's better to keep the _DEFAULT_RM_MAX_LIMIT_GET_APPLICATIONS_
independent of _DEFAULT_RM_MAX_COMPLETED_APPLICATIONS_.
If we need to maintain backward compatibility, the default should be
Integer.MAX_VALUE.
I personally think that it should be set to 1000.
2. Please indicate the default value in the property description.
3.
{code}
LOG.info("User " + callerUGI.getUserName() +
" called getApplications with limit=" + limit);
{code}
Please indicate that the value is changed to the the max value.
{code}
LOG.info("User " + callerUGI.getUserName() +
" called getApplications with limit=" + limit + ". Changing it to " +
maxLimitGetApplications);
{code}
4.
{code}
protected void setMaxLimitGetApplications(long limit)
{code}
Can it be package access instead of protected ?
was (Author: benoyantony):
Thanks for the patch, [~zhaoyunjiong].
Few comments:
1.
{code}
public static final long DEFAULT_RM_MAX_LIMIT_GET_APPLICATIONS =
DEFAULT_RM_MAX_COMPLETED_APPLICATIONS;
{code}
I think , it's better to keep the _DEFAULT_RM_MAX_LIMIT_GET_APPLICATIONS_
independent of _DEFAULT_RM_MAX_COMPLETED_APPLICATIONS_.
If we need to maintain backward compatibility, the default should be
Integer.MAX_VALUE.
I personally think that it should be set to 1000.
2. Please indicate the default value in the property description.
3.
{code}
LOG.info("User " + callerUGI.getUserName() +
" called getApplications with limit=" + limit);
{code}
Please indicate that the value is changed to the the max value.
LOG.info("User " + callerUGI.getUserName() +
" called getApplications with limit=" + limit + ". Changing it to " +
maxLimitGetApplications);
{code}
4.
{code}
protected void setMaxLimitGetApplications(long limit)
{code}
Can it be package access instead of protected ?
> Add option to set max limit on ResourceManager for
> ApplicationClientProtocol.getApplications
> --------------------------------------------------------------------------------------------
>
> Key: YARN-6285
> URL: https://issues.apache.org/jira/browse/YARN-6285
> Project: Hadoop YARN
> Issue Type: Improvement
> Reporter: yunjiong zhao
> Assignee: yunjiong zhao
> Attachments: YARN-6285.001.patch, YARN-6285.002.patch
>
>
> When users called ApplicationClientProtocol.getApplications, it will return
> lots of data, and generate lots of garbage on ResourceManager which caused
> long time GC.
> For example, on one of our RM, when called rest API " http://<rm http
> address:port>/ws/v1/cluster/apps" it can return 150MB data which have 944
> applications.
> getApplications have limit parameter, but some user might not set it, and
> then the limit will be Long.MAX_VALUE.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]