Hi Celeborn community,
  I'd like to kick off the 0.7.0 release now that we're at the end of July.
  It has been about 10 months since 0.6.0, and master has accumulated a 
substantial set of new features, improvements, and fixes since 0.6.3 alone. 
Highlights include:
● Engine support. Spark 4.1/4.2 and Flink 2.1/2.2/2.3 support; Spark 4.0 and 
Flink 2.0 client maturity. Removed Spark 2.4, Flink 1.16/1.17, and Hadoop 2 
client support.
● C++ native client (CIP-14). Full push/merge data path, revive, LZ4/ZSTD 
compression, retry logic, heartbeat decoding, native transport, and 
C++-write/Java-read hybrid integration tests — a major push toward feature 
parity with the Java client.
● Encryption at Rest (CIP-22). Spark-side implementation landed.
● Shuffle integrity. End-to-end integrity check for Flink, iterator 
fully-consumed validation, and extended E2E checked zone.
● Remote storage (S3/OSS/HDFS). S3 client caching, credentials provider 
support, DFS replication factor configuration, MapPartitionData on DFS, and 
multiple robustness fixes.
● Observability. Flush latency per storage tier, eviction counts, read buffer 
availability, metadata operation metrics, and more — all reflected in the 
Grafana dashboards.
● Performance. Zero-copy sendfile in Netty native transports, parallelized open 
stream and commit paths, and reduced lock contention on hot paths.
● Durability & reliability. fsync on commit, automatic RocksDB restoration, 
disk-full rejection, Ratis stepdown and outbox retry, and numerous 
race-condition and resource-leak fixes.
● Security. RPC authorization, Java deserialization filter, and configurable 
HTTP auth bypass paths.
● Standalone LifecycleManager and Rust SDK, plus Helm chart improvements.
  Looking ahead: 1.0.0
  With 0.7.0 we are essentially completing the feature surface for a 1.0. I'd 
like to propose that the next major release after 0.7.0 will be 1.0.0 — marking 
Celeborn's technical maturity and production-grade stability, reflecting the 
collective work since graduation: Spark stage rerun, MapReduce and Flink 
support, memory and remote storage, Flink hybrid shuffle, HARD_SPLIT in 
PushMergedData, skew partition optimization, the C++ client, encryption at 
rest, and broad real-world deployment feedback.
  I'm volunteering to serve as the release manager for 0.7.0. If there are no 
objections, I'll start preparing the release branch and the first RC after this 
thread concludes (72 hours, per convention).
  Regards,
  Zhentao Shuai

Reply via email to