Jason Lowe commented on YARN-3850:

Thanks for the patch, Varun.  Looks good overall, but I think we need to also 
update ContainerLogsUtil.getContainerLogDirs so the NM will also serve up logs 
from full disks from its web interfaces.

bq. Raise a separate JIRA for this or fix it as part of this one ?
I'm OK with fixing it as part of this (could change ticket summary to "NM fails 
to read files from full disks" or something) or fixing it as a separate one, 
but that ticket would also be pretty critical to fix.

> Container logs can be lost if disk is full
> ------------------------------------------
>                 Key: YARN-3850
>                 URL: https://issues.apache.org/jira/browse/YARN-3850
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: log-aggregation
>    Affects Versions: 2.7.0
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>            Priority: Blocker
>         Attachments: YARN-3850.01.patch
> *Container logs* can be lost if disk has become bad(become 90% full).
> When application finishes, we upload logs after aggregation by calling 
> {{AppLogAggregatorImpl#uploadLogsForContainers}}. But this call in turns 
> checks the eligible directories on call to 
> {{LocalDirsHandlerService#getLogDirs}} which in case of disk full would 
> return nothing. So none of the container logs are aggregated and uploaded.
> But on application finish, we also call 
> {{AppLogAggregatorImpl#doAppLogAggregationPostCleanUp()}}. This deletes the 
> application directory which contains container logs. This is because it calls 
> {{LocalDirsHandlerService#getLogDirsForCleanup}} which returns the full disks 
> as well.
> So we are left with neither aggregated logs for the app nor the individual 
> container logs for the app.

This message was sent by Atlassian JIRA

Reply via email to