[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Labels: encryption namenode scalability (was: encryption) > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Labels: encryption, namenode, scalability > Fix For: 2.8.0, 2.7.3, 2.6.5, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.00.patch, > HDFS-10458-branch-2.6.00.patch, HDFS-10458-branch-2.6.01.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Labels: encryption (was: ) > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Labels: encryption, namenode, scalability > Fix For: 2.8.0, 2.7.3, 2.6.5, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.00.patch, > HDFS-10458-branch-2.6.00.patch, HDFS-10458-branch-2.6.01.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Resolution: Fixed Hadoop Flags: Reviewed Fix Version/s: 2.6.5 Status: Resolved (was: Patch Available) Verified branch-2.6 patch with a local build. Committed to branch-2.6 as well. Resolving the issue now. Thanks [~shv] for the review. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Fix For: 2.8.0, 2.7.3, 2.6.5, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.00.patch, > HDFS-10458-branch-2.6.00.patch, HDFS-10458-branch-2.6.01.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458-branch-2.6.01.patch I verified branch-2 patch Jenkins failures, all pass locally. I will recommit to branch-2 and branch-2.8 shortly. Thanks again for [~leftnoteasy]'s note. Attaching branch-2.6 patch again to trigger Jenkins. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Fix For: 2.8.0, 2.7.3, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.00.patch, > HDFS-10458-branch-2.6.00.patch, HDFS-10458-branch-2.6.01.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458-branch-2.00.patch Thanks Wangda for pointing this out. Yes I believe it is a JDK version issue. Attaching a branch-2 patch to verify with Jenkins. I don't think we need to revert it from branch-2.7. The 2.7 patch was rebased, and the compilation issue ({{Generics}} automatically type matching in constructor) was resolved at the rebase time. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Fix For: 2.8.0, 2.7.3, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.00.patch, > HDFS-10458-branch-2.6.00.patch, HDFS-10458-branch-2.7.00.patch, > HDFS-10458.00.patch, HDFS-10458.03.patch, HDFS-10458.04.patch, > HDFS-10458.05.patch, HDFSA-10458.01.patch, HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Fix Version/s: 3.0.0-alpha1 2.7.3 2.8.0 > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Fix For: 2.8.0, 2.7.3, 3.0.0-alpha1 > > Attachments: HDFS-10458-branch-2.6.00.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458-branch-2.6.00.patch All reported branch-2.7 failures are unrelated and pass locally. Back porting to 2.6 was almost clean, but attaching patch to trigger Jenkins to be safe. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458-branch-2.6.00.patch, > HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Target Version/s: 2.8.0, 2.7.3, 2.6.5, 3.0.0-alpha1 (was: 2.6.5) > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, > HDFS-10458.03.patch, HDFS-10458.04.patch, HDFS-10458.05.patch, > HDFSA-10458.01.patch, HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458-branch-2.7.00.patch Back porting to 2.7 not clean. Attaching patch to trigger Jenkins. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458-branch-2.7.00.patch, HDFS-10458.00.patch, > HDFS-10458.03.patch, HDFS-10458.04.patch, HDFS-10458.05.patch, > HDFSA-10458.01.patch, HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458.05.patch Updating patch to address unit test failures. Thanks [~shv] for the review. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFS-10458.05.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458.04.patch Not sure why Yetus failed to build. Attaching patch again. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFS-10458.04.patch, HDFSA-10458.01.patch, HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458.03.patch Thanks for the suggestion [~shv]. Attaching new patch. Right now we are passing a null to the constructor of {{BatchedListEntries}}. I think it has the logic of handling null. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch, HDFS-10458.03.patch, > HDFSA-10458.01.patch, HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFSA-10458.02.patch Oops missed a {{!}} in if condition. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch, HDFSA-10458.01.patch, > HDFSA-10458.02.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFSA-10458.01.patch Thanks [~shv] for the review. Attaching new patch to take the suggestion. I think it is a good idea to add the check in {{getEncryptionZoneForPath}}. However, for uses in {{startFile}} etc., we should be more careful about race conditions. Therefore I added a boolean variable that can only be turned on once (can never be turned off). It is turned on *before* adding any encryption zone so it is safe to assume no EZ exists if the variable is false. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch, HDFSA-10458.01.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Component/s: namenode encryption > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug > Components: encryption, namenode >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Attachment: HDFS-10458.00.patch {{trunk}} already has a method to get number of EZs without locking. Attaching initial version of patch. > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > Attachments: HDFS-10458.00.patch > > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-10458) getFileEncryptionInfo should return quickly for non-encrypted cluster
[ https://issues.apache.org/jira/browse/HDFS-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhe Zhang updated HDFS-10458: - Status: Patch Available (was: Open) > getFileEncryptionInfo should return quickly for non-encrypted cluster > - > > Key: HDFS-10458 > URL: https://issues.apache.org/jira/browse/HDFS-10458 > Project: Hadoop HDFS > Issue Type: Bug >Affects Versions: 2.6.0 >Reporter: Zhe Zhang >Assignee: Zhe Zhang > > {{FSDirectory#getFileEncryptionInfo}} always acquires {{readLock}} and checks > if the path belongs to an EZ. For a busy system with potentially many listing > operations, this could cause locking contention. > I think we should add a call {{EncryptionZoneManager#hasEncryptionZone()}} to > return whether the system has any EZ. If no EZ at all, > {{getFileEncryptionInfo}} should return null without {{readLock}}. > If {{hasEncryptionZone}} is only used in the above scenario, maybe itself > doesn't need a {{readLock}} -- if the system doesn't have any EZ when > {{getFileEncryptionInfo}} is called on a path, it means the path cannot be > encrypted. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org