dromara / dromara/hmily

A 调用 B,B系统接收到A的请求正在执行,此时A系统宕机,后续事物没有cancel

Open
#342 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
4.2k
Forks
1.4k
PR merge metrics
No merged PRs in 30d

Description

## Describe the bug

A 调用 B,B系统接收到A的请求正在执行,此时A系统宕机,后续A系统恢复运行,A B事物都没有进行cancel,也没有confirm。

下面是mysql中存储的事务日志:

发起者:
| **trans_id** | ** app_name** | **status** | **trans_type** | **retry** | **version** | **create_time** | **update_time** |
| --- | --- | --- | --- | --- | --- | --- | --- |
| -4.18837E+18 | mid-trade | 0 | TCC | 0 | 1 | ######## | ######## |

参与者:
| **participant_id** | **participant_ref_id** | **trans_id** | **trans_type** | **status** | **app_name** | **`role`** | **retry** | **target_class** | **target_method** | **confirm_method** | **cancel_method** | **confirm_invocation** | **cancel_invocation** | **version** | **create_time** | **update_time** |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| -4.18837E+18 | | -4.188E+18 | TCC | 0 | mid-trade | 1 | 0 | xx | applyPay | applyPayConfirm | applyPayCancel | xx | xx | 1 | | |
| -4.18837E+18 | | -4.188E+18 | TCC | 8 | mid-account | 3 | 11 | xx | trade | tradeConfirm | tradeCancel | xx | xx | 12 | | |

## Environment

- hmily version(s): [ 2.1.1 ]

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the A-to-B request failure described for Hmily 2.1.1 and inspect the MySQL transaction and participant logs shown in the issue. Trace the applyPay/trade transaction after A recovers, then verify that the transaction reaches the expected cancel or confirm terminal state; the issue does not name source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, mysql
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.