Release 3.0 (2026-8-2)
MR3
DAG scheduling
-
Introduce a new scheme
fairfor DAG scheduling. Set the configuration keymr3.dag.queue.schemetofairto use the new scheme. The schemefairuses the following auxiliary configuration keys:mr3.dag.queue.fair.miss.host.delaymr3.dag.queue.fair.num.recent.dagsmr3.dag.queue.fair.extra.worker.max.percent
Task scheduling
- Support the use of rack labels for scheduling hints
with a new configuration key
mr3.dag.taskattempt.queue.use.hint.rack. - Introduce a new configuration key
mr3.taskattempt.queue.wait.per.vertex.cacheto consider per-vertex cache. - Introduce a new configuration key
mr3.dag.taskattempt.queue.match.host.firstto schedule Tasks with matching location hints regardless of their priorities.
Shuffling
- Remove the configuration key
tez.shuffle.vertex.manager.auto.parallelism.min.percent. - Implement a new strategy for the configuration key
tez.shuffle-vertex-manager.use-stats-auto-parallelismin order to reduce the number of shuffle requests.
MR3-UI
- Implement TaskAttempt swimlanes.
- The internal Timeline Server for MR3-UI attempts to recover from initialization failures.
Logging
- A log file is created for each DAG (e.g.,
dag_1783582797348_0112_44.log).
Hive on MR3
- Support Hive 4.2.0.
- Optimize the performance of shuffle (by avoiding memory copies) and serialization/deserialization (by directly serializing/deserializing row batches).
- HiveSplitGenerator does not use the configuration key
dfs.blocksizein calculating the split size. It usestez.grouping.min-sizeto calculate the minimum split size after consideringmapreduce.input.fileinputformat.split.minsize.