事务超时,发起方服务没有清理事务(clean transaction)的过程
- 主要言語
- Java
- スター
- 4.2k
- フォーク
- 1.4k
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
- 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
(不知道是不是bug,先请谅解)
服务A、B,A发起事务调用B。
测试A服务和B服务超时后事务的控制过程(通过断点实现,模拟业务处理时间过长造成整体事务超时),发现发起方A服务的事务没有清理(clean transaction)的过程,导致A服务锁表。参与方B服务有clean transaction的过程。
如下是参与方设置断点导致整体事务超时的事务过程:

如下是发起方设置断点导致整体事务超时的事务过程:

### 2. Environment:
- JDK version: 1.8
- OS: win7
- TX-LCN version: 5.0.1
- Others: Oracle 数据库
### 3. Exception Stacktrace
```
Paste your Exception Stacktrace here!
```
### 4. Tour Idea
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、説明されているブレークポイントベースの遅延を使ってサービス A と B の間のタイムアウトフローを再現し、その後、スクリーンショットに示されているイニシエーターと参加者のトランザクションのクリーンアップシーケンスを比較します。イニシエーターがトランザクションを保持してテーブルをロックする理由を追跡します。完了とは、全体のトランザクションがタイムアウトした後にイニシエーターがクリーンアップを実行し、ロックを残さないことです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- databases, distributed-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100