[
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kengo Seki reassigned HADOOP-9637:
----------------------------------
Assignee: Kengo Seki (was: Chuan Liu)
> Adding Native Fstat for Windows as needed by YARN
> -------------------------------------------------
>
> Key: HADOOP-9637
> URL: https://issues.apache.org/jira/browse/HADOOP-9637
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 2.1.0-beta, 3.0.0
> Reporter: Chuan Liu
> Assignee: Kengo Seki
> Fix For: 2.1.0-beta
>
> Attachments: HADOOP-9637-trunk.2.patch, HADOOP-9637-trunk.3.patch,
> HADOOP-9637-trunk.patch
>
>
> In the YARN, nodemanager need to enforce the log file can only be accessed by
> the owner. At various places, {{SecureIOUtils.openForRead()}} was called to
> enforce this check. We don't have {{NativeIO.Posix.getFstat()}} used by
> {{SecureIOUtils.openForRead()}} on Windows, and this make the check fail on
> Windows. The YARN unit tests
> TestAggregatedLogFormat.testContainerLogsFileAccess and
> TestContainerLogsPage.testContainerLogPageAccess fail on Windows because of
> this.
> The JIRA try to provide a Windows implementation of
> {{NativeIO.Posix.getFstat()}}.
> TestAggregatedLogFormat.testContainerLogsFileAccess test case fails on
> Windows. The test case try to simulate a situation where first log file is
> owned by different user (probably symlink) and second one by the user itself.
> In this situation, the attempt to try to aggregate the logs should fail with
> the error message "Owner ... for path ... did not match expected owner ...".
> The check on file owner happens at {{AggregatedLogFormat.write()}} method.
> The method calls {{SecureIOUtils.openForRead()}} to read the log files before
> writing out to the OutputStream.
> {{SecureIOUtils.openForRead()}} use {{NativeIO.Posix.getFstat()}} to get the
> file owner and group. We don't have {{NativeIO.Posix.getFstat()}}
> implementation on Windows; thus, the failure.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)