Uh oh!
There was an error while loading. Please reload this page.
GH-50859: [C++][Parquet] Move JsonWriter to simdjson utilities - #50990
Conversation
pitrou
commented
Aug 25, 2026
The CI failures need fixing. |
rok
commented
Aug 25, 2026
@pitrou done. |
rok
commented
Aug 25, 2026
Done |
Again, this PR is purely AI generated. I will mark as ready for review once I review myself. |
pitrou
commented
Aug 27, 2026
@rok Are you willing to prioritize this? |
rok
commented
Aug 27, 2026
@pitrou I'll review this in about an hour and ping again |
tadeja
commented
Aug 27, 2026
@github-actions crossbow submit example-cpp-tutorial |
Revision: 973b4d2 Submitted crossbow builds: ursacomputing/crossbow @ actions-5765e8701c
|
Parquet uses JsonWriter independently of the Arrow JSON module. Move the writer into the simdjson utilities so it is available whenever simdjson is enabled, including ARROW_JSON=OFF builds. Preserve the writer files as renames and update CMake, Meson, callers, and tests.
973b4d2 to
5a1f424Compare| SOURCES | ||
| json_writer_internal_test.cc | ||
| EXTRA_LINK_LIBS | ||
| simdjson::simdjson) |
There was a problem hiding this comment.
Should we use arrow::simdjson here instead? Both should work, but arrow alieas would hide the vendored/system simdjson.
There was a problem hiding this comment.
if(SIMDJSON_VENDORED)
add_library(arrow::simdjson ALIAS simdjson)
else()
add_library(arrow::simdjson ALIAS simdjson::simdjson)
endif()
It seems better to use arrow::simdjson based on the above statements? cc @kou
There was a problem hiding this comment.
Agreed, changed to arrow::simdjson.
rok
commented
Aug 27, 2026
@github-actions crossbow submit example-cpp-tutorial |
Revision: 86e85bd Submitted crossbow builds: ursacomputing/crossbow @ actions-e4578321bd
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated no new comments.
Suppressed comments (1)
cpp/src/parquet/encryption/key_material.h:79
- This removes an exported overload from the installed
parquet/encryption/key_material.h, so existing source and binaries that callKeyMaterial::Parse(const arrow::json::internal::ObjectParser*)will no longer compile/link. That contradicts the stated absence of user-facing changes. Please preserve the existing parser type/overload while making its implementation available when simdjson is enabled, or explicitly treat and document this as an API/ABI break.
static KeyMaterial Parse(const std::string& key_material_string);
6a88bfb to
d15007aComparerok
commented
Aug 31, 2026
@github-actions crossbow submit -g cpp |
Revision: d15007a Submitted crossbow builds: ursacomputing/crossbow @ actions-350780c611 |
pitrou
commented
Aug 31, 2026
CI failures are unrelated to this PR. |
Uh oh!
There was an error while loading. Please reload this page.
Rationale for this change
Parquet uses JsonWriter when ARROW_JSON=OFF, but its implementation was only built with Arrow JSON, causing link failures.
What changes are included in this PR?
Move JsonWriter to the simdjson utilities and update its callers and CMake/Meson builds.
Are these changes tested?
Yes. CMake shared/static and Meson Parquet builds pass with JSON disabled. Unit tests and pre-commit checks also pass.
Are there any user-facing changes?
No. This only fixes the affected build configuration.
AI disclosure - this was AI generated to test alternative approach to #50900.