[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-19 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687988#comment-13687988
 ] 

Hudson commented on HADOOP-9637:


Integrated in Hadoop-Mapreduce-trunk #1462 (See 
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1462/])
HADOOP-9637. Adding Native Fstat for Windows as needed by YARN. Contributed 
by Chuan Liu. (Revision 1494341)

 Result = FAILURE
cnauroth : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1494341
Files : 
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/nativeio/NativeIO.java
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chmod.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chown.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/ls.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/nativeio/TestNativeIO.java


> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Fix For: 3.0.0, 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-19 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687943#comment-13687943
 ] 

Hudson commented on HADOOP-9637:


Integrated in Hadoop-Hdfs-trunk #1435 (See 
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1435/])
HADOOP-9637. Adding Native Fstat for Windows as needed by YARN. Contributed 
by Chuan Liu. (Revision 1494341)

 Result = FAILURE
cnauroth : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1494341
Files : 
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/nativeio/NativeIO.java
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chmod.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chown.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/ls.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/nativeio/TestNativeIO.java


> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Fix For: 3.0.0, 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-19 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687842#comment-13687842
 ] 

Hudson commented on HADOOP-9637:


Integrated in Hadoop-Yarn-trunk #245 (See 
[https://builds.apache.org/job/Hadoop-Yarn-trunk/245/])
HADOOP-9637. Adding Native Fstat for Windows as needed by YARN. Contributed 
by Chuan Liu. (Revision 1494341)

 Result = FAILURE
cnauroth : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1494341
Files : 
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/nativeio/NativeIO.java
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chmod.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chown.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/ls.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/nativeio/TestNativeIO.java


> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Fix For: 3.0.0, 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-18 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687292#comment-13687292
 ] 

Hudson commented on HADOOP-9637:


Integrated in Hadoop-trunk-Commit #3971 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/3971/])
HADOOP-9637. Adding Native Fstat for Windows as needed by YARN. Contributed 
by Chuan Liu. (Revision 1494341)

 Result = SUCCESS
cnauroth : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1494341
Files : 
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/nativeio/NativeIO.java
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chmod.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/chown.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/include/winutils.h
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/libwinutils.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/winutils/ls.c
* 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/nativeio/TestNativeIO.java


> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-18 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687168#comment-13687168
 ] 

Hadoop QA commented on HADOOP-9637:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12588442/HADOOP-9637-trunk.3.patch
  against trunk revision .

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 core tests{color}.  The patch passed unit tests in 
hadoop-common-project/hadoop-common.

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HADOOP-Build/2665//testReport/
Console output: 
https://builds.apache.org/job/PreCommit-HADOOP-Build/2665//console

This message is automatically generated.

> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-18 Thread Chris Nauroth (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13686983#comment-13686983
 ] 

Chris Nauroth commented on HADOOP-9637:
---

Thanks for addressing my questions.  It all makes sense.  I have just one more 
comment about the new patch.

{code}
if (Shell.WINDOWS) {
  int i = owner.indexOf('\\');
  if (i != -1)
this.owner = owner.substring(i + 1);
}
{code}

This code is identical for username and group, so let's refactor it behind a 
helper function.  We also can add comments stating that the reason for this is 
to remove domain.

> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Attachments: HADOOP-9637-trunk.2.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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-17 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13686432#comment-13686432
 ] 

Hadoop QA commented on HADOOP-9637:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12588295/HADOOP-9637-trunk.2.patch
  against trunk revision .

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 core tests{color}.  The patch passed unit tests in 
hadoop-common-project/hadoop-common.

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HADOOP-Build/2663//testReport/
Console output: 
https://builds.apache.org/job/PreCommit-HADOOP-Build/2663//console

This message is automatically generated.

> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Attachments: HADOOP-9637-trunk.2.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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-17 Thread Chuan Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13686247#comment-13686247
 ] 

Chuan Liu commented on HADOOP-9637:
---

Thanks for reviewing, Chris!

>If I understand correctly, this is intended to remove the domain portion from 
>a username. (Am I understanding it correctly?) Does Windows ever prepend 
>domain to the group name too? Do we need similar logic for initializing 
>this.group?

You are right. We also need this for group name. I will fix this in a new patch.

>It seems that this logic would treat user DOMAIN1\cnauroth the same as 
>DOMAIN2\cnauroth, when in reality the same username in 2 different domains 
>might not be the same person. Consumers of fstat would end up seeing 
>"cnauroth" as the owner without being able to differentiate between the 2 
>different users in 2 different domains. Is this acceptable?

This is by design right now. UserGroupInformation, NativeIO.Windows.getOwner(), 
and a few other places all assume this pattern, i.e. username without domain. 
(UserGroupInformation does not explicitly strip the domain, however, the Java 
API it used only returns username.) There are some discussions on this in 
HADOOP-8455. The main scenario we want to support (for unsecure Hadoop on 
Windows) is to allow local users of the same name to run Hadoop cluster without 
a domain controller. For example, users can create local user 'Alex' on the two 
machines 'Win1' and 'Win2', and run Hadoop under the local user 'Alex'. I think 
it is acceptable for now; I have outlined some thoughts on how we can improve 
this in HADOOP-8455.

>Minor nit: use 2-space indentation in the above code.

Thanks for pointing this out; will fix in new patch.

>Does this mean that we need to subtract 1 from cchPathLen earlier, such as 
>when we assign cchPathLen = dwRtnCode?

Not necessary. I have similar thoughts when I wrote the code. I intentionally 
make the buffer size 1 char larger; so the last character is the NULL 
terminator. Because without NULL terminator, some functions, e.g. wcslen(), 
will fail on the string, including some Windows function like 
GetNamedSecurityInfo() that is called on the path later. I think the MSDN 
document means the buffer only need to be as large as string length without 
null terminator. However, it does not require the buffer to be exact size. You 
may notice the example given at the MSDN page also used a larger buffer to save 
the path.


> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Attachments: HADOOP-9637-trunk.patch
>
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (HADOOP-9637) Adding Native Fstat for Windows as needed by YARN

2013-06-17 Thread Chuan Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-9637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13685978#comment-13685978
 ] 

Chuan Liu commented on HADOOP-9637:
---

>May be you should edit the title to be something in the line of "Adding Native 
>Fstat for Windows as needed by YARN".
Thanks for the suggestion! I have changed the title; will update the 
description shortly.

> 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: 3.0.0, 2.1.0-beta
>Reporter: Chuan Liu
>Assignee: Chuan Liu
> Attachments: HADOOP-9637-trunk.patch
>
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira