apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.3k stars 8.78k forks source link

When GlobalTransaction retry timeout. the global lock not released. #2166

Closed TinyZzh closed 4 years ago

TinyZzh commented 4 years ago

Ⅰ. Issue Description

Ⅱ. Describe what happened

If there is an exception, please attach the exception trace:

Just paste your stack trace here!

Ⅲ. Describe what you expected to happen

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

reproduce step:

  1. 设置 server.max.commit.retry.timeout=1。 不为 -1的任意值
  2. 让事务2027747546一直重试,并且重试失败. 如下图 image
  3. 当重试超时之后。事务被删除。但是Global lock未释放. image

Ⅴ. Anything else we need to know?

Ⅵ. Environment:

zjinlei commented 4 years ago

not a bug

yanjunhugit commented 4 years ago

I have the same problem

zjinlei commented 4 years ago

It is recommended to implement FailureHandler.java to quickly notify when rollback fails.

slievrly commented 4 years ago

@zjinlei I think here is a known bug.

zjinlei commented 4 years ago

@TinyZzh @yanjunhugit Welcome to submit a pr to fix, can refer to the solution of bug list NO.6. https://www.yuque.com/cgbcac/aoni5y/aqbm8o