← All tasks
javaapache/incubator-seata #8095Not a task: already works

AT模式中,构造afterImage时,多次查询了TableMata,但是未做缓存

envgap__apache__incubator-seata-8095

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
40691a64d6a59d3c003792c3ccb3ee2e4e7f8898
Manifest
dependencies/pom.xml
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

apache/incubator-seata #8095 · read the original issue
### Check Ahead

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

- [x] I am willing to try to fix this bug myself.


### Ⅰ. Issue Description

<img width="824" height="571" alt="Image" src="https://github.com/user-attachments/assets/1b188748-ccf3-4587-8784-322218efe3d5" />
我在AT模式中遇到AT模式性能问题,每个sql进行更新或插入操作时,构造undolog时,都会去获取tableMata,但是,获取tableMata前会先或tableName,当tableMata有缓存时,这里为什么要先获取tableName再去判断是否有tableMata,而不是直接判断tableMata != null ?

### Ⅱ. Describe what happened

_No response_

### Ⅲ. Describe what you expected to happen

这样会导致当有tableMata时,会先获取tableName,再判断是否为空。平白浪费时间。我测试发现获取tableName也挺耗时的

### Ⅳ. How to reproduce it (as minimally and precisely as possible)

_No response_

### Ⅴ. Anything else we need to know?

_No response_

### Ⅵ. Environment

_No response_
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]