This is an automated email from the ASF dual-hosted git repository.

jimin pushed a commit to branch docusaurus
in repository https://gitbox.apache.org/repos/asf/incubator-seata-website.git


The following commit(s) were added to refs/heads/docusaurus by this push:
     new a3b15ba7b95 doc: add console realted doc (#967)
a3b15ba7b95 is described below

commit a3b15ba7b9573285d61ce34b5a25bed427c461c2
Author: Jingliu <928124...@qq.com>
AuthorDate: Fri May 2 02:04:43 2025 +0800

    doc: add console realted doc (#967)
---
 docs/user/console/introduction.md                  |   1 +
 docs/user/console/saga-designer.md                 |   1 +
 docs/user/console/transaction-control.md           |   1 +
 .../en/docusaurus-plugin-content-docs/current.json |   5 +-
 .../current/user/console/introduction.md           |  10 +
 .../current/user/console/saga-designer.md          |   8 +
 .../current/user/console/transaction-control.md    | 207 +++++++++++++++++++++
 .../docusaurus-plugin-content-docs/current.json    |   4 +
 .../current/user/console/introduction.md           |   9 +
 .../current/user/console/saga-designer.md          |   8 +
 .../current/user/console/transaction-control.md    | 207 +++++++++++++++++++++
 sidebars.js                                        |   9 +
 static/img/console/branch-trx-detail.png           | Bin 0 -> 366635 bytes
 static/img/console/branch-trx.png                  | Bin 0 -> 225900 bytes
 static/img/console/commit-or-rollback.png          | Bin 0 -> 140163 bytes
 static/img/console/del-branch-trx.png              | Bin 0 -> 111968 bytes
 static/img/console/del-global-lock.png             | Bin 0 -> 174205 bytes
 static/img/console/del-global-trx.png              | Bin 0 -> 135276 bytes
 static/img/console/force-del-branch-trx.png        | Bin 0 -> 108609 bytes
 static/img/console/force-del-global-trx.png        | Bin 0 -> 136926 bytes
 static/img/console/global-lock.png                 | Bin 0 -> 141006 bytes
 static/img/console/saga-designer.png               | Bin 0 -> 255242 bytes
 static/img/console/start-branch-trx.png            | Bin 0 -> 115266 bytes
 static/img/console/start-global-trx.png            | Bin 0 -> 132240 bytes
 static/img/console/stop-branch-trx.png             | Bin 0 -> 114731 bytes
 static/img/console/stop-global-trx-hint.png        | Bin 0 -> 230666 bytes
 static/img/console/stop-global-trx.png             | Bin 0 -> 133006 bytes
 static/img/console/update-global-trx.png           | Bin 0 -> 140848 bytes
 28 files changed, 469 insertions(+), 1 deletion(-)

diff --git a/docs/user/console/introduction.md 
b/docs/user/console/introduction.md
new file mode 100644
index 00000000000..e872b67af1f
--- /dev/null
+++ b/docs/user/console/introduction.md
@@ -0,0 +1 @@
+Placeholder. DO NOT DELETE.
\ No newline at end of file
diff --git a/docs/user/console/saga-designer.md 
b/docs/user/console/saga-designer.md
new file mode 100644
index 00000000000..e872b67af1f
--- /dev/null
+++ b/docs/user/console/saga-designer.md
@@ -0,0 +1 @@
+Placeholder. DO NOT DELETE.
\ No newline at end of file
diff --git a/docs/user/console/transaction-control.md 
b/docs/user/console/transaction-control.md
new file mode 100644
index 00000000000..e872b67af1f
--- /dev/null
+++ b/docs/user/console/transaction-control.md
@@ -0,0 +1 @@
+Placeholder. DO NOT DELETE.
\ No newline at end of file
diff --git a/i18n/en/docusaurus-plugin-content-docs/current.json 
b/i18n/en/docusaurus-plugin-content-docs/current.json
index 84a461d2773..00f0b816822 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current.json
+++ b/i18n/en/docusaurus-plugin-content-docs/current.json
@@ -23,7 +23,10 @@
     "message": "Registry Center",
     "description": "The label for category Registration Authority in sidebar 
docs"
   },
-  "sidebar.docs.category.SQL Reference": {
+  "sidebar.docs.category.Console": {
+    "message": "Console",
+    "description": "The label for category Console in sidebar docs"
+  },"sidebar.docs.category.SQL Reference": {
     "message": "SQL Reference",
     "description": "The label for category SQL Reference in sidebar docs"
   },
diff --git 
a/i18n/en/docusaurus-plugin-content-docs/current/user/console/introduction.md 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/introduction.md
new file mode 100644
index 00000000000..cbe1026291a
--- /dev/null
+++ 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/introduction.md
@@ -0,0 +1,10 @@
+---
+title: Console Introduction
+keywords: [console]
+description: Introduction to the Seata Console
+---
+# Console Introduction
+
+Seata provides a console deployed on the NamingServer, with the default 
startup address being [http://localhost:8081](http://localhost:8081). The Seata 
console is a visual interface that helps us monitor transaction statuses, 
analyze performance bottlenecks, and troubleshoot issues. Through the console, 
we can view detailed information about distributed transactions in real-time, 
including the initiator, participants, and statuses of transactions.
+
+Currently, the Seata console offers three main features: manual control of 
distributed transactions, global lock control in AT mode, and a visual Saga 
state machine process design engine.
diff --git 
a/i18n/en/docusaurus-plugin-content-docs/current/user/console/saga-designer.md 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/saga-designer.md
new file mode 100644
index 00000000000..72a883ebb61
--- /dev/null
+++ 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/saga-designer.md
@@ -0,0 +1,8 @@
+---
+title: Saga Designer
+keywords: [console, saga]
+description: Seata Console Saga Designer
+---
+# Console Introduction
+The console provides a visual Saga state machine designer for users to use 
conveniently. For specific usage, please refer to the instructions in the Saga 
mode.
+![saga-designer](/img/console/saga-designer.png)
diff --git 
a/i18n/en/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
new file mode 100644
index 00000000000..e29988fec64
--- /dev/null
+++ 
b/i18n/en/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
@@ -0,0 +1,207 @@
+---
+title: Transaction Control and Global Lock
+keywords: [console, transaction, lock]
+description: The Seata console provides manual control for 4 types of 
distributed transactions and control over global locks in AT mode.
+---
+The Seata console provides manual control for 4 types of distributed 
transactions and control over global locks in AT mode. The specific 
implementation principle is to allow manual transaction changes for 
transactions in different statuses based on the distributed transaction status 
machine. This is achieved by changing the status of distributed transactions in 
storage (supporting all Seata Server storage modes: file, db, redis, and raft) 
to trigger the process of the next status. The cu [...]
+
+**Global Transaction Operations:**
+
++ Delete Global Transaction: Allows deleting data stored on the server for 
global transactions that have reached a final status.
++ Force Delete Global Transaction: Skips transaction status checks and 
directly deletes global transaction data stored on the server.
++ Stop Global Transaction: Stops global transactions that are in the process 
of committing or rollbacking.
++ Retry Global Transaction: Restarts retrying stopped global transactions.
++ Commit or Rollback Global Transaction: Attempts to commit or rollback 
transactions that are in the process of committing, rolling back, or stopped.
++ Change Global Transaction Status: Re-attempts to commit or rollback 
transactions that failed to commit or roll back.
+
+**Branch Transaction Operations:**
+
++ Delete Branch Transaction: Allows deleting data stored on the server for 
branch transactions that have reached a final status.
++ Force Delete Branch Transaction: Skips transaction status checks and 
directly deletes branch transaction data stored on the server.
++ Start/Stop Branch Transaction: Stops branch transactions that are in the 
process of committing or rollingback, or restarts stopped branch transactions.
+
+**Global Lock Operations:**
+
++ Delete Global Lock: Deletes global lock records.
+
+# Background Knowledge
+To better use the transaction and global lock features, the following provides 
a brief explanation of global transaction statuses, branch transaction 
statuses, global locks, and Seata Server storage modes. If you want to get 
started quickly, you can directly refer to the feature description section 
below.
+
+## Global Transactions
++ Unknown: The status of the global transaction is unclear, usually before the 
global transaction starts.
++ Begin: The global transaction has just started, and branch transactions may 
or may not be executing.
++ Committing: The second phase is committing (after all branch transactions 
are completed, the TM initiates a global commit to the TC).
++ CommitRetrying: The commit of branch transactions returns a status other 
than `PhaseTwo_Committed` or `PhaseTwo_CommitFailed_Unretryable`, or an 
exception occurs during the branch transaction commit. This status indicates a 
retry due to recoverable failure.
++ Rollbacking: The second phase is rolling back (the TM initiates a global 
rollback, and the TC changes the status after receiving it).
++ TimeoutRollbacking: A scheduled task detects that the global transaction has 
timed out and sets the status to rollback. If an exception occurs or the branch 
status is not `PhaseTwo_Rollbacked` or `PhaseTwo_RollbackFailed_Unretryable` 
(e.g., XA branch retry status or `PhaseTwo_RollbackFailed_Retryable`), the 
following statuses may be set:
+  - TimeoutRollbackRetrying: Rollback failed, and the global transaction timed 
out (usually detected by a scheduled task).
+  - RollbackRetrying: Rollback failed, but the global transaction has not 
timed out.
++ AsyncCommitting: If asynchronous commit is possible during the commit phase, 
the TC performs an asynchronous commit (specific to AT mode).
++ Committed: Final status, successfully committed.
++ CommitFailed: Final status, set when the branch transaction commit returns 
`PhaseTwo_CommitFailed_Unretryable`.
++ Rollbacked: Final status, successfully rollback.
++ TimeoutRollbacked: Final status, all branch transactions have been 
successfully rolled back, but the global transaction was later found to have 
timed out.
++ RollbackFailed: Final status, set when the branch transaction rollback 
returns `PhaseTwo_RollbackFailed_Unretryable` or the scheduled task retry 
rollback times out (exceeding `MAX_ROLLBACK_RETRY_TIMEOUT`).
++ TimeoutRollbackFailed: Final status, set when the branch transaction 
rollback returns `PhaseTwo_RollbackFailed_Unretryable` and the global 
transaction timed out.
++ Finished: Final status, marks non-existent or unclear transactions. In Saga 
mode, this status is persisted when a branch transaction returns 
`PhaseOne_Failed`.
++ CommitRetryTimeout: Final status, retrying commit timed out.
++ RollbackRetryTimeout: Final status, retrying rollback timed out.
++ Deleting: The transaction is being deleted.
++ StopCommitOrCommitRetry: Stops transaction commit or commit retry.
++ StopRollbackOrRollbackRetry: Stops transaction rollback or rollback retry.
+
+## Branch Transactions
++ Unknown: The status of the branch transaction is unclear.
++ Registered: The branch is registered with the TC.
++ PhaseOne_Done: Set when the branch transaction commits.
++ PhaseOne_Failed: Set when the branch transaction rolls back.
++ PhaseOne_Timeout: Not used.
++ PhaseTwo_Committed: The TC sends a branch transaction commit, and the RM 
returns this status after a successful commit (not persisted, directly removed).
++ PhaseTwo_CommitFailed_Retryable: The TC sends a branch transaction commit, 
and the RM returns this status after a failed commit.
++ PhaseTwo_CommitFailed_Unretryable: The TC sends a branch transaction commit, 
and the RM returns this status when an exception occurs during the branch 
transaction commit.
++ PhaseTwo_Rollbacked: The TC sends a branch transaction rollback, and the RM 
returns this status after a successful rollback (not persisted, directly 
removed).
++ PhaseTwo_RollbackFailed_Retryable: The TC sends a branch transaction 
rollback, and the RM returns this status after a failed rollback.
++ PhaseTwo_RollbackFailed_Unretryable: The TC sends a branch transaction 
rollback, and the RM returns this status when an exception occurs during the 
branch transaction rollback.
++ PhaseTwo_CommitFailed_XAER_NOTA_Retryable: Retryable failure during XA 
commit.
++ PhaseTwo_RollbackFailed_XAER_NOTA_Retryable: Retryable failure during XA 
rollback.
++ PhaseOne_RONLU: In Oracle databases, after executing branch preparation, 
only pure read-only queries are executed.
++ STOP_RETRY: Stops retrying.
+
+## Global Lock
+Global locks are specific to AT mode. Releasing locks abnormally may result in 
dirty writes.
+
+## Storage Modes
+Seata Server supports the following storage modes:
+
+- **File Mode**: Suitable for small projects or test environments. Data is 
stored in local files, with relatively low performance and reliability.
+- **DB Mode**: Suitable for production environments. Data is stored in 
databases (e.g., MySQL, Oracle), offering high performance and reliability but 
requiring additional database maintenance.
+- **Redis Mode**: Suitable for scenarios with high performance requirements 
and existing Redis usage. Data is stored in Redis, offering high read/write 
speed but potentially increasing Redis load.
+- **Raft Mode**: Encapsulates the non-highly available file mode and uses the 
Raft algorithm to synchronize data between multiple TCs.
+
+When performing operations on transactions and global locks through the 
console, the storage status in the database may change. You can view the 
corresponding storage mode for details.
+
+# Feature Description
+## Global Transaction Operations
+To avoid errors when manually changing the status of global transactions, 
transaction status checks are often performed before operations. Based on the 
global transaction background knowledge, the statuses are categorized as 
follows, and transaction status checks often involve validation of the 
following status categories:
+
+### Transaction Status Categories
+#### Retry Operation Statuses
+
+1. **Commit Retry Set**
+   `RETRY_COMMIT_STATUS`: CommitRetrying
+2. **Rollback Retry Set**
+   `RETRY_ROLLBACK_STATUS`: RollbackRetrying, TimeoutRollbackRetrying, 
TimeoutRollbacking
+3. **Comprehensive Retry Set**
+   `RETRY_STATUS`: CommitRetrying, RollbackRetrying, TimeoutRollbackRetrying, 
TimeoutRollbacking
+
+---
+
+#### In-Progress Operation Statuses
+
+1. **Committing Set**
+   `COMMIT_ING_STATUS`: Committing, CommitRetrying
+2. **Rollbacking Set**
+   `ROLLBACK_ING_STATUS`: Rollbacking, RollbackRetrying, 
TimeoutRollbackRetrying, TimeoutRollbacking
+
+---
+
+#### Failure Termination Statuses
+
+1. **Commit Failure Set**
+   `FAIL_COMMIT_STATUS`: CommitFailed, CommitRetryTimeout
+2. **Rollback Failure Set**
+   `FAIL_ROLLBACK_STATUS`: TimeoutRollbacked, RollbackFailed, 
RollbackRetryTimeout
+3. **Comprehensive Failure Set**
+   `FAIL_STATUS`: CommitFailed, CommitRetryTimeout, TimeoutRollbacked, 
RollbackFailed, RollbackRetryTimeout
+
+---
+
+#### Completion Termination Statuses
+
+`FINISH_STATUS`: Committed, Finished, Rollbacked
+
+### Delete Global Transaction
+Before deleting a global transaction, the current transaction status is 
validated. Only transactions in the statuses `FAIL_COMMIT_STATUS`, 
`FAIL_ROLLBACK_STATUS`, `RETRY_COMMIT_STATUS`, `RETRY_ROLLBACK_STATUS`, 
`Committed`, `Finished`, `Rollbacked`, `Deleting`, `StopCommitRetry`, or 
`StopRollbackRetry` are allowed to be deleted. When deletion starts, the global 
transaction is changed to the `Deleting` status. During deletion, branch 
transactions under the global transaction are retrieved [...]
+
++ AT Mode: Initiates a commit operation on the branch transaction to trigger 
undo log deletion and release the global lock.
++ TCC Mode: Initiates a rollback operation on the branch transaction.
++ SAGA Mode: No branch transaction concept, directly completes the operation.
++ XA Mode: Initiates a rollback operation on the branch transaction.
+
+For more details, refer to the source code in 
`org.apache.seata.server.console.impl.AbstractGlobalService`.
+
+![del-global-trx](/img/console/del-global-trx.png)
+
+### Force Delete Global Transaction
+Force deleting a global transaction may result in dirty writes. It only 
deletes the global transaction and its branch transaction sessions stored on 
the server.
+
+![force-del-global-trx](/img/console/force-del-global-trx.png)
+
+### Stop Global Transaction Retry
+Before stopping a global transaction, the current transaction status is 
validated. Only transactions in the statuses `Committing`, `CommitRetrying`, 
`TimeoutRollbacking`, `TimeoutRollbackRetrying`, `RollbackRetrying`, or 
`Rollbacking` are allowed to be stopped. When stopped, the status is changed to 
`StopCommitOrCommitRetry` or `StopRollbackOrRollbackRetry`, depending on 
whether it is in a commit or rollback-related status, to prevent operations by 
the transaction compensation thread poo [...]
+
+![stop-global-trx](/img/console/stop-global-trx.png)
+
+After stopping, a corresponding prompt appears.
+
+![stop-global-trx-hint](/img/console/stop-global-trx-hint.png)
+
+### Start Global Transaction Retry
+Before starting a global transaction retry, the current transaction status is 
validated. Only transactions in the statuses `StopCommitOrCommitRetry` or 
`StopRollbackOrRollbackRetry` are allowed to be started. When started, the 
status is changed to `CommitRetrying` or `RollbackRetrying`, depending on 
whether it is in a stopped commit-related or rollback-related status, to 
trigger operations by the transaction compensation thread pool (branch 
transaction statuses are not directly modified).
+
+![start-global-trx](/img/console/start-global-trx.png)
+
+### Commit or Rollback Global Transaction
+Before committing or rolling back a global transaction, the current 
transaction status is validated. Only transactions in the statuses 
`Committing`, `CommitRetrying`, `TimeoutRollbacking`, 
`TimeoutRollbackRetrying`, `RollbackRetrying`, `Rollbacking`, 
`StopCommitOrCommitRetry`, or `StopRollbackOrRollbackRetry` are allowed to be 
committed or rolled back.
+
+If it is a commit-related status, a global commit is triggered (asynchronous 
commit in AT mode). If it is a rollback-related status, a global rollback is 
triggered.
+
+![commit-or-rollback](/img/console/commit-or-rollback.png)
+
+### Change Global Transaction Status
+Before updating the global transaction status, the current transaction status 
is validated. Only transactions in the statuses `FAIL_COMMIT_STATUS` and 
`FAIL_ROLLBACK_STATUS` are allowed to update the global transaction status. If 
it is a commit-related status, a global commit is triggered. If it is a 
rollback-related status, a global rollback is triggered.
+
+![update-global-trx](/img/console/update-global-trx.png)
+
+## Branch Transaction Operations
+The transaction console displays global transaction operations by default. To 
access branch transaction operations, click the button to switch to the 
relevant features.
+
+![branch-trx](/img/console/branch-trx.png)
+
+After switching, you can view branch transaction information on the operation 
page and click to view branch transaction details.
+
+![branch-trx-detail](/img/console/branch-trx-detail.png)
+
+### Delete Branch Transaction
+Before deleting a branch transaction, the current transaction status is 
validated. Branch transactions can only be deleted if the global transaction 
status allows deletion. During deletion, the branch transaction status is 
retrieved, and the same operations are performed as when deleting a global 
transaction.
+
+![del-branch-trx](/img/console/del-branch-trx.png)
+
+### Force Delete Branch Transaction
+Force deleting a branch transaction may result in dirty writes. It only 
deletes the branch transaction session stored on the server.
+
+![force-del-branch-trx](/img/console/force-del-branch-trx.png)
+
+### Stop Branch Transaction
+Before stopping a branch transaction, the current transaction status is 
validated. If it is in Saga mode, an error is directly reported (as Saga mode 
has no branch transactions), and the following status checks are performed:
+
+- The branch transaction is in `Unknown`, `Registered`, or `PhaseOne_Done`.
+- The global transaction is in `RETRY_STATUS`, `Rollbacking`, `Committing`, 
`StopRollbackOrRollbackRetry`, or `StopCommitOrCommitRetry`.
+
+After passing the checks, the transaction status can be changed to stopped.
+
+![stop-branch-trx.png](/img/console/stop-branch-trx.png)
+
+### Start Branch Transaction
+The start branch transaction feature is only available when the branch 
transaction is stopped. After starting, the branch transaction status changes 
to `Registered`.
+
+![start-branch-trx](/img/console/start-branch-trx.png)
+
+## Global Lock Operations
+Under a global transaction, you can view the global locks it holds. Only 
transactions in AT mode hold global locks.
+
+![global-lock](/img/console/global-lock.png)
+
+You can delete the global locks held by a transaction. Note that after 
deletion, the data corresponding to the global lock may experience dirty writes.
+
+![del-global-lock](/img/console/del-global-lock.png)
diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current.json 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current.json
index a5d203d5c85..751becef8a7 100644
--- a/i18n/zh-cn/docusaurus-plugin-content-docs/current.json
+++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current.json
@@ -23,6 +23,10 @@
     "message": "注册中心",
     "description": "The label for category Registration Authority in sidebar 
docs"
   },
+  "sidebar.docs.category.Console": {
+    "message": "控制台",
+    "description": "The label for category Console in sidebar docs"
+  },
   "sidebar.docs.category.SQL Reference": {
     "message": "SQL参考",
     "description": "The label for category SQL Reference in sidebar docs"
diff --git 
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/introduction.md
 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/introduction.md
new file mode 100644
index 00000000000..23e1009f818
--- /dev/null
+++ 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/introduction.md
@@ -0,0 +1,9 @@
+---
+title: 控制台简介
+keywords: [console]
+description: Seata控制台简介
+---
+# 控制台简介
+Seata提供了一个在NamingServer部署的控制台,默认启动地址为[http://localhost:8081](http://localhost:8081)。Seata控制台是一个可视化的界面,可以帮助我们监控事务的状态、分析性能瓶颈以及进行故障排查。通过控制台,我们可以实时查看分布式事务的详细信息,包括事务的发起者、参与者、状态等。
+
+目前Seata控制台提供三个功能,分别是对分布式事务的手工控制功能,AT模式下的全局锁控制功能和可视化的Saga状态机流程设计引擎
diff --git 
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/saga-designer.md
 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/saga-designer.md
new file mode 100644
index 00000000000..0777919174f
--- /dev/null
+++ 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/saga-designer.md
@@ -0,0 +1,8 @@
+---
+title: Saga designer
+keywords: [console, saga]
+description: Seata控制台Saga设计器
+---
+# 控制台简介
+控制台中提供了一个可视化的Saga状态机设计器方便用户使用,具体使用方式可参照Saga模式中的说明
+![saga-designer](/img/console/saga-designer.png)
diff --git 
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
new file mode 100644
index 00000000000..a78210e3953
--- /dev/null
+++ 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/console/transaction-control.md
@@ -0,0 +1,207 @@
+---
+title: 事务控制及全局锁
+keywords: [console, transaction, lock]
+description: Seata控制台提供对4种分布式事务的手工控制及AT模式下的全局锁的控制
+---
+Seata控制台提供对4种分布式事务的手工控制及AT模式下的全局锁的控制。具体实现原理为根据分布式事务状态机来允许处于不同状态的事务手工事务变更操作,通过更改在存储中(支持Seata
 Server的所有存储模式file,db,redis及raft)的分布式事务状态来触发下一状态的流程运行。目前支持的功能有:
+
+**全局事务操作:**
+
++ 删除全局事务:允许已经到达终态的全局事务删除在Server端存储的数据
++ 强制删除全局事务:跳过事务状态检查,直接删除全局事务在在Server端存储的数据
++ 停止全局事务:将正在提交或者回滚中的全局事务停止运行
++ 开启全局事务重试:将停止的全局事务重新开启重试
++ 提交或回滚全局事务:将正在提交、回滚或停止的事务再次尝试提交或者回滚
++ 更新全局事务状态:将提交或者回滚失败的事务再次进行提交或者回滚
+
+**分支事务操作:**
+
++ 删除分支事务:允许已经达到终态的分支事务删除在Server端存储的数据
++ 强制删除分支事务:跳过事务状态检查,直接删除分支事务在在Server端存储的数据
++ 开启/停止分支事务:停止正在提交或回滚的分支事务,提交或者回滚停止的分支事务
+
+**全局锁操作:**
+
++ 删除全局锁:删除全局锁记录
+
+# 背景知识
+为了更好的使用事务及全局锁功能,下面对全局事务状态、分支事务状态、全局锁及Seata 
Server的存储模式进行简要说明。如只想快速开始,可直接查看后续的功能说明章节。
+
+## 全局事务
++ Unknown:全局事务状态不明确,一般在全局事务开始前处于该状态
++ Begin:刚开启全局事务,分支事务可能正在执行或未执行
++ Committing:二阶段正在提交(所有分支事务执行完后,TM向TC发起全局提交)
++ 
CommitRetrying:提交分支事务返回的不是PhaseTwo_Committed跟PhaseTwo_CommitFailed_Unretryable,或者分支事务提交出现异常,设置为该状态,表示因为可恢复的失败正在重试
++ Rollbacking:二阶段正在回滚(TM发起全局回滚,TC接受后更改的状态)
++ 
TimeoutRollbacking:定时任务检查出该全局事务超时后设置某个分支事务回滚时出现异常或返回的分支状态不是PhaseTwo_Rollbacked或PhaseTwo_RollbackFailed_Unretryable(比如返回的是XA分支重试状态或者PhaseTwo_RollbackFailed_Retryable):会设置如下状态
+  - TimeoutRollbackRetrying:回滚失败且全局事务超时(通常是被定时任务检查出的)
+  - RollbackRetrying:回滚失败但全局事务并没有超时
++ AsyncCommitting:TC在提交时,如果可以异步提交便异步提交,仅仅针对AT模式
++ Committed:最终状态,已经成功提交
++ CommitFailed:最终状态,提交分支事务返回PhaseTwo_CommitFailed_Unretryable时会设置
++ Rollbacked:最终状态,已经成功回滚
++ TimeoutRollbacked:最终状态,所有分支事务已经成功回滚,不过后续发现全局事务超时
++ 
RollbackFailed:最终状态,回滚分支事务时返回PhaseTwo_RollbackFailed_Unretryable或者定时任务重试回滚时超时(超过
 MAX_ROLLBACK_RETRY_TIMEOUT )
++ TimeoutRollbackFailed:最终状态,回滚分支事务返回PhaseTwo_RollbackFailed_Unretryable且全局事务超时
++ Finished:最终状态,标注不存在的事务或者状态不明确的事务,在saga模式在分支事务返回PhaseOne_Failed会进行持久化
++ CommitRetryTimeout:最终状态,定时任务重试提交超时
++ RollbackRetryTimeout:最终状态,定时任务重试回滚超时
++ Deleting:事务正在删除中
++ StopCommitOrCommitRetry:停止事务提交或事务提交重试
++ StopRollbackOrRollbackRetry:停止事务回滚或事务回滚重试
+
+## 分支事务
++ Unknown:分支事务状态不明确
++ Registered:向TC注册分支
++ PhaseOne_Done:分支事务commit时设置
++ PhaseOne_Failed:分支事务rollback时设置
++ PhaseOne_Timeout:未使用
++ PhaseTwo_Committed:TC向RM发送分支事务提交,提交成功后RM返回该状态(不会持久化,
++ 直接remove分支)
++ PhaseTwo_CommitFailed_Retryable:TC向RM发送分支事务提交,提交失败后RM返回该状态
++ PhaseTwo_CommitFailed_Unretryable:TC向RM发送分支事务提交,分支事务提交出现异常返回该状态
++ PhaseTwo_Rollbacked:TC向RM发送分支事务回滚,回滚成功后RM返回该状态(不会持久化,直接remove分支)
++ PhaseTwo_RollbackFailed_Retryable:TC向RM发送分支事务提交,提交失败后RM返回该状态
++ PhaseTwo_RollbackFailed_Unretryable:TC向RM发送分支事务提交,分支事务提交出现异常返回该状态
++ PhaseTwo_CommitFailed_XAER_NOTA_Retryable:针对XA提交失败重试
++ PhaseTwo_RollbackFailed_XAER_NOTA_Retryable:针对XA回滚失败重试
++ PhaseOne_RONLU:在Oracle数据库中执行分支准备后,只执行纯只读的查询语句
++ STOP_RETRY:停止重试
+
+## 全局锁
+全局锁仅仅针对AT模式,非正常情况下释放锁后可能会出现脏写问题
+
+## 存储模式
+Seata Server的存储模式有以下四种:
+
+- **File模式**:适用于小型项目或测试环境,数据存储在本地文件中,性能和可靠性相对较低。
+- **DB模式**:适用于生产环境,数据存储在数据库中(如MySQL、Oracle等),具有较高的性能和可靠性,但需要额外维护数据库。
+- **Redis模式**:适用于对性能要求较高且已使用Redis的场景,数据存储在Redis中,具有较高的读写速度,但可能会增加Redis的负载。
+- **Raft模式**:通过封装无法高可用的file模式,利用Raft算法实现多个TC之间数据的同步。
+
+当通过控制台及事务及全局事务进行操作后,可能会更改在数据库中的存储状态,可根据对应存储模式进行查看。
+
+# 功能说明
+## 全局事务操作
+为了避免人工对全局事务操作时对事务状态的改变发生错误,往往在操作前会进行事务的状态检查。基于背景知识中的全局事务,对其分为以下几类,事务状态的检查往往会涉及以下状态分类的校验:
+### 事务状态分类
+#### 重试操作状态
+
+1. **提交重试集合**
+   `RETRY_COMMIT_STATUS`: CommitRetrying
+2. **回滚重试集合**
+   `RETRY_ROLLBACK_STATUS`: RollbackRetrying, TimeoutRollbackRetrying, 
TimeoutRollbacking
+3. **综合重试集合**
+   `RETRY_STATUS`: CommitRetrying, RollbackRetrying, TimeoutRollbackRetrying, 
TimeoutRollbacking
+
+---
+
+#### 进行中操作状态
+
+1. **提交中集合**
+   `COMMIT_ING_STATUS`: Committing, CommitRetrying
+2. **回滚中集合**
+   `ROLLBACK_ING_STATUS`: Rollbacking, RollbackRetrying, 
TimeoutRollbackRetrying, TimeoutRollbacking
+
+---
+
+#### 失败终止状态
+
+1. **提交失败集合**
+   `FAIL_COMMIT_STATUS`: CommitFailed, CommitRetryTimeout
+2. **回滚失败集合**
+   `FAIL_ROLLBACK_STATUS`: TimeoutRollbacked, RollbackFailed, 
RollbackRetryTimeout
+3. **综合失败集合**
+   `FAIL_STATUS`: CommitFailed, CommitRetryTimeout, TimeoutRollbacked, 
RollbackFailed, RollbackRetryTimeout
+
+---
+
+#### 完成终止状态
+
+`FINISH_STATUS`: Committed, Finished, Rollbacked
+
+### 删除全局事务
+删除全局事务在删除前会对当前事务状态进行校验,只有处于 
FAIL_COMMIT_STATUS,FAIL_ROLLBACK_STATUS,RETRY_COMMIT_STATUS,RETRY_ROLLBACK_STATUS,Committed,Finished
 ,Rollbacked,Deleting,StopCommitRetry,StopRollbackRetry 
这些状态下才允许删除。删除开始时会将全局事务改为Deleting状态。在删除过程中会获取全局事务下的分支事务,如果在一阶段失败则直接删除,其余则根据事务模式进行不同的操作:
+
++ AT模式:对分支事务发起commit操作去触发undo log的删除,释放全局锁
++ TCC模式:对分支事务发起rollback操作
++ SAGA模式:没有分支事务概念,直接完成操作
++ XA模式:对分支事务发起rollback操作
+
+更多细节可参考源码中的`org.apache.seata.server.console.impl.AbstractGlobalService`
+
+![del-global-trx](/img/console/del-global-trx.png)
+
+### 强制删除全局事务
+强制删除全局事务可能会发生事务脏写的情况,仅仅只对Server端的存储的全局事务和全局事务下的分支事务Session进行删除
+
+![force-del-global-trx](/img/console/force-del-global-trx.png)
+
+### 停止全局事务重试
+停止全局事务在停止前会对当前事务状态进行校验,只有处于处于`Committing`,`CommitRetrying`,`TimeoutRollbacking`,`TimeoutRollbackRetrying`,`RollbackRetrying`,
 `Rollbacking`这种状态才允许停止。 
停止时会根据是处于提交或回滚的相关状态改为`StopCommitOrCommitRetry`或者`StopRollbackOrRollbackRetry`状态,以此阻止事务补偿线程池的相关操作(不会当场间接修改分支事务状态)。
+
+![stop-global-trx](/img/console/stop-global-trx.png)
+
+停止后会出现相应提示
+
+![stop-global-trx-hint](/img/console/stop-global-trx-hint.png)
+
+### 开启全局事务重试
+开启全局事务重试在开启前会当前事务状态进行校验,只有处于`StopCommitOrCommitRetry`,`StopRollbackOrRollbackRetry`这种状态才允许开启。开启时会根据是处于停止提交或停止回滚的相关状态改为`CommitRetrying`或者`RollbackRetrying`状态,以此触发事务补偿线程的相关操作(不会当场间接修改分支事务状态)。
+
+![start-global-trx](/img/console/start-global-trx.png)
+
+### 提交或回滚全局事务
+提交或回滚全局事务在开始前会对当前事务状态进行校验,只有处于`Committing`, `CommitRetrying`, 
`TimeoutRollbacking`, `TimeoutRollbackRetrying`, `RollbackRetrying`, 
`Rollbacking`, `StopCommitOrCommitRetry`, 
`StopRollbackOrRollbackRetry`这种状态才允许提交或回滚全局事务。
+
+如果是提交的相关状态,触发事务全局提交(AT模式是异步提交)。如果是回滚的相关状态,触发事务全局回滚。
+
+![commit-or-rollback](/img/console/commit-or-rollback.png)
+
+### 更新全局事务状态
+更新全局事务状态在开始前会对当前事务状态进行校验,只有处于`FAIL_COMMIT_STATUS`和`FAIL_ROLLBACK_STATUS`这种状态才允许进行更新全局事务状态。如果是提交的相关状态,触发事务全局提交。如果是回滚相关的状态,触发事务全局回滚。
+
+![update-global-trx](/img/console/update-global-trx.png)
+
+## 分支事务操作
+事务控制台默认显示的是全局事务操作,需要点击按钮切换能够操作分支事务的相关功能
+
+![branch-trx](/img/console/branch-trx.png)
+
+切换后即可在操作页面查看分支事务信息,点击即可查看分支事务详情
+
+![branch-trx-detail](/img/console/branch-trx-detail.png)
+
+### 删除分支事务
+删除分支事务在删除前会对当前事务状态进行校验,只有全局事务的状态允许进行删除时才能进行分支事务的删除。在删除过程中会获取分支事务状态,并根据全局事务删除时对分支事务的操作进行相同处理
+
+![del-branch-trx](/img/console/del-branch-trx.png)
+
+### 强制删除分支事务
+强制删除分支事务可能会发生事务脏写的情况,仅仅只对Server端的存储的分支事务Session进行删除
+
+![force-del-branch-trx](/img/console/force-del-branch-trx.png)
+
+### 停止分支事务
+在停止分支事务前会对当前事务状态进行校验,如果是 Saga 模式会直接报错(因为 Saga 模式没有分支事务),并进行如下状态检查:
+
+- 分支事务为 `Unknown`、`Registered` 或 `PhaseOne_Done`。
+- 全局事务处于 
`RETRY_STATUS`、`Rollbacking`、`Committing`、`StopRollbackOrRollbackRetry`、`StopCommitOrCommitRetry`。
+
+通过检查后即可将事务状态更改为停止。
+
+![stop-branch-trx.png](/img/console/stop-branch-trx.png)
+
+### 开始分支事务
+开始分支事务功能只有在分支事务是停止时才会出现。开启后分支事务状态变为Registered
+
+![start-branch-trx](/img/console/start-branch-trx.png)
+
+## 全局锁操作
+全局事务下可查看其所拥有的全局锁,这里只有AT模式下的事务才会持有全局锁
+
+![global-lock](/img/console/global-lock.png)
+
+对于事务拥有的全局锁可以对其进行删除,需注意删除后全局锁所对应的数据可能会发生脏写
+
+![del-global-lock](/img/console/del-global-lock.png)
diff --git a/sidebars.js b/sidebars.js
index f00c989edea..7adfa82a542 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -75,6 +75,15 @@ const sidebars = {
             'user/registry/namingserver',
           ],
         },
+        {
+          type: 'category',
+          label: 'Console',
+          items: [
+            'user/console/introduction',
+            'user/console/saga-designer',
+            'user/console/transaction-control',
+          ],
+        },
         'user/api',
         'user/microservice',
         'user/ormframework',
diff --git a/static/img/console/branch-trx-detail.png 
b/static/img/console/branch-trx-detail.png
new file mode 100644
index 00000000000..a767d4475c7
Binary files /dev/null and b/static/img/console/branch-trx-detail.png differ
diff --git a/static/img/console/branch-trx.png 
b/static/img/console/branch-trx.png
new file mode 100644
index 00000000000..7b24d078efb
Binary files /dev/null and b/static/img/console/branch-trx.png differ
diff --git a/static/img/console/commit-or-rollback.png 
b/static/img/console/commit-or-rollback.png
new file mode 100644
index 00000000000..c42859d60e4
Binary files /dev/null and b/static/img/console/commit-or-rollback.png differ
diff --git a/static/img/console/del-branch-trx.png 
b/static/img/console/del-branch-trx.png
new file mode 100644
index 00000000000..5a2c48291ef
Binary files /dev/null and b/static/img/console/del-branch-trx.png differ
diff --git a/static/img/console/del-global-lock.png 
b/static/img/console/del-global-lock.png
new file mode 100644
index 00000000000..92451297154
Binary files /dev/null and b/static/img/console/del-global-lock.png differ
diff --git a/static/img/console/del-global-trx.png 
b/static/img/console/del-global-trx.png
new file mode 100644
index 00000000000..f74ffd7360d
Binary files /dev/null and b/static/img/console/del-global-trx.png differ
diff --git a/static/img/console/force-del-branch-trx.png 
b/static/img/console/force-del-branch-trx.png
new file mode 100644
index 00000000000..62c68ce6854
Binary files /dev/null and b/static/img/console/force-del-branch-trx.png differ
diff --git a/static/img/console/force-del-global-trx.png 
b/static/img/console/force-del-global-trx.png
new file mode 100644
index 00000000000..47dcfcfabfa
Binary files /dev/null and b/static/img/console/force-del-global-trx.png differ
diff --git a/static/img/console/global-lock.png 
b/static/img/console/global-lock.png
new file mode 100644
index 00000000000..1ee7df3ea00
Binary files /dev/null and b/static/img/console/global-lock.png differ
diff --git a/static/img/console/saga-designer.png 
b/static/img/console/saga-designer.png
new file mode 100644
index 00000000000..5502e152cae
Binary files /dev/null and b/static/img/console/saga-designer.png differ
diff --git a/static/img/console/start-branch-trx.png 
b/static/img/console/start-branch-trx.png
new file mode 100644
index 00000000000..8fd711b326d
Binary files /dev/null and b/static/img/console/start-branch-trx.png differ
diff --git a/static/img/console/start-global-trx.png 
b/static/img/console/start-global-trx.png
new file mode 100644
index 00000000000..c506e40ba0d
Binary files /dev/null and b/static/img/console/start-global-trx.png differ
diff --git a/static/img/console/stop-branch-trx.png 
b/static/img/console/stop-branch-trx.png
new file mode 100644
index 00000000000..f993cb55fc8
Binary files /dev/null and b/static/img/console/stop-branch-trx.png differ
diff --git a/static/img/console/stop-global-trx-hint.png 
b/static/img/console/stop-global-trx-hint.png
new file mode 100644
index 00000000000..ceb429909e5
Binary files /dev/null and b/static/img/console/stop-global-trx-hint.png differ
diff --git a/static/img/console/stop-global-trx.png 
b/static/img/console/stop-global-trx.png
new file mode 100644
index 00000000000..cf77e0f11f2
Binary files /dev/null and b/static/img/console/stop-global-trx.png differ
diff --git a/static/img/console/update-global-trx.png 
b/static/img/console/update-global-trx.png
new file mode 100644
index 00000000000..bcc7fa741b6
Binary files /dev/null and b/static/img/console/update-global-trx.png differ


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org


Reply via email to