apache / apache/arrow

[C++] Replace RapidJSON with simdjson in JSON chunker

Open
#50,944 0 comments 0 reactions 1 assignee Claimed by @Reranko05 View on GitHub
Component: C++ Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

The JSON chunker currently uses RapidJSON to identify complete JSON values and determine JSON document boundaries when `newlines_in_values` is enabled.

Replace the RapidJSON-based boundary detection with simdjson while preserving the existing chunking behavior, including handling of:

- Pretty-printed JSON values containing raw newlines.
- Multiple JSON values in a single block.
- JSON values straddling block boundaries.
- Incomplete trailing JSON values.
- Invalid JSON input and existing error propagation behavior.

The new implementation should detect structural JSON boundaries and validate complete JSON candidates with simdjson.

### Additional context

Parent Issue: GH-35460.

### Component(s)

C++

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.