apache/incubator-seata

用户不分服务,操作同库,导致XA、AT模式下使用的异常情况

Open

#5,502 opened on Apr 10, 2023

View on GitHub
 (3 comments) (0 reactions) (1 assignee)Java (25,960 stars) (8,878 forks)batch import
good first issuetask: help-wanted

Description

  • I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description

如果用户不分服务,操作同库,jdbcurl相同,导致通过resourceId获取数据源错误,获取不到链接,二阶段下发commit/rollback报错xaer_nota错误;#5034,虽然这个pr在一阶段hold了所有链接,如果在oracle同库不同用户下,在一阶段完成后,二阶段服务重启,导致holder没值,可能会造成ORA-24774问题

所以我认为resourceId可能得唯一,才能根本上解决问题

由于我对AT模式代码不太熟悉,这里就暂且不讨论了。

Ⅱ. 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)

  1. xxx
  2. xxx
  3. xxx

Minimal yet complete reproducer code (or URL to code):

Ⅴ. Anything else we need to know?

Ⅵ. Environment:

  • JDK version(e.g. java -version):
  • Seata client/server version:
  • Database version:
  • OS(e.g. uname -a):
  • Others:

Contributor guide