codingapi / codingapi/tx-lcn

想咨询关于事务隔离级别的问题

オープン
#487 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
4.2k
フォーク
1.4k
PR マージ指標
30日以内にマージされた PR はありません

説明

目前项目使用LCN做分布式事务。有如下情况:
服务A作为分布式事务发起方,其在发起方法进行了事务操作后,调用了服务B的serviceX.method方法,serviceX.method在进行了服务B的事务操作后,调用了服务B的另一个类的serviceY.log方法,serviceY.log方法是声明了Propagation.REQUIRES_NEW的自治事务。
为了测试Propagation.REQUIRES_NEW,我在serviceX.method中,调用serviceY.log方法之后,使用1/0抛出0除异常。
最终的结果是:两个服务的数据库操作全部回滚了,包括serviceY.log的日志打印。
但是期望的结果以及理论上的结果,应该是serviceY.log是被commit的才对。
因此,比较疑惑,查询资料和看了视频之后,感觉应该是把serviceY.log也加入了Tx-manager的事务组,如果是这个原因,想问下是否有注解可以取消方法加入Tx-manager的事务组。
还请帮忙解答,非常感谢~

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start with serviceX.method and serviceY.log, then inspect how the LCN transaction manager handles Propagation.REQUIRES_NEW. Reproduce the nested call with the 1/0 failure and compare whether serviceY.log commits independently; a maintainer clarification is needed because no file or test is provided.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
backend, distributed-systems
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。