Hi Celeborn devs, We found a concurrency bug with GetReducerFileGroup in ShuffleClientImpl in our internal workloads. The blocking RPC runs inside ConcurrentHashMap.compute, so it holds the per-key bin lock across the whole round-trip and queues behind every reduce task of the shuffle. At scale this wedged a stage for over 20 minutes with no fetch activity. I filed https://github.com/apache/celeborn/pull/3776 to fix it (isolated change, has a regression test).
After filing it, I noticed @Chao Sun <[email protected]> already had https://github.com/apache/celeborn/pull/3687 open for the same issue, and later superseded it with https://github.com/apache/celeborn/pull/3745, which scopes the reduceFileGroups fetch to the reader's partition range instead of shipping the full map to every executor. Both are solid improvements: the concurrency fix and the fetch optimization. I would like to get both into 0.7.0. #3776 is small and ready for review; happy to rebase it onto the 0.7.0 branch. Would appreciate thoughts on whether #3745 can make 0.7.0 as well. Thanks Venkat On Mon, Jul 27, 2026 at 4:27 AM keyong zhou <[email protected]> wrote: > +1, thanks Zhentao for volunteering! > > Regards, > Keyong Zhou > > Zhentao Shuai <[email protected]> 于2026年7月22日周三 16:02写道: > > > 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 > > >
