<@U0A71G31CDV> - which versions of starrocks suppo...
# questions-and-troubleshooting
a
@Rocky - which versions of starrocks support DELTA_LENGTH_BYTE_ARRAY on iceberg external catalog?
r
Based on StarRocks' development history and community discussions, support for the
DELTA_LENGTH_BYTE_ARRAY
Parquet encoding (Encoding = 6) was added recently to improve compatibility with data lakes (like Iceberg) that use modern Parquet v2 encodings. Supported Versions * StarRocks v3.4.0 and later: This feature was officially implemented via Pull Request #57954 (titled
[Enhancement] support parquet DELTA_LENGTH_BYTE_ARRAY encoding
). * StarRocks v4.0.x: Support is natively included in the 4.0 release series as part of enhanced Parquet v2 support. * Older Versions: Support is not available in versions prior to late v3.3.x. As of version 3.2.x and early 3.3.x (e.g., v3.3.3), users reported errors such as
Unsupported encoding
or
Failed to decode parquet page header
when encountering this encoding. Context and Usage Notes * Reason for Addition: This encoding is often used by modern writers (including Snowflake's Iceberg tables and certain Spark/Databricks configurations) to store variable-length binary or string data more efficiently than
PLAIN
encoding. * Vectorized Reader: The implementation is part of StarRocks' native vectorized Parquet reader, ensuring that reading Iceberg tables using this encoding remains high-performance. * Related Encodings: Along with
DELTA_LENGTH_BYTE_ARRAY
, StarRocks also added support for
DELTA_BINARY_PACKED
and
BYTE_STREAM_SPLIT
in the same timeframe (v3.4/v4.0 series) to broaden compatibility with complex Parquet files. If you are encountering errors with this encoding on an older version of StarRocks, it is recommended to upgrade to at least v3.4.0. References • data_source/feature-support-data-lake-analytics.md • data_source/catalog/deltalake_catalog.md • sql-reference/sql-functions/table-functions/files.md • sql-reference/data-types/semi_structured/VARIANT.md