Skip to content

[draft] Fix missing parquet writer link in iceberg splitreader CMake#16877

Draft
amitkdutta wants to merge 1 commit intofacebookincubator:mainfrom
amitkdutta:export-D97626196
Draft

[draft] Fix missing parquet writer link in iceberg splitreader CMake#16877
amitkdutta wants to merge 1 commit intofacebookincubator:mainfrom
amitkdutta:export-D97626196

Conversation

@amitkdutta
Copy link
Contributor

Summary:
The velox_hive_iceberg_splitreader library conditionally compiles
IcebergParquetStatsCollector.cpp when VELOX_ENABLE_PARQUET is ON,
and IcebergDataSink.cpp uses parquet::WriterOptions. However, the
CMakeLists.txt only linked velox_dwio_parquet_field_id (a header-only
interface library), not the actual velox_dwio_parquet_writer that
provides the parquet writer and arrow metadata symbols.

This caused undefined reference linker errors when building
presto_to_velox_connector_test (and other targets linking
velox_hive_iceberg_splitreader) in presto-native-execution:

  • typeinfo for facebook::velox::parquet::WriterOptions
  • facebook::velox::parquet::arrow::FileMetaData::numRows()
  • facebook::velox::parquet::arrow::RowGroupMetaData::numColumns()
  • and several other parquet arrow metadata symbols

Fix: conditionally link velox_dwio_parquet_writer when
VELOX_ENABLE_PARQUET is enabled, following the same pattern used in
velox/connectors/hive/tests/CMakeLists.txt.

Differential Revision: D97626196

Summary:
The `velox_hive_iceberg_splitreader` library conditionally compiles
`IcebergParquetStatsCollector.cpp` when `VELOX_ENABLE_PARQUET` is ON,
and `IcebergDataSink.cpp` uses `parquet::WriterOptions`. However, the
CMakeLists.txt only linked `velox_dwio_parquet_field_id` (a header-only
interface library), not the actual `velox_dwio_parquet_writer` that
provides the parquet writer and arrow metadata symbols.

This caused undefined reference linker errors when building
`presto_to_velox_connector_test` (and other targets linking
`velox_hive_iceberg_splitreader`) in presto-native-execution:
- `typeinfo for facebook::velox::parquet::WriterOptions`
- `facebook::velox::parquet::arrow::FileMetaData::numRows()`
- `facebook::velox::parquet::arrow::RowGroupMetaData::numColumns()`
- and several other parquet arrow metadata symbols

Fix: conditionally link `velox_dwio_parquet_writer` when
`VELOX_ENABLE_PARQUET` is enabled, following the same pattern used in
`velox/connectors/hive/tests/CMakeLists.txt`.

Differential Revision: D97626196
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 21, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 21, 2026

@amitkdutta has exported this pull request. If you are a Meta employee, you can view the originating Diff in D97626196.

@netlify
Copy link

netlify bot commented Mar 21, 2026

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit c8c1032
🔍 Latest deploy log https://app.netlify.com/projects/meta-velox/deploys/69bf185817e399000803ea3e

@amitkdutta amitkdutta marked this pull request as draft March 21, 2026 22:19
@amitkdutta amitkdutta changed the title Fix missing parquet writer link in iceberg splitreader CMake [draft] Fix missing parquet writer link in iceberg splitreader CMake Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant