We are pleased to announce the release of Delta Lake 3.3.3, a patch release on top of 3.3.2 with targeted fixes for Delta Sharing cache correctness, transaction log retention safety, and a Kernel Parquet-reader configuration bug, plus a Delta Sharing client upgrade.
Note: this patch release does not publish delta-iceberg (UniForm/Iceberg support) — see Delta UniForm below for details and follow-up plan.
Highlights
- [Spark] Fix transaction log retention during metadata cleanup: Log cleanup could previously delete transaction log files still needed to reconstruct table versions within the retention window on tables with infrequent commits/checkpoints, breaking time travel and CDF reads.
- [Delta Sharing] Fix deletion vector cache refresh bug: Cache refresh could drop deletion-vector fileId→URL mappings, causing long-running queries against shared DV tables to fail with "file id not found" errors.
- [Delta Sharing] Upgrade
delta-sharing-client1.2.2 → 1.2.8: Picks up more resilient OAuth token parsing and improved retry/error-reporting behavior. - [Spark] Add
RANDOMIZE_FILE_PREFIXESsupport: Wires up the previously-declareddelta.randomizeFilePrefixes/delta.randomPrefixLengthtable properties on the write path, to spread S3 object keys for high-throughput workloads. Opt-in; default behavior unchanged. - [Spark] Fix Spark 3.5.6 compatibility for
TRUNCATE TABLE: Spark 3.5.6 tightenedV2Writesvalidation; Delta tables now correctly declareTRUNCATE/OVERWRITE_BY_FILTERcapability. - [Kernel] Fix missing Hadoop configuration in Parquet reader: The Hadoop
Configurationwas not being passed when Kernel opened Parquet footers, so custom filesystem/credential settings could be silently ignored.
Delta Spark
Delta Spark 3.3.3 is built on Apache Spark 3.5.6. Maven artifacts are published for both Scala 2.12 and 2.13.
- Maven artifacts:
- Python artifact:
Fixes and changes in this release:
- Fix transaction log retention during metadata cleanup: Delete eligible log files only if a newer checkpoint exists before the retention cutoff, so time travel and CDF reads to retained versions keep working. Tables with a low commit/checkpoint rate may retain log files slightly beyond the nominal cutoff as a result.
- Add
RANDOMIZE_FILE_PREFIXESsupport:delta.randomizeFilePrefixes/delta.randomPrefixLengthtable properties are now honored on writes, placing new data files under a random subdirectory prefix to spread S3 request load. Opt-in; default write path is unchanged. - Fix Spark 3.5.6 compatibility for
TRUNCATE TABLE:StagedDeltaTableV2now implementsSupportsTruncateand declaresTRUNCATE/OVERWRITE_BY_FILTERcapabilities, fixingTRUNCATE TABLEunder Spark 3.5.6's stricterV2Writesvalidation.
Delta Kernel
The Delta Kernel project is a set of Java libraries for building Delta connectors without needing to implement the Delta protocol directly.
- Maven artifacts:
Fixes in this release:
- Fix missing Hadoop configuration parameter when creating the Parquet reader: A follow-up to an earlier
IllegalAccessErrorfix had dropped the HadoopConfigurationwhen constructing theParquetReaderused to read footers, so custom Hadoop filesystem settings could be ignored during Kernel reads.
Delta UniForm
Delta UniForm's delta-iceberg and delta-hudi modules keep Apache Iceberg and Apache Hudi metadata in sync with Delta commits.
delta-icebergis not published in 3.3.3. There will be no delta-iceberg artifact in this release. There are no changes to delta-iceberg from the previous version. Existingdelta-iceberg_2.12/delta-iceberg_2.13v3.3.2 artifacts remain available and are forward-compatible withdelta-spark3.3.3.- Maven artifacts:
No changes to Delta Hudi in this patch release (rebuilt against the updated build toolchain only).
Delta Sharing
Delta Sharing is a Spark DataSource for batch, streaming, CDF, and time-travel reads on tables shared via the Delta Sharing protocol.
- Maven artifacts:
Fixes and changes in this release:
- Fix deletion vector cache refresh dropping fileId→URL entries: Cache refresh previously dropped deletion-vector file mappings registered during initial cache setup, causing long-running queries against DV-enabled shared tables to fail with "file id not found" errors after a refresh.
- Upgrade
delta-sharing-clientto 1.2.8 (from 1.2.2): brings more resilient OAuthexpires_inparsing, adaptive retry/backoff on retryable server errors, and clearer error reporting from streaming responses.
Delta Standalone
- Maven artifacts:
No changes to Delta Standalone in this patch release.
Delta Hive Connector
- Maven artifacts:
No changes to the Delta Hive connector in this patch release.
Delta Flink
The Kernel-based delta-flink connector (experimental).
- Maven artifact:
No changes to Delta Flink in this patch release.
Credits
Daniel Mattos, Felipe Pessoto, Geeta Krishna Panda, littlegrasscao, Sun Cao, Venki Korukanti, Vishnu Chandrashekhar, Yingyi Bu