Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
3.2.0
-
None
-
None
-
None
Description
YARN-4946 introduced logic which prevents applications from being removed from the RM State Store unless log aggregation has reached a terminal state. However, there are cases where log aggregation may not always complete or fail cleanly (we've seen instances where it shows as NOT_STARTED on production clusters), and in this case the state store will continue to build up large numbers of applications.
We should make this behavior configurable. I propose to add a new configuration:
yarn.resourcemanager.completed-application-ttl-secs
This can be used to force removal of an application if it would otherwise be purged from the state store if not for log aggregation status. If this configuration is set to a positive value, it will be used in conjunction with the application finish time to determine whether or not to purge the app. The app would be removed if the max # of completed applications has been reached AND either the app has completed more than ttl-secs seconds ago OR the app has completed log aggregation. For backwards compatibility we can set the default value of this parameter to zero, which would disable the new logic.
Attachments
Attachments
Issue Links
- relates to
-
YARN-4946 RM should not consider an application as COMPLETED when log aggregation is not in a terminal state
- Resolved