codingapi / codingapi/tx-lcn

当两个服务操作相同表的相同id数据时,会报错无法加入一个不存在的分布式事务

Ouverte
#349 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Java
Étoiles
4.2k
Forks
1.4k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

- [ ] I have searched the [issues](https://github.com/codingapi/tx-lcn/issues) of this repository and believe that this is not a duplicate.

### 1. Bug Description
1.服务A和服务B均操作相同表的同一条数据(必须是同一条数据,非常规操作),进行更新操作。
2.调用链为服务A->服务B,服务A注解为TXC,服务B为TXC,服务A为事务开始服务。
3.连续多次请求时,服务B固定报错attempts to join the non-existent transaction group,且group id相同。或产生 Error updating database. Cause: java.sql.SQLException: resource is locked! place try again later.异常。
4.此bug会引起数据一致性问题。

### 2. Environment:
- JDK version:1.8.1_181
- OS:windows
- TX-LCN version:5.0.2.RELEASE
- Others:null

### 3. Exception Stacktrace

```
Paste your Exception Stacktrace here!
```

### 4. Tour Idea

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Aucun fichier source, test ou point d’entrée n’est indiqué, et aucune trace de pile n’est fournie. Commencez par reproduire le scénario répété de mise à jour de service-A vers service-B sur TX-LCN 5.0.2.RELEASE, puis suivez le cycle de vie du groupe de transactions et les verrous de la base de données autour de la ligne partagée. Le travail est terminé lorsque les appels ne rejoignent plus un groupe inexistant et n’échouent plus à cause d’une ressource verrouillée, tout en maintenant la cohérence des données.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
databases, distributed-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.