[ https://issues.apache.org/jira/browse/HDFS-9799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15149097#comment-15149097 ]
Zhe Zhang commented on HDFS-9799: --------------------------------- Thanks [~xyao] for the discussion. {{FSNamesystem#getEZForPath}} gets IOExceptions at multiple places: # {{checkOperation}} # {{FSDirEncryptionZoneOp#getEZForPath}} => {{resolvePath}}, {{getINodesInPath}} etc. So the IOException from the {{getEZForPath}} call itself is pretty hard to get rid of. We could try swallowing and handling the IOException at {{DFSClient#getEZForPath}} level. But removing an exception from a public API will cause surprises to applications as well. So I suggest we handle the exception at {{getTrashRoot}} / {{getTrashRoots}} level. Let me know if this makes sense. > Reimplement getCurrentTrashDir to remove incompatibility > -------------------------------------------------------- > > Key: HDFS-9799 > URL: https://issues.apache.org/jira/browse/HDFS-9799 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.8.0 > Reporter: Zhe Zhang > Assignee: Zhe Zhang > Priority: Blocker > Attachments: HDFS-9799.00.patch, HDFS-9799.01.patch, > HDFS-9799.02.patch, HDFS-9799.03.patch, HDFS-9799.04.patch > > > HDFS-8831 changed the signature of {{TrashPolicy#getCurrentTrashDir}} by > adding an IOException. This breaks other applications using this public API. > This JIRA aims to reimplement the logic to safely handle the IOException > within HDFS. -- This message was sent by Atlassian JIRA (v6.3.4#6332)