The GitHub Actions job "C++ Linter" on iceberg-cpp.git/avro_reader has failed.
Run started by GitHub user shangxinli (triggered by shangxinli).

Head commit for run:
eae860e94718511f74378a54d7714aab9b9436e7 / Xinli Shang <[email protected]>
feat: add comprehensive tests and benchmark for Avro direct decoder

Add extensive test coverage to validate the direct decoder implementation:
- All primitive types (boolean, int, long, float, double, string, binary)
- Temporal types (date, time, timestamp)
- Complex nested structures (nested structs, lists, maps)
- Null handling and optional fields
- Large datasets (1000+ rows)
- Direct decoder vs GenericDatum comparison tests

Add benchmark tool to measure performance improvements:
- Benchmarks with various data patterns (primitives, nested, lists, nulls)
- Compares direct decoder vs GenericDatum performance
- Expected speedup: 1.5x - 2.5x due to eliminated intermediate copies

Add feature flag for direct Avro decoder:
- ReaderProperties::kAvroUseDirectDecoder (default: true)
- Allows fallback to GenericDatum implementation if issues arise
- Dual-path implementation with helper functions to reduce code duplication

Test results:
- 16 comprehensive Avro reader tests (vs 5 before)
- 180 total tests in avro_test suite
- 100% passing rate

This addresses review feedback from wgtmac to provide better test coverage
and prove performance improvements of the direct decoder implementation.

Report URL: https://github.com/apache/iceberg-cpp/actions/runs/19899056137

With regards,
GitHub Actions via GitBox

Reply via email to