hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rakesh R (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-8648) Revisit FsDirectory#resolvePath() function usage to check the call is made under proper lock
Date Thu, 27 Oct 2016 06:27:58 GMT

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

Rakesh R commented on HDFS-8648:
--------------------------------

bq. looks like many of the changes related to this area are already done under uber HDFS-10616.
Thanks [~vinayrpet] for pointing out this.

Hi [~daryn], sometime back, I have tried an attempt to move all the {{FsDirectory#resolvePath()}}
resolving under fsd lock. But I could see many cases which I mentioned in this jira description
has been taken care by HDFS-10616. Still I feel few more cases has to be changed. Do you have
any jira addressing this, if not, should I move this jira under your umbrella jira and revisits
the cases one by one. Does this makes sense to you?

> Revisit FsDirectory#resolvePath() function usage to check the call is made under proper
lock
> --------------------------------------------------------------------------------------------
>
>                 Key: HDFS-8648
>                 URL: https://issues.apache.org/jira/browse/HDFS-8648
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>         Attachments: HDFS-8648-00.patch
>
>
> As per the [discussion|https://issues.apache.org/jira/browse/HDFS-8493?focusedCommentId=14595735&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14595735]
in HDFS-8493 the function {{FsDirectory#resolvePath}} usage needs to be reviewed. It seems
there are many places it has done the resolution {{fsd.resolvePath(pc, src, pathComponents);}}
by acquiring only fsn lock and not fsd lock. As per the initial analysis following are such
cases, probably it needs to filter out and fix wrong usage.
> # FsDirAclOp.java
> -> getAclStatus()
> -> modifyAclEntries()
> -> removeAcl()
> -> removeDefaultAcl()
> -> setAcl()
> -> getAclStatus()
> # FsDirDeleteOp.java
> -> delete(fsn, src, recursive, logRetryCache)
> # FsDirRenameOp.java
> -> renameToInt(fsd, srcArg, dstArg, logRetryCache)
> -> renameToInt(fsd, srcArg, dstArg, logRetryCache, options)
> # FsDirStatAndListingOp.java
> -> getContentSummary(fsd, src)
> -> getFileInfo(fsd, srcArg, resolveLink)
> -> isFileClosed(fsd, src)
> -> getListingInt(fsd, srcArg, startAfter, needLocation)
> # FsDirWriteFileOp.java
> -> abandonBlock()
> -> completeFile(fsn, pc, srcArg, holder, last, fileId)
> -> getEncryptionKeyInfo(fsn, pc, src, supportedVersions)
> -> startFile()
> -> validateAddBlock()
> # FsDirXAttrOp.java
> -> getXAttrs(fsd, srcArg, xAttrs)
> -> listXAttrs(fsd, src)
> -> setXAttr(fsd, src, xAttr, flag, logRetryCache)
> # FSNamesystem.java
> -> createEncryptionZoneInt()
> -> getEZForPath()
> Thanks [~wheat9], [~vinayrpet] for the advice.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message