当前位置: 首页 > news >正文

Apache SeaTunnel 正式发布2.3.5版本,功能增强及多个Bug修复

经过两个月的筹备,我们在2.3.4版本基础上进行了新一轮的迭代,本次更新不仅修复了多个关键问题,还引入了若干重要功能增强和性能优化。

file

在此,我们先提前感谢社区成员的贡献和支持,如果你想升级最新的版本,快跟我们一起来看看这次更新的亮点吧!

Release Note:https://github.com/apache/seatunnel/releases/tag/2.3.5

下载地址:https://seatunnel.apache.org/download/

主要新功能

支持作业事件通知功能,在此基础上支持实时CDC数据数据延迟事件通知(https://github.com/apache/seatunnel/pull/6634) 用户可以自定义通知消息发送的目标端,这样一旦实时同步数据发延迟,用户就会收到消息。

文件类型的连接器,支持定义读取和写入时使用的字符编码,这在源端和目标端使用不同的字符编码时非常有用。

优化了Postgres CDC创建publication的逻辑,在这个优化之前,添加Postgres CDC的表时创建的publication的范围是ALL_TABLES,这会导致即使只同步少数的几张表也会创建一个针对所有表的发布,会造成PG WAL的无效增长。社区优化了publication的创建逻辑,只针对需要同步的表创建publication,这极大的减小了WAL增长的范围,提交了稳定性。

Zeta引擎支持设置任务的失败重试次数。之前Zeta引擎任务失败会自动重试3次,但有些场景下我们可能希望一但有错任务立即终止,由外部调度系统来进行重试。从2.3.5版本开始,用户可以通过在env中设置job.retry.times = 0来关闭自动重试。

关键Bugfix

Zeta引擎支持classloader cache功能,如果连接器已经加载到jvm中,Zeta引擎会缓存该classloader,下次再提交该种连接器对应的任务会使用缓存的classloader不再创建新的classloader,这种方式解决了提交大量任务时Zeta JVM metaspace内存增长的问题,解决了metaspace内存溢出的bug。

修复了SQL Transform精度丢失的问题,比如timestamp类型的字段可以保留之前的精度信息。

Bug fix

Core

  • [fix] 修复获取 SeaTunnel 空指针异常问题 (#6681)
  • [Hotfix] 解决默认表格问题 (#6352)
  • [Chore] 修正文件拼写错误 (#6606)
  • [BugFix][Spark-translation] 修复映射类型转换错误 (#6552)
  • [Hotfix] 修复 Spark 示例问题 (#6486)
  • [Hotfix] 解决编译错误 (#6463)

Transformer

  • [Fix][SQLTransform] 修复 SQL 转换中的精度丢失问题 (#6553)
  • [Bug] 修复 SQLTransform 中的负常量错误 (#6533)

Connectors

  • [Fix][Kafka-Sink] 修复 Kafka Sink端选项规则 (#6657)
  • [Hotfix] 修复 HTTP 源无法正确读取 'yyyy-MM-dd HH:mm:ss' 格式并优化日期时间工具 (#6601)
  • [Bug] 修复 OrcWriteStrategy/ParquetWriteStrategy 在 Kerberos 登录时的问题 (#6472)
  • [Fix][Doc] 修正 FTP Sink端配置中的 'username' 键为 'user' (#6627)
  • [E2E] 修复 Amazon DynamoDB 集成测试的不稳定问题 (#6640)
  • [Fix][Connector-V2] 当分区已存在时修正添加 Hive 分区的错误 (#6577)
  • [Fix][Connector-V2] 修正 Doris/StarRocks 创建表 SQL 解析错误 (#6580)
  • [Fix][Connector-V2] 修复 Doris Sink端在流加载未读取任何数据时不能关闭的问题 (#6570)
  • [Fix][Connector-V2] 修复连接器支持 SPI 但缺少无参构造器的问题 (#6551)
  • [Fix][Connector-V2] 修复 Doris 源选择字段丢失主键信息 (#6339)
  • [Fix][FakeSource] 修复模板随机生成不包含最新值的问题 (#6438)
  • [Fix][Connector-V2] 修复 MongoDB CDC 启动模式选项值错误 (#6338)
  • [BugFix][Connector-file-sftp] 修复 SFTPInputStream.close 未正确触发文件流关闭的问题 (#6323) (#6329)
  • [Fix] 修复 Doris 流加载失败未报告错误的问题 (#6315)
  • [fix][connector-rocketmq] 修复当 checkpoint.interval 设置过小导致的空指针异常问题 (#6624)
  • [Bugfix][TDengine] 修复因多次调用提交作业 REST API 导致驱动丢失的问题 #6581 (#6596)
  • [Fix][StarRocks] 修复上游 catalogtable 表路径仅有表名部分时的空指针异常 (#6540)

Formats

  • [Bug] [formats] 修复内容包含文件分隔符时无法解析行的问题 (#6589)

Zeta(ST-Engine)

  • [Hotfix] 修复 HTTP 源无法正确读取 'yyyy-MM-dd HH:mm:ss' 格式并优化日期时间工具 (#6601)
  • [Fix][Zeta] 修复因保存点检查机制引起的线程卡死问题 (#6568)
  • [Fix][Zeta] 改进本地模式下的 Hazelcast 连接 (#6521)
  • [Fix][Zeta] 修复在使用缓存模式时线程类加载器被设置为 null 的问题 (#6509)
  • [Bug] [zeta] 修复提交作业时的空指针异常 (#6492)
  • [bugfix] [Zeta] 修复使用 REST API 提交作业时类加载器未释放的问题
  • [BUG][Zeta] 工作名称显示错误 #6470
  • [Hotfix][Zeta] 修复模式变更时的作业死锁 (#6389)

E2E

  • [E2E] 启用 StarRocksCDCSinkIT (#6626)

Improve

  • [Doc][Improve] 增加 seatunnel-engine 中文支持 (#6656)
  • [Doc][Improve] 为 start-v2/locally/quick-start-flink.md 和 start-v2/locally/quick-start-spark.md 增加中文支持 (#6412)
  • [Improve] 为 IDEA 添加图标 (#6394)
  • [Improve] 为 ReadonlyConfig::toConfig 添加过时注释 (#6353)
  • [Improve][RestAPI] 调用 getJobInfoById API 时始终返回 jobId (#6422)
  • [Improve][RestAPI] 当作业完成时返回已完成的作业信息 (#6576)
  • [Improve] 提升 MultiTableSinkWriter 准备提交性能 (#6495)
  • [Improve] 增加保存模式的处理细节日志 (#6375)
  • [Improve][API] 统一数据和类型系统 API (#5872)
  • [Improve] 优化使用 Parquet 读取时的类型转换错误 (#6683)
  • [Improve][Connector-V2] 支持 Redis 的多表汇出功能 (#6314)
  • [Improve][Connector-V2] 优化 Oracle CDC 端到端测试 (#6232)
  • [Improve][Connector-V2] 支持 HTTP Sink端的多表功能 (#6316)
  • [Improve][Connector-V2] 支持 INFINI Easysearch (#5933)
  • [Improve][Connector-V2] 支持 Hadoop HA 和 Kerberos 的 Paimon Sink端 (#6585)
  • [Improve][CDC-Connector] 修复 CDC 选项规则 (#6454)
  • [Improve][CDC] 优化快照分割读取时的内存分配 (#6281)
  • [Improve][Connector-V2] 在 StarRocks 上支持 TableSourceFactory (#6498)
  • [Improve][Jdbc] 使用 varchar2 数据类型在 Oracle 中存储字符串 (#6392)
  • [Improve] StarRocksSourceReader 使用现有客户端 (#6480)
  • [Improve][JDBC] 优化获取 JDBC 字段类型的代码风格 (#6583)
  • [Improve][Connector-V2] 增加 ElasticSearch 类型转换器 (#6546)
  • [Improve][Connector-V2] 支持使用架构配置读取 ORC 并进行类型转换 (#6531)
  • [Improve][Jdbc] 支持大门数据库的自定义大小写敏感配置 (#6510)
  • [Improve][Jdbc] 自动创建表时增加类型转换器 (#6617)
  • [Improve][CDC] 优化增量阶段的分割状态内存分配 (#6554)
  • [Improve][CDC] 优化记录中不包含架构字段时的读取性能 (#6571)
  • [Improve][Jdbc] 为 SQL 添加引用标识符 (#6669)
  • [Improve] 在 SelectDB 云Sink端禁用 2PC (#6266)
  • [Doc][Improve] 为 Kafka 连接器增加 Kerberos 认证支持 #6653

CI

  • [CI] 修复 CI 配置文件中仓库名称的错误 (#4795)

Zeta(ST-Engine)

  • [Improve][Zeta] 增加类加载器缓存模式以修复元空间泄漏 (#6355)
  • [Improve][Test] 修复 ResourceManager 和 EventReport 模块测试不稳定的问题 (#6620)
  • [Improve][Test] 代码合并到开发分支时运行所有测试 (#6609)
  • [Improve][Test] 使类加载器缓存测试更稳定 (#6597)
  • [Improve][Zeta][storage] 更新 HDFS 配置,支持更多参数 (#6547)
  • [Improve][Zeta] 优化 RestHttpGetCommandProcessor#getSeaTunnelServer() 的逻辑 (#6666)

Transformer

  • [Improve][Transform] Sql transform 支持内部结构查询 (#6484)
  • [Improve][Transform] 解析转换过程中移除后备操作 (#6644)
  • [Improve][Transform] 移除找不到字段的异常 (#6691)

Feature

  • [Feature][Tool] 增加连接器检查脚本,解决问题 #6199 (#6635)
  • [Feature][Core] 支持在 CDC 源监听消息延迟事件 (#6634)
  • [Feature][Core] 支持作业事件监听 (#6419)
  • [Feature][connector-v2] 添加 XuguDB 连接器 (#6561)
  • [Feature][Connector-V2] 支持 Paimon 的多表汇出功能 #5652 (#6449)
  • [Feature][Connectors-V2][File] 支持为文件源/Sink端指定编码 (#6489)
  • [Feature][Connector] 更新 PgSQL-CDC 发布以添加表 (#6309)
  • [Feature][Paimon] 支持指定 Paimon 表写入属性、分区键和主键 (#6535)
  • [Feature][Feature] 支持 Doris DateTimeV2 类型的 (#6358)
  • [Feature][Feature] 支持 SelectDB DateTimeV2 类型的 (#6332)
  • [Feature][Feature] 支持 Iceberg Sink连接器 #6198 (#6265)

Zeta(ST-Engine)

  • [Zeta] 支持在作业配置中设置作业重试次数 (#6690)

Docs

  • [Docs] 修复 kafka 格式的拼写错误 (#6633)
  • [Fix][Doc] 修正一些文档中的链接 (#6673)
  • [Fix][Doc] 修正一些拼写错误 (#6628)
  • [Fix][Doc] 修正 StarRocks Sink端文档中的排版错误 (#6579)
  • [Hotfix][Doc][Chinese] 修复关于配置日志相关参数的无效链接 (#6442)
  • [Fix][Doc] 修正 Seatunnel Engine/checkpoint-storage.md 文档错误 (#6369)

贡献者名单

感谢所有为2.3.5版本做出贡献的社区成员,包括代码贡献者、文档撰写者和测试人员。Apache SeaTunnel的成功离不开每一个人的努力!

JetiaimeLeonYoahTyrantLucifer
ponxuEricJoy2048sunxiaojian
xiaochen-zhouCosmosNilightzhao
baicieHisoka-Xgitfortian
hailin0ruanwenjunshangeyao
corgy-wliunaijiedailai
taohaozhi1129LeonYoahnianhua99
xxzuoYalikWang

本文由 白鲸开源科技 提供发布支持!

相关文章:

Apache SeaTunnel 正式发布2.3.5版本,功能增强及多个Bug修复

经过两个月的筹备,我们在2.3.4版本基础上进行了新一轮的迭代,本次更新不仅修复了多个关键问题,还引入了若干重要功能增强和性能优化。 在此,我们先提前感谢社区成员的贡献和支持,如果你想升级最新的版本,快…...

interview_bak

flink内存管理 JVM 存在的几个问题: Java 对象存储密度低。一个只包含 boolean 属性的对象占用了16个字节内存:对象头占了8个,boolean 属性占了1个,对齐填充占了7个。而实际上只需要一个bit(1/8字节)就够了。Full GC 会极大地影响性能,尤其是为了处理更大数据而开了很大…...

layui 数据表格 自动定位新增行位置

由于数据表格新增行后没有到新增到当前位置 继续增加的需求: 因为自己是新增行后到最后一行的 所以 就定位到最后一行 并且 高亮 高亮颜色浅 可自行更改 整理了一下 可根据 情况 修改 // 初始化滚动条位置变量 let tableScroll {scrollTob: 0,scrollLeft: 0,…...

window10下安装ubuntu系统以及docker使用

window10下安装ubuntu系统以及docker使用 1. 启用适用于Linux的Windwos子系统2.下载Linux内核更新包3.将 WSL 2 设置为默认版本4.安装Ubuntu<br />直接去Microsoft store里面直接搜索Ubuntu进行安装。5.可能出现的问题1.win10启动ubuntu报错 参考的对象类型不支持尝试的操…...

Netty核心组件介绍

Netty是一款用于创建高性能网络应用程序的高级框架。Netty的核心组件如下&#xff1a; Channel回调Future事件和ChannelHander Channel channel是Java NIO的一个基本构造。可以把Channel看作是传入或传出数据的载体。它可以被打开或关闭&#xff0c;连接或断开连接。 回调 …...

代码审计平台sonarqube的安装及使用

docker搭建代码审计平台sonarqube 一、代码审计关注的质量指标二、静态分析技术分类三、使用sonarqube的目的四、sonarqube流程五、docker快速搭建sonarqube六、sonarqube scanner的安装和使用七、sonarqube对maven项目进行分析八、sonarqube分析报告解析九、代码扫描规则定制十…...

C++ 使用nlohmann/json.hpp库读写json字符串

1. json库 我个人比较喜欢 nlohmann/json.hpp 这个库&#xff0c;因为它只需要一个hpp文件即可&#xff0c;足够轻量&#xff01; 这是它的github地址。 2. 简单实例代码 #include <iostream> #include <json.hpp> #include <fstream> #include <stri…...

3GPP官网下载协议步骤

1.打开官网 https://www.3gpp.org/ 2.点击 3.在界面选择要找的series&#xff0c;跳转到查找界面 以V2X通信协议为例&#xff0c;论文中通常会看到许多应用&#xff1a; [7] “Study on evaluation methodology of new Vehicle-to-Everything (V2X) use cases for LTE and NR…...

【JAVA】Git 的基本概念和使用方式

Git是一个开源的分布式版本控制系统&#xff0c;由Linus Torvalds创建&#xff0c;用于有效、高速地处理从小到大的项目版本管理。以下是Git的一些基本概念和使用方式的深入探讨&#xff1a; 基本概念 1. 仓库&#xff08;Repository&#xff09; 仓库是Git用来保存你的项目…...

C++多态实现原理详解

阅读引言&#xff1a; 我想象了一下&#xff0c; 假如人有突然问我什么是多态&#xff0c; 我该如何给别人说清楚呢&#xff1f;所以写下这篇文章&#xff0c; 希望大家看完有所收获。 ①. 开胃小菜 先看这样一个开胃小菜 这里我有点小小的疑惑&#xff0c; 大小为啥是1。 在C…...

[数据集][目标检测]交通灯检测数据集VOC+YOLO格式2600张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2600 标注数量(xml文件个数)&#xff1a;2600 标注数量(txt文件个数)&#xff1a;2600 标注…...

关于测试用例

目录 一 测试用例介绍 二 写用例的好处 三 不适合写用例的情况 一 测试用例介绍 测试用例由测试来写&#xff0c;编写时间在需求评审和设计评审&#xff08;如有&#xff09;结束后&#xff0c;需求提测前&#xff0c;用例依赖需求文档来编写。一般包含用例标题&#xff0c…...

一起长锈:3 类型安全的Rust宏(从Java与C++转Rust之旅)

讲动人的故事,写懂人的代码 故事梗概:在她所维护的老旧Java系统即将被淘汰的危机边缘,这位在编程中总想快速完事的女程序员,希望能转岗到公司内部使用Rust语言的新项目组,因此开始自学Rust;然而,在掌握了Rust编程知识之后,为了通过Rust项目组的技术面试,使得转岗成功而…...

《金融研究》:普惠金融改革试验区DID工具变量数据(2012-2023年)

数据简介&#xff1a;本数据集包括普惠金融改革试验区和普惠金融服务乡村振兴改革试验区两类。 其中&#xff0c;河南兰考、浙江宁波、福建龙岩和宁德、江西赣州和吉安、陕西铜川五省七地为普惠金融改革试验区。山东临沂、浙江丽水、四川成都三地设立的是普惠金融服务乡村振兴…...

Prompt|Kimi高阶技巧,99%的人都不知道

大家好&#xff0c;我是无界生长。 今天分享一条咒语&#xff0c;轻松让Kimi帮你生成流程图&#xff0c;学会了的话&#xff0c;点赞收藏起来吧&#xff01; 效果展示 我们演示一下让kimi帮忙绘制 关注微信公众号“无界生长”的流程图&#xff0c;最终效果图如下所示 效果还不…...

采购管理软件:采购自动化提高效率的5种方式

在采购领域&#xff0c;手动数据输入和耗时的文书工作的时代已经落后了。采购自动化正在改变游戏规则&#xff0c;使企业能够简化流程、降低成本并提高效率。 以下是采购自动化帮助企业提高效率的5种方法。 采购管理软件,采购自动化管理,8Manage SRM,高亚科技 减少手动流程和…...

Android App开机启动

清单文件 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><uses-permission android:name"andro…...

服务器直连电脑(盒子直连电脑)电脑需要设置为固定ip才能访问盒子

文章目录 现象盒子设置为固定ip&#xff0c;pc设置成固定ip&#xff08;以太网网卡&#xff0c;realtak那个&#xff0c;不是tap-windows那个&#xff0c;tap-windows不用管&#xff09;&#xff0c;在pc上用ip搜索工具搜索&#xff0c;可以搜到盒子ip。盒子设置为固定ip&#…...

【设计模式】之代理模式(两种)

系列文章目录 &#xff08;其他设计模式可以参考 &#x1f449;&#x1f449;&#x1f449;&#xff09;设计模式_小杰不秃头的博客 &#x1f60a;&#x1f604;&#x1f61b; 前言 今天继续给大家介绍23种设计模式中的代理模式&#xff0c;熟悉Spring的小伙伴都知道&#xf…...

【工具篇】-什么是.NET

“.NET"&#xff1a;.NET Core是由Microsoft开发&#xff0c;目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C编写的&#xff0c;并采用MIT协议作为开源协议。 简单来说&#xff1a;就是开发框架。 .NET 又称 .NET 平台或 .NET 框架&#xf…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...