This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new ee46614dcea Add advice message in
XATransactionCheckPrivilegeFailedException (#30203)
ee46614dcea is described below
commit ee46614dcea23beeb8f563eb726180b1f724261e
Author: ZhangCheng <[email protected]>
AuthorDate: Tue Feb 20 14:47:30 2024 +0800
Add advice message in XATransactionCheckPrivilegeFailedException (#30203)
---
.../checker/dialect/MySQLXATransactionPrivilegeChecker.java | 2 +-
.../jta/exception/XATransactionCheckPrivilegeFailedException.java | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/checker/dialect/MySQLXATransactionPrivilegeChecker.java
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/checker/dialect/MySQLXATransactionPrivilegeChecker.java
index a7f04e19d35..38f8f8f6972 100644
---
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/checker/dialect/MySQLXATransactionPrivilegeChecker.java
+++
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/checker/dialect/MySQLXATransactionPrivilegeChecker.java
@@ -61,7 +61,7 @@ public final class MySQLXATransactionPrivilegeChecker
implements XATransactionPr
}
}
} catch (final SQLException ex) {
- throw new XATransactionCheckPrivilegeFailedException(ex);
+ throw new XATransactionCheckPrivilegeFailedException(ex, "GRANT
XA_RECOVER_ADMIN TO currentUser");
}
throw new XATransactionPrivilegeException("XA_RECOVER_ADMIN");
}
diff --git
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/exception/XATransactionCheckPrivilegeFailedException.java
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/exception/XATransactionCheckPrivilegeFailedException.java
index 103f8bee2ba..b9ca5372f72 100644
---
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/exception/XATransactionCheckPrivilegeFailedException.java
+++
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/exception/XATransactionCheckPrivilegeFailedException.java
@@ -30,6 +30,10 @@ public final class
XATransactionCheckPrivilegeFailedException extends Transactio
private static final long serialVersionUID = 6073175429050058508L;
public XATransactionCheckPrivilegeFailedException(final SQLException
cause) {
- super(XOpenSQLState.INVALID_TRANSACTION_STATE, 203,
String.format("Check privileges failed on data source, reason is: %s",
cause.getMessage()), cause);
+ super(XOpenSQLState.INVALID_TRANSACTION_STATE, 203,
String.format("Check xa transaction privileges failed on data source, reason
is: `%s`", cause.getMessage()), cause);
+ }
+
+ public XATransactionCheckPrivilegeFailedException(final SQLException
cause, final String advice) {
+ super(XOpenSQLState.INVALID_TRANSACTION_STATE, 203,
String.format("Check xa transaction privileges failed on data source, reason
is: `%s`, please `%s`", cause.getMessage(), advice), cause);
}
}