DataFusionError should be MECE
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
The current categories under DataFusionError is not Mutually Exclusive, Collectively Exhaustive (MECE), making it hard to use consistently.
For example, if the user is developing a custom Object Store, should they return DataFusionError::ObjectStore, DataFusionError::IoError, or DataFusionError::External? Similarly, for an error happened during the plan stage of a custom TableProvider, should that be DataFusionError::Plan, or DataFusionError::External?
The "Collectively Exhaustive" part can be hard, since one cannot predict all the possible errors; however the Mutually Exclusive property should still hold.
### Describe the solution you'd like
_No response_
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reviewing the DataFusionError categories and the custom Object Store and TableProvider error paths described in the issue. Compare how ObjectStore, IoError, External, and Plan are selected. Done means proposing a mutually exclusive error taxonomy and documenting how those custom components should classify their errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100