Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
Seata 1.4.0 更新日志
此版本梳理了大部分用户反馈的 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错误问题
- [#3246] 修复当limit condition包含VariantRefExpr时候的异常
optimize:
- [#3062] 重构redis会话存储
- [#3201] 修复异常时报错堆栈显示不全的问题
- [#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 中的单词和语法错误
- [#2906] 添加了一些配置项以与官方文档保持一致
- [#3222] 优化fileListener的CPU利用率
- [#2843] 移除 redis和db 存储模式的中移除接口Reloadable 和 重构 reload`方法
- [#3209] 新增使用用户 logo 信息