天天看点

Seata 1.4.0 重磅发布

Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。

欢迎已使用用户在此链接登记便于我们更好的针对业务场景优化:

https://github.com/seata/seata/issues/1246

此版本梳理了大部分用户反馈的 bug,对沉积的大部分问题进行了修复,XA部分修复尤其多。同时增加了鉴权、负载均衡、yml配置文件支持、注册配置中心属性、db字段类型、序列化、事务默认超时、事务重试和 GlobalLock等特性支持。

此次 release 修改文件数:348,最终代码变动:+8,844 −3,219 ,参与代码 commit 人数:27,合并pr数:84,其中:feature:13,bugfix:39,代码优化重构:32。

此版本的详细更新如下:

feature:

[#2380] 支持yml配置文件

[#3191] 支持oracle nclob类型

[#2676] 支持客户端最少的活动负载均衡

[#2080] 支持客户端一致性哈希的负载均衡

[#3198] 支持Spring Boot 使用自定义配置中心和注册中心

[#2806] 支持配置默认全局事务超时时间

[#2941] 支持apollo密钥key配置

[#2950] 支持redis存储模式可重入锁

[#2913] 支持配置AT或XA事务模式的数据源代理

[#2856] 支持undo_log 使用 fst 序列化

[#3076] 支持 GlobalLock 锁重试

[#2825] 支持客户端发送鉴权信息

[#2962] 支持在 @GlobalTransactional和@GlobalLock 注解上锁的重试配置

bugfix:

[#3214] 修复在某些情况下'RootContext.DEFAULT_BRANCH_TYPE' 的取值错误的问题

[#3129] 修复禁止执行更新主键值的SQL

[#3205] 修复在配置中获取boolean类型配置异常

[#3170] 修复Disposable 同优先级的无法执行的问题

[#3180] 修复fst序列化包名错误

[#3178] 修复sqlparser 换行替换为空格问题

[#2929] 修复将应用配置为在启动时降级但在运行中无法升级问题

[#3050] 修复update和delete不支持order,limit语法问题

[#2935] 修复了Saga Designer在切换节点时属性框不会切换的问题

[#3140] 修复Propagation.REQUIRES_NEW无效的问题

[#3130] 修复数据源多重代理和使用非代理类方法的问题

[#3148] 修复 Redis 存储模式下lock和session存储时key冲突问题

[#3136] 修复Redis pipeline执行报错问题

[#2551] 修复当使用AT数据源代理时Saga事务模式无法使用的问题

[#3073] 修复在没有xid的情况下使用XA模式的问题

[#3074] 修复若XA模式找不到 xid 重试问题

[#3097] 修复HttpAutoConfiguration只在springboot web项目中启动

[#3071] 修复XA 模式中无法获取真实连接的问题

[#3056] 修复了删除分支后仍然存在分支锁的错误

[#3025] 修复错误的包装路径问题

[#3031] 修复 redis 存储模式锁删除锁不完整问题

[#2973] 修复oracle数据库 where in 超过1000的问题

[#2986] 修复 checkstyle插件无法排除单个文件的问题

[#2910] 修复错误的注释

[#2914] 修复TCC模式下,调用方未清除branchType的问题

[#2926] 修复 fastjson 序列化不记录类名的问题

[#2897] 修复Jedis删除锁失败的问题

[#2918] 修复 AT 模式下回滚时的未加锁的问题

[#2972] 修复UUIDGenerator高并发下生成重复的id问题

[#2932] 修复nacos-config.py 不支持namespace 问题

[#2900] 修复数据库转义符问题

[#2904] 修复getConfig配置不存在获取到null的问题

[#2890] 修复statelang示例中的拼写错误

[#3040] 修复 autocommit=false时的重复提交问题

[#3230] 修复使用@EnableAutoDataSourceProxy启动失败问题

[#2979] 修复与sharedjdbc集成postgresql 无法获取元数据问题

[#3233] 修复Collections空指针异常

[#3242] 修复批处理SQL获取TableMeta错误问题

optimize:

[#3201] 修复异常时报错堆栈显示不全的问题

[#3062] 重构Redis存储模式下session的存储结构

[#3117] 优化日志输出以及清除无用代码

[#3134] 优化Map 和 List 相关写法

[#3195] 优化 XID 相关的代码写法

[#3200] 优化 rpc 日志提示

[#3186] 移除 StringUtils 的重复代码

[#3162] 删除重复的代码

[#2969] 升级druid的依赖到1.1.23

[#3141] 升级Nacos和FastJSON的依赖版本

[#3118] 添加additional-spring-configuration-metadata.json 配置提示信息

[#2597] 优化web拦截器中的xid状态避免重复处理

[#3102] 优化ContextCore 接口可设置非 String 类型的值

[#3016] 重构 Redis 存储模式下 的lock的存储结构

[#3046] 删除SerializerFactory类

[#3053] 支持 TC端jedis连接池最大数量配置

[#3012] 移除重复设置端口的代码

[#2978] 优化AT和TCC 事务模式混用时,AT模式可异步提交

[#2967] 优化代码为lambda风格

[#2968] 优化在RM客户端初始化后发送注册消息

[#2945] 优化DB存储模式异步提交,减少更新操作

[#2952] 支持 additional-spring-configuration-metadata.json配置提示信息

[#2920] 修正 README.md 中的单词和语法错误

[#3222] 优化fileListener的CPU利用率

[#2843] 移除 redis和db 存储模式的中移除接口Reloadable 和 重构 reload`方法

[#3209] 新增使用用户 logo 信息

非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。

slievrly

wangliang1986

a364176773

jsbxyyx

l81893521

lightClouds917

caohdgege

yujianfei1986

ph3636

PeineLiang

heyaping388

guang384

zdrjson

ITAlexSun

dongzl

81519434

wangwei-yin

jujinghao

JRial95

mxszs1

RayneHwang

everyhook1

li469791221

luorenjin

yangxb2010000

selfishlover

yyjgit66

同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。

常用链接:

Seata:

https://github.com/seata/seata

Samples:

https://github.com/seata/seata-samples

Release:

https://github.com/seata/seata/releases

官网:

https://seata.io