apache / apache/arrow

[C++] IPC: validate batch schema equals stream schema in debug mode

Open
#31,977 1 comment 0 reactions 0 assignees View on GitHub
Component: C++ Component: FlightRPC Type: bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.