lance-format / lance-format/lance
Use `source` instead of `message: source.to_string()`
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
Right now, our error messages can end up being huge chains of junk prefixes:
InvalidInputException: Invalid Input Error: arrow_scan: get_next failed(): Invalid: C Data interface error: Io error: Execution error: External error: Execution error: LanceError(IO): failed to read all bytes from file: expected 480, got 437, /home/runner/work/lance/lance/rust/lance/src/io/local.rs:121:31
We should:
- change our error enum to use
sourcefield. - Make sure to add an IO wrapper that has a field for data file path we are reading / writing
- find some way to pass through full errors in the C data interface (or write our own RBR implementation)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests; begin by locating the error enum and the C data interface error path. The requested work spans source-based error chaining, an IO wrapper carrying the data-file path, and preservation of full C data-interface errors. Confirm the intended scope and acceptance criteria before starting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100