[C++] IPC: validate batch schema equals stream schema in debug mode
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
This came up in a Flight/Flight SQL demo a colleague was working on; it was possible to write a batch with a differing schema than what was stated for the stream, which would lead to a decoding failure on the other side. It might be useful in DEBUG mode to DCHECK this and fail-fast.
The error message could also be improved; `ArrayLoader.GetBuffer` could at least return the index and the actual # of buffers
**Reporter**: [David Li](https://issues.apache.org/jira/browse/ARROW-16625) / @lidavidm
**Note**: *This issue was originally created as [ARROW-16625](https://issues.apache.org/jira/browse/ARROW-16625). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start by tracing the IPC batch and stream schema handling described for the Flight/Flight SQL demo, then inspect ArrayLoader.GetBuffer, which the issue names explicitly. Done means debug-mode validation fails fast when batch and stream schemas differ, and the buffer error reports the index and actual buffer count.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100