想咨询关于事务隔离级别的问题
- Langage dominant
- Java
- Étoiles
- 4.2k
- Forks
- 1.4k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
目前项目使用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的事务组。
还请帮忙解答,非常感谢~
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par serviceX.method et serviceY.log, puis examinez comment le LCN transaction manager gère Propagation.REQUIRES_NEW. Reproduisez l’appel imbriqué avec l’échec 1/0 et comparez si serviceY.log commite indépendamment ; une clarification du maintainer est nécessaire, car aucun fichier ni test n’est fourni.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- backend, distributed-systems
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100