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

Define Hudi error types across hudi-core #72

Open
xushiyan opened this issue Jul 18, 2024 · 4 comments · May be fixed by #59 or #124
Open

Define Hudi error types across hudi-core #72

xushiyan opened this issue Jul 18, 2024 · 4 comments · May be fixed by #59 or #124
Assignees
Labels
feature good first issue Good for newcomers p1 rust Related to Rust codebase
Milestone

Comments

@xushiyan
Copy link
Member

Use thiserror to define error enums to fit different error handling flows, and replace anyhow::Error usage.

@xushiyan xushiyan added good first issue Good for newcomers feature rust Related to Rust codebase labels Jul 18, 2024
@xushiyan xushiyan added this to the release-0.2.0 milestone Jul 18, 2024
@xushiyan xushiyan added good first issue Good for newcomers p1 and removed good first issue Good for newcomers labels Jul 19, 2024
@xushiyan
Copy link
Member Author

@codope any plan to resume the work? Updated the milestone/release date.

@gohalo
Copy link
Contributor

gohalo commented Aug 30, 2024

does this still wip? while i try to add some create table methods, just found this is a little chaos.

maybe i will try to refact that.

@codope @xushiyan

@codope
Copy link
Member

codope commented Aug 30, 2024

@gohalo Please go ahead with your refactoring. I can help with review. I had opened #59 to refactor error handling but it is incomplete and preferably we shall use thiserror. You can open a separate PR, and I will close mine in your favour.

@gohalo gohalo linked a pull request Aug 31, 2024 that will close this issue
4 tasks
@gohalo
Copy link
Contributor

gohalo commented Aug 31, 2024

Submit a pr, just replaced the anyhow package, but still have some problems to fix.

First, how to classified the errors.

  1. User configurations, invalid file/object path, unsupported features.
  2. Communication failed, mostly from the obejct_store crate.
  3. Invalid hoodie table, including file layout, file format, crashed data file and so on. Including from parquet arrow crates.
  4. and more.

Second, how to simplify the error generation or mapping process. thiserror provide many macros for this, such as error from etc. But still have many situation to simplify, through some trait like Into.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature good first issue Good for newcomers p1 rust Related to Rust codebase
Projects
Status: In Progress
3 participants