codingapi / codingapi/tx-lcn

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

Offen
#564 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
4.2k
Forks
1.4k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

根据官方文档下载的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秒,也没办法解决。

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Reproduce the LCN 5.0.2 demo with an A→B→C call and Thread.sleep(3000L), then inspect TxClientConfig and the TC/TM handling of tm-rpc-timeout. Determine why the documented setting is rejected or ignored and verify that a longer timeout prevents the non-existent transaction group exception.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
distributed-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.