You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Chris Douglas (JIRA)" <ji...@apache.org> on 2017/11/02 23:52:00 UTC

[jira] [Comment Edited] (HADOOP-14600) LocatedFileStatus constructor forces RawLocalFS to exec a process to get the permissions

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

Chris Douglas edited comment on HADOOP-14600 at 11/2/17 11:51 PM:
------------------------------------------------------------------

Just skimmed the patch, but this line jumped out:
{noformat}
+cleanup:
+  if (ret == NULL) {
+    if (path)
+      (*env)->ReleaseStringChars(env, j_path, (const jchar*) path);
{noformat}
Shouldn't {{path}} be released if not null, even if {{ret != NULL}} ?

Checkstyle output is gone, but it looks like {{Helper.java}} is not indented correctly. Other than that, this looks good.



was (Author: chris.douglas):
Just skimmed the patch, but this line jumped out:
{{noformat}}
+cleanup:
+  if (ret == NULL) {
+    if (path)
+      (*env)->ReleaseStringChars(env, j_path, (const jchar*) path);
{{noformat}}
Shouldn't {{path}} be released if not null, even if {{ret != NULL}} ?

Checkstyle output is gone, but it looks like {{Helper.java}} is not indented correctly. Other than that, this looks good.


> LocatedFileStatus constructor forces RawLocalFS to exec a process to get the permissions
> ----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-14600
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14600
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 2.7.3
>         Environment: file:// in a dir with many files
>            Reporter: Steve Loughran
>            Assignee: Ping Liu
>            Priority: Major
>         Attachments: HADOOP-14600.001.patch, HADOOP-14600.002.patch, HADOOP-14600.003.patch, HADOOP-14600.004.patch, HADOOP-14600.005.patch, TestRawLocalFileSystemContract.java
>
>
> Reported in SPARK-21137. a {{FileSystem.listStatus}} call really craws against the local FS, because {{FileStatus.getPemissions}} call forces  {{DeprecatedRawLocalFileStatus}} tp spawn a process to read the real UGI values.
> That is: for every other FS, what's a field lookup or even a no-op, on the local FS it's a process exec/spawn, with all the costs. This gets expensive if you have many files.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org