apache / apache/incubator-seata

When the TC service is unavailable, I hope that Seata will provide a downgrade option to prioritize the availability of the business and temporarily abandon the consistency of the business data.

Open
#1,238 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
26k
Forks
8.8k
Avg merge
1d 8h
Merged PRs (30d)
4

Description

Why we need it?
在我们的业务场景中,有对全局数据和业务一致性的要求,预计接入Seata解决一致性问题;
具体场景是:业务中比较重要的需要保证强一致的数据采用本地DB事物保证,额外的事物中数据需要与之保持全局一致,但是这部分数据或者业务流可以接受降级(暂时的全局不一致),优先保证业务可用性,当前Seata方案在TC不可用时会直接导致业务异常,希望能提供相应的解决方案;

How it could be?
业务中在开启全局事物注解时希望提供选项或者时间范围决定是否接受降级,TC能根据选项自动降级处理:
选项开,表示接受降级,当TC不可用时,业务流正常走,不抛异常;
选项关,表示不接受降级,当TC不可用时,业务流抛异常;

Other related information

image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the global transaction annotation and the behavior when the TC service is unavailable. Define how an opt-in downgrade setting or time range should let the business flow continue without an exception, while the opt-out path still fails; the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.