hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Douglas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-15140) S3guard mistakes root URI without / as non-absolute path
Date Wed, 24 Jan 2018 02:29:00 GMT

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

Chris Douglas commented on HADOOP-15140:

I can't claim any grand insight, unfortunately. The semantics of an empty path in the URI
aren't crisp, since {{FileSystem}} instances maintain working/home directories as context
to resolve relative paths. In the past, that's gotten in the way of defining clearer semantics,
since FS overrides don't compose compatibly. It's one of the reasons {{FileContext}} tried
to move all the path manipulation up a level, so the FS implementations only deal with absolute
URIs (IIRC, [~sanjay.radia] may have a clearer memory of this).

bq. To clarify the failure only occurs when passing a URI as an argument to the Path constructor.
Otherwise this is handled properly.
Can you expand on this?

bq. this surfaces in code which has a path p like s3a://bucket/file.txt and you can getFileStatus(p.getParent()).
The key of that parent is being mapped to "/" and then s3guard is failing.
If I understand you, the path component of the URI should be resolving to "/", which s3guard
should resolve (even as a special case). Is it getting dropped?

> S3guard mistakes root URI without / as non-absolute path
> --------------------------------------------------------
>                 Key: HADOOP-15140
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15140
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.0.0
>            Reporter: Steve Loughran
>            Assignee: Abraham Fine
>            Priority: Major
> If you call {{getFileStatus("s3a://bucket")}} then S3Guard will throw an exception in
putMetadata, as it mistakes the empty path for "non-absolute path"

This message was sent by Atlassian JIRA

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

View raw message