incubator-seata
incubator-seata copied to clipboard
:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
- [ ] I have registered the PR [changes](../changes). ### Ⅰ. Describe what this PR did fix the issue of readonly branch commit errors in Oracle XA transactions, which leads...
Fix stack overflow issue. - [ ] I have registered the PR [changes](../changes). ### Ⅰ. Describe what this PR did ### Ⅱ. Does this pull request fix one issue? ###...
问题1: seata1.3.0客户端一定要配置 seata.service.grouplist.seata-server=xx.xx.xx.xx:8091 问题在于 seata集群以后这个位置应该怎么填写。 问题2: seata1.1.0之后客户端已经支持用yaml文件替代xx.cong文件。可是配置了yaml后还是报错。
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate. ### Ⅰ. Issue Description global_table 2分10s延迟删除太慢了,在高并发下,这张表数据太多了,有啥优化方案吗? 除了调低这个130s的参数,还有其他方案吗? 如果等它低频的时候删除完毕,我很担心在高频的时候随着global_table的堆积,影响tps,浪费数据库磁盘空间 参考图:  ###...
回滚是正常的,但是最后return返回信息的时候触发了TransactionalTemplate的commitTransaction方法,由于手动回滚了,所以是Finished状态。但他的进程并不会终止? ` @Override @GlobalTransactional(name = "global-create-order", rollbackFor = Exception.class) public ResultData createOrder(Order order) { Integer result = orderMapper.insert(order); if (result > 0) { ResultData stoResultData = storageApi.decrease(order.getProductId(), order.getCount()); ResultData accResultData...
问题如下: seata(1.30和1.42版本都有)安装配置工作正常后,经测试发现,mybatis-plus 的 BaseMapper 类里的 insert 方法,如果在插入数据时,不指定主键id,会导致插入的数据无法回滚。同时更新的数据是能正常回滚的。 具体测试类看下图的那行注释: ` public void insertOrder(int userId, int goodsId, String goods, int count) { GoodsOrder goodsOrder = new GoodsOrder(); // goodsOrder.setId(101); // 必须指定主键id,否则插入的记录不能回滚 goodsOrder.setUserId(userId);...
### Background: At present, the practice of Seata framework is mainly based on the single client mode. In this mode, service discovery, serialization, compression and other functions exist in the...
发现存在问题的seata版本有2.0.0和1.8.0 同一个全局事务中,不同的分支事务操作同一条记录,锁重入后,lockDOs因lock_table.row_key中表名大小写问题去重失败,导致分支事务报LockWaitTimeoutException: Global lock wait timeout,LockConflictException: get global lock fail, xid,server端报Global lock acquire failed; 原因是:AbstractLocker中protected String getRowKey(String resourceId, String tableName, String pk) { return new StringBuilder().append(resourceId).append(LOCK_SPLIT).append(tableName).append(LOCK_SPLIT).append(pk) .toString(); }的表名应该是来自与sql语句,sql语句中的表名大小写决定了rowKey中表名的大小写;导致如果同一个全局事务中不同分支事务间修改同一条记录时表名有的大写有的小写,导致 LockStoreDataBaseDAO中 //...
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate. ### Ⅰ. Issue Description 2.0.0 /ext/apm-seata-skywalking-plugin在实现interceptor时,入参类型转换异常 ### Ⅱ. Describe what happened...