DEV Community

Chen Debra
Chen Debra

Posted on

Apache DolphinScheduler 3.4.0 Major Release: OIDC Login, gRPC Task Support, and Comprehensive Reliability Enhancements

Breaking news: Apache DolphinScheduler 3.4.0 has been officially released!

This release introduces multi-tenant scheduling isolation, workflow parallel performance optimizations, enhanced task retry and alerting mechanisms, as well as improvements in resource management and log processing.
Whether for complex enterprise business scenarios or high-concurrency task scheduling, version 3.4.0 makes the system more efficient, more reliable, and easier to use.
Upgrade now to experience the next generation of scheduling capabilities.

Upgrade & Download

Download page (mirror downloads available):
https://dolphinscheduler.apache.org/zh-cn/download/3.4.0

GitHub Release page:
https://github.com/apache/dolphinscheduler/releases/tag/3.4.0

When upgrading, it is recommended to follow the official cluster upgrade guide to ensure compatibility and configuration consistency.

Core Feature Enhancements & Key Updates

Generic OIDC Authentication Support

Version 3.4.0 introduces generic support for OpenID Connect (OIDC), aiming to simplify integration with enterprise identity authentication systems.
With OIDC, users can log in via a unified identity provider (such as Keycloak or Okta) using SSO, without implementing complex custom authentication logic.

This enhancement improves both security and user experience. In scenarios involving federated login and unified authentication across multiple systems, DolphinScheduler can now integrate more naturally into enterprise-grade identity infrastructures, reducing repetitive configuration and validation costs while improving extensibility and consistency of login configurations.


(For Reference)

gRPC Task Plugin Support

This release adds support for gRPC-based task plugins, enabling the scheduler to interact directly with remote services via native gRPC protocols.
Users can define backend microservices exposed through gRPC interfaces as task execution targets, without wrapping them in intermediate scripts.

This capability is especially suitable for microservice ecosystems or cross-language execution scenarios. By leveraging explicit parameter contracts and high-performance communication protocols, it improves task integration efficiency, reduces scheduling latency, and enhances overall task reliability.

Workflow Serial Strategy Support

The core logic of the Workflow Serial Execution Strategy has been refactored.
A brand-new serial command queue mechanism has been introduced (including the t_ds_serial_command table and related DAO/Mapper), together with a serial execution coordinator (WorkflowSerialCoordinator) and strategy processors.

This allows DolphinScheduler to manage serial workflows—such as SERIAL_WAIT, SERIAL_PRIORITY, and SERIAL_DISCARD—in a more intelligent manner.

The redesign improves key execution paths including workflow trigger decision-making, state management, and command queue processing. As a result, serial scheduling logic becomes clearer and more reliable, significantly enhancing stability and controllability in serial workflow scenarios.

In addition, version 3.4.0 refactors trigger-related and state-machine code, improving maintainability and extensibility of this capability.

Removal of the PyTorch Task Type

Version 3.4.0 streamlines the task type system by officially removing the built-in PyTorch task type.
This decision is based on real-world usage feedback and long-term maintenance considerations, as the original PyTorch task implementation had low adoption and was tightly coupled with the scheduler’s core task model, increasing complexity in version evolution and compatibility maintenance.

By removing this task type, DolphinScheduler maintains a cleaner and more stable core architecture.

Users are encouraged to run PyTorch jobs via more general approaches such as Shell, Python, or plugin-based execution, thereby improving overall maintainability and extensibility.

Stability Improvements & Critical Fixes

Enhanced Kubernetes Worker Deployment

In Kubernetes-native deployment scenarios, version 3.4.0 enhances the Worker StatefulSet Helm Chart by supporting the injection of Secrets and InitContainers.

Secrets injection enables secure delivery of certificates or credentials, while InitContainers allow necessary initialization logic—such as filesystem preparation or dependency validation—to be completed before the main container starts.

These enhancements help achieve safer, more consistent deployment strategies and lifecycle management in containerized environments.

SQL Task Cancellation Support

Native cancellation support is now available for SQL task types.
When a SQL statement runs into logical errors or consumes excessive resources due to long execution time, users can actively cancel the task via the scheduler, allowing it to terminate promptly instead of simply failing or waiting for a timeout.

This improvement enhances task control capabilities, prevents unnecessary long-term resource occupation, and improves overall cluster resource utilization and scheduling experience.

Fix for Conditional Tasks Executing After Predecessor Failure

In certain complex workflows, conditional task nodes previously failed to execute as expected when their upstream tasks failed.
Version 3.4.0 fixes this core scheduling logic, ensuring conditional nodes correctly respond to upstream failure states.

As a result, workflow branching logic now executes reliably according to the defined DAG, avoiding interruptions or inconsistent execution caused by logic errors.

ZooKeeper Node Cleanup Fix

In high-availability deployments using ZooKeeper as the coordination component, some users reported that Master Servers failed to properly clean up registered failover node paths after startup failures, potentially leading to abnormal states.

This release fixes the issue by ensuring that Masters correctly clean up related registration nodes during abnormal startup paths, maintaining registry consistency and ensuring cluster health and reliability in HA environments.

Worker Group Assignment Logic Fix

In previous versions, inconsistencies in project-to–Worker Group association and removal operations could occur at the API layer, leading to incorrect recognition of project–Worker Group relationships.

This version corrects the logic, aligning API behavior with user expectations and improving Worker management, resource isolation, and scheduling allocation experience.

In addition, version 3.4.0 includes many other optimizations and fixes, such as:

  • Documentation and configuration standardization (timezone, security, load balancing)
  • Core scheduling and registry stability improvements (TraceId, failover cleanup, reentrant locks)
  • Performance and resource management optimizations (task group indexing)
  • Frontend and plugin experience enhancements (log queries, DataX validation, file display)
  • Dependency and security updates (PostgreSQL JDBC, Spring Boot CVE fixes)

Due to space limitations, these are not listed exhaustively.
For full details, please refer to the complete changelog:
https://github.com/apache/dolphinscheduler/releases/tag/3.4.0

Bug Fix Highlights

Inactive Task State Marking Fix

In certain lifecycle events, tasks that needed to be marked as Inactive were not updated correctly, causing inconsistencies between the UI and execution engine states.

This release fixes the logic, ensuring state transitions align correctly with lifecycle events.

Workflow Lineage Deletion Optimization

When deleting workflow lineage relationships, some references were not fully cleaned up, leaving residual historical lineage paths.

Version 3.4.0 improves the deletion logic to ensure precise cleanup of related relationships, preventing incorrect dependency analysis caused by leftover links.

Other bug fixes include:

  • Fixes for conditional tasks not executing when upstream tasks fail
  • Corrections to project-level Worker Group binding and removal logic
  • Fixes for missing parameters when triggering sub-workflows

For full details, please see the complete Release Notes:
https://github.com/apache/dolphinscheduler/releases/tag/3.4.0

Documentation Updates

  1. Released and improved the Apache DolphinScheduler 3.3.2 release notes documentation.
  2. Fixed documentation CI build issues, improving documentation publishing stability.
  3. Added documentation for Prometheus metrics authentication and its usage in Kubernetes environments.
  4. Updated documentation related to the introduction of transaction mechanisms in JdbcRegistry, ensuring consistency between documentation and actual behavior.

Acknowledgements

This release would not have been possible without the enthusiastic participation and support of the community.
Special thanks to @Gallardot, the Release Manager for 3.4.0, for ensuring a high-quality release process—from version control and builds to release candidate validation and final voting.

We also thank all contributors to this release (GitHub IDs, listed in no particular order):

Gallardot, njnu-seafish, det101, Mrhs121, EinsteinInIct, sanfeng-lhh, ruanwenjun, tusaryan, qiong-zhou, SbloodyS, kvermeulen, npofsi, CauliflowerEater, ChaoquanTao, dill21yu, sdhzwc, zhan7236, KwongHing, jmmc-tools, liunaijie

Thank you to everyone who contributed to Apache DolphinScheduler through PRs, issues, documentation, community discussions, and testing.
Your efforts continue to drive the evolution and prosperity of the DolphinScheduler community. New contributors are always welcome!

Top comments (0)