Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the Velox submodule reference in presto-native-execution to a newer commit, without any direct source changes in this repository. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
@amitkdutta : These errors related to Iceberg and Arrow/Parquet seem quite legit. ref facebookincubator/velox#16062 From co-pilot The failing job 67284023403 encountered linker errors due to missing or undefined references in the code: The key error is: This suggests that code in IcebergParquetStatsCollector.cpp (inside velox_hive_iceberg_splitreader.a) depends on the implementation for these functions, but they are either missing or not linked correctly from the Velox library. Solution Steps
Code Fix ExampleIf // velox/velox/parquet/arrow/FileMetaData.h
class FileMetaData {
public:
int getNaNCount(int columnIdx) const;
};
// velox/velox/parquet/arrow/FileMetaData.cpp
int FileMetaData::getNaNCount(int columnIdx) const {
// TODO: Proper implementation
return 0;
}Similarly, check destructors for Summary
Once these changes are made, your job should succeed and the linker errors should disappear. |
|
@aditi-pandit @amitkdutta I've made a PR to fix the issue: facebookincubator/velox#16867 The problem was that the IcebergParquetStatsCollector requires also the parquet writer that defines the missing symbols. I suspect that in Velox we don't see this problem because of the shared build. The symbols show up eventually. But in PrestoC++ when building presto test executables they don't. So we need the explicit dependency declared to make sure we see all relevant libraries. I did also a minor cleanup of headers where I saw duplication and such. This build now successfully locally. |
If release note is NOT required, use:
Summary by Sourcery
Chores: