You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "Udit Mehrotra (Jira)" <ji...@apache.org> on 2022/07/28 21:44:00 UTC

[jira] [Updated] (HUDI-4495) Specific S3 URI patterns break with Hudi

     [ https://issues.apache.org/jira/browse/HUDI-4495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Udit Mehrotra updated HUDI-4495:
--------------------------------
    Description: 
Current certain S3 path patterns break with Hudi, for ex: paths with *<string>.<integer>* pattern in S3 bucket name. This error stems from [https://github.com/apache/hudi/blob/master/hudi-common/src/main/java/org/apache/hudi/common/fs/HoodieWrapperFileSystem.java#L148] where it uses *getHost()* API while converting to new Scheme. While this works well for HDFS where it always has a host, it does not work well with this specific pattern which is a valid S3 bucket name.

For example:

*s3://bucket.1234/table1* gets incorrectly converted to *s3:/table1*

Instead we should use *getAuthority()* which correctly gets the S3 bucket name as the authority.

> Specific S3 URI patterns break with Hudi
> ----------------------------------------
>
>                 Key: HUDI-4495
>                 URL: https://issues.apache.org/jira/browse/HUDI-4495
>             Project: Apache Hudi
>          Issue Type: Bug
>            Reporter: Udit Mehrotra
>            Assignee: Udit Mehrotra
>            Priority: Major
>
> Current certain S3 path patterns break with Hudi, for ex: paths with *<string>.<integer>* pattern in S3 bucket name. This error stems from [https://github.com/apache/hudi/blob/master/hudi-common/src/main/java/org/apache/hudi/common/fs/HoodieWrapperFileSystem.java#L148] where it uses *getHost()* API while converting to new Scheme. While this works well for HDFS where it always has a host, it does not work well with this specific pattern which is a valid S3 bucket name.
> For example:
> *s3://bucket.1234/table1* gets incorrectly converted to *s3:/table1*
> Instead we should use *getAuthority()* which correctly gets the S3 bucket name as the authority.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)