Apache DolphinScheduler 2.0.3 发布,支持钉钉告警签名校验,数据源可从多个会话获取链接

今天,Apache DolphinScheduler 宣布 2.0.3 版本正式发布。本版本支持钉钉告警签名校验,以及数据源从多个会话获取链接。此外,2.0.3 还对缓存管理、补数时间、日志中的数据源密码显示等进行优化,并修复了若干关键Bug。

新增功能

钉钉告警支持加签名校验

2.0.3 支持通过签名方式实现钉钉机器人报警的功能。

钉钉的参数配置

  • Webhook

格式如下:https://oapi.dingtalk.com/robot/send?access_token=XXXXXX

  • Keyword

安全设置的自定义关键词

  • Secret

安全设置的加签

自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”中的人员收到该消息时,会有@消息提醒。设置为免打扰模式,会话仍然会有通知提醒,在首屏出现“有人@你”提示。

  • @Mobiles

被@人的手机号

  • @UserIds

被@人的用户userid

  • @All

是否@所有人

支持数据源从多个会话获取链接

此前,使用 JdbcDataSourceProvider.createOneSessionJdbcDataSource() 方法hive/impala 创建连接池设置了 MaximumPoolSize=1,但是调度任务中,如果 hive/impala 多任务同时运行,会出现 getConnection=null 的情况,SqlTask.prepareStatementAndBind() 方法会抛出空指针异常。

2.0.3 优化了这一点,支持数据源从多个会话获取链接。

优化

缓存管理优化,减少 Master 调度过程中的 DB 查询次数

由于主服务器调度进程,中会出现大量的数据库读操作,如 tenant、user、processDefinition 等,这一方面会给 DB 带来巨大压力,另一方面会减慢整个核心调度过程。

考虑到这部分业务数据是多读少写的场景,2.0.3 引入了缓存模块,主要作用于 Master 节点,将业务数据如租户、工作流定义等进行缓存,降低数据库查询压力,加快核心调度进程,详情可查看官网文档:https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/cache.html

补数时间区间从 “左闭右开” 改为 “左闭右闭”

此前,补数时间为“左闭右开”(startDate <= N < endDate),不利于用户理解。优化之后,部署时间区间改为“左闭右闭”。

对日志中的数据源密码进行加密显示

数据源中的密码进行加密,加强隐私保护。

Bug 修复

  • zkRoot 配置不起作用
  • 修复修改管理员账号的用户信息引起的错误
  • 增加删除工作流定义同时删除工作流实例
  • UDF 编辑文件夹对话框不能取消
  • 修复因为 netty 通讯没有失败重试,worker 和 master 通讯失败,导致工作流一直运行中的问题
  • 删除运行中的工作流,Master 会一直打印失败日志
  • 修复环境变量中选择 workerGroup 的问题
  • 修复依赖任务中告警设置不起作用的问题
  • 工作流历史版本查询信息出错
  • 解决高并发下任务日志输出影响性能的问题
  • sub_process 节点的全局参数未传递给关联的工作流任务
  • K8S 上 Master 任务登录时,查询日志无法显示内容
  • 进程定义列表中存在重复进程
  • 当流程实例 FailureStrategy.END 时任务失败,流程实例一直在运行
  • t_ds_resources 表中的“is_directory”字段在 PostgreSQL 数据库中出现类型错误
  • 修复 Oracle 的 JDBC 连接
  • Dag 中有禁止节点时,执行流程异常
  • querySimpleList 返回错误的项目代码

Release Note: https://github.com/apache/dolphinscheduler/releases/tag/2.0.3

下载地址: https://dolphinscheduler.apache.org/en-us/download/download.html

感谢贡献者

感谢社区 Contributor 对本版本的积极贡献,以下为 Contributor 名单,排名不分先后: