Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: webhdfs doesn't handle redirection correctly #1355

Closed
Xuanwo opened this issue Feb 17, 2023 · 3 comments · Fixed by #1358
Closed

bug: webhdfs doesn't handle redirection correctly #1355

Xuanwo opened this issue Feb 17, 2023 · 3 comments · Fixed by #1358

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Feb 17, 2023

WARN risingwave_storage::hummock::compactor::shared_buffer_compact: Shared Buffer Compaction failed with error: ObjectStore failed with IO error Unexpected (permanent) at write, context: { service: webhdfs, service: webhdfs, path: hummock_001/1.data } => redirection fail, source: missing field `Location` at line 1 column 155.
@ClSlaid
Copy link
Contributor

ClSlaid commented Feb 17, 2023

Seems like the HTTP response lacks a Location field, what's the version of Hadoop?

OpenDAL will always PUT with noredirect enabled. For Hadoop 3, an HTTP 200 OK response carrying a Location JSON should be given.

@ClSlaid
Copy link
Contributor

ClSlaid commented Feb 17, 2023

Considering users may put their self defined HTTP clients to OpenDAL, whose redirect policies may vary and causing different runtime behavior, OpenDAL's WebHDFS support relies on a noredirect argument, which was only offered for HDFS3.

I'll support low versioned WebHDFS services as soon as possible, sorry again for the bad coding experience brought to you. :(

BTW, we need to clarify that self defined HTTP clients for OpenDAL should never follow redirects automatically, since we will handle them manually.

@Xuanwo
Copy link
Member Author

Xuanwo commented Feb 17, 2023

BTW, we need to clarify that self defined HTTP clients for OpenDAL should never follow redirects automatically, since we will handle them manually.

LGTM, can you help add this statement in HttpClient's doc?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants