codingapi / codingapi/tx-lcn

5.0.2 A->B->C,如果B应用执行时间超过1秒,就直接异常了。如何修改这个最大等待时间?

Ouverte
#564 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
4.2k
Forks
1.4k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

根据官方文档下载的LCN demo正常执行没问题,但是一旦 A->B->C ,比如说B自己业务执行时间超过了1秒(用Thead.sleep(3000L)模拟,就会报错
TxManagerException: attempts to join the non-existent transaction group.

怀疑是TC的最大等待时间是1秒,阅读了源码发现也确实如此。因此想把tm-rpc-timeout 调大一点,
看了官方文档,TC中加tx-lcn.client.tm-rpc-timeout= 就可以,但是加了之后报错,发现 TxClientConfig 中的属性是私有的,所以请求应该如果调大这个参数呢?

ps:我也设法在TM中调参数,可是发现TM中是固定写死了1秒,也没办法解决。

还是说是我下载的版本环境问题?大家有遇到过用分布式锁事务的时候,当业务执行时间较长时的解决方案

Guide de contribution

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

Piste de recherche

Reproduire la démo LCN 5.0.2 avec un appel A→B→C et Thread.sleep(3000L), puis examiner TxClientConfig et le traitement de tm-rpc-timeout par TC/TM. Déterminer pourquoi le paramètre documenté est rejeté ou ignoré et vérifier qu’un délai d’expiration plus long empêche l’exception de groupe de transactions inexistant.

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

Évaluation

Stack technique
java
Domaine
distributed-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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