This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 9e1ddda7749 Refactor ReadwriteSplittingSQLException's impl (#30842)
9e1ddda7749 is described below
commit 9e1ddda7749d64749dd62a8f0a18783a35695655
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Apr 11 00:00:04 2024 +0800
Refactor ReadwriteSplittingSQLException's impl (#30842)
* Refactor ReadwriteSplittingSQLException's impl
* Refactor ReadwriteSplittingSQLException's impl
---
.../user-manual/error-code/sql-error-code.cn.md | 18 +++++++++---------
.../user-manual/error-code/sql-error-code.en.md | 18 +++++++++---------
.../ReadwriteSplittingRuleConfigurationChecker.java | 21 +++++++++------------
.../DataSourceNameNotExistedException.java | 7 +++----
.../{checker => }/DuplicateDataSourceException.java | 7 +++----
...InvalidInlineExpressionDataSourcesException.java | 5 ++---
.../MissingRequiredDataSourceNameException.java | 5 ++---
...MissingRequiredReadDataSourceNamesException.java | 5 ++---
.../MissingRequiredReadStorageUnitException.java | 5 ++---
...MissingRequiredWriteDataSourceNameException.java | 5 ++---
.../rule/ReadwriteSplittingRule.java | 2 +-
...dwriteSplittingRuleConfigurationCheckerTest.java | 6 +++---
...ReadwriteSplittingStorageUnitStatusExecutor.java | 2 +-
13 files changed, 48 insertions(+), 58 deletions(-)
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
index 9ac5e94e3fa..c6f84eed81f 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
@@ -190,15 +190,15 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
### 读写分离
-| Vendor Code | SQL State | 错误信息
|
-|-------------|-----------|--------------------------------------------------------------------|
-| 20270 | 44000 | %s data source names size error on inline
expression. |
-| 20290 | 44000 | Data source name is required in database \`%s\.`
|
-| 20291 | 44000 | Write data source name is required in database
`\`%s\.` |
-| 20292 | 44000 | Read data source names is required in database
`\`%s\.` |
-| 20293 | 44000 | Can not config duplicate %s data source \`%s\` in
database \`%s\.` |
-| 20294 | 42S02 | %s data source name \`%s\` not in database \`%s\.`
|
-| 20296 | 44000 | Read storage unit '%s' does not exist in rule
'%s'. |
+| Vendor Code | SQL State | 错误信息
|
+|-------------|-----------|-------------------------------------------------------|
+| 20200 | 42S02 | Data source name is required in database '%s'.
|
+| 20201 | 42S02 | Write data source name is required in database
'%s'. |
+| 20202 | 42S02 | Read data source names is required in database
'%s'. |
+| 20203 | 44000 | Duplicated %s data source '%s' in database '%s'.
|
+| 20204 | 42S02 | %s data source name '%s' not in database '%s'.
|
+| 20205 | 44000 | %s data source names size error on inline
expression. |
+| 20210 | 42S02 | Read storage unit '%s' does not exist in rule
'%s'. |
### SQL 方言转换
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.en.md
b/docs/document/content/user-manual/error-code/sql-error-code.en.md
index 1f30d8cc1d5..dc36ecfa2ee 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.en.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.en.md
@@ -191,15 +191,15 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
### Readwrite-splitting
-| Vendor Code | SQL State | Reason
|
-|-------------|-----------|--------------------------------------------------------------------|
-| 20270 | 44000 | %s data source names size error on inline
expression. |
-| 20290 | 44000 | Data source name is required in database \`%s\.`
|
-| 20291 | 44000 | Write data source name is required in database
`\`%s\.` |
-| 20292 | 44000 | Read data source names is required in database
`\`%s\.` |
-| 20293 | 44000 | Can not config duplicate %s data source \`%s\` in
database \`%s\.` |
-| 20294 | 42S02 | %s data source name \`%s\` not in database \`%s\.`
|
-| 20296 | 44000 | Read storage unit '%s' does not exist in rule
'%s'. |
+| Vendor Code | SQL State | Reason
|
+|-------------|-----------|-------------------------------------------------------|
+| 20200 | 42S02 | Data source name is required in database '%s'.
|
+| 20201 | 42S02 | Write data source name is required in database
'%s'. |
+| 20202 | 42S02 | Read data source names is required in database
'%s'. |
+| 20203 | 44000 | Duplicated %s data source '%s' in database '%s'.
|
+| 20204 | 42S02 | %s data source name '%s' not in database '%s'.
|
+| 20205 | 44000 | %s data source names size error on inline
expression. |
+| 20210 | 42S02 | Read storage unit '%s' does not exist in rule
'%s'. |
### SQL Dialect Translator
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
index 866d817056a..fb371c3a0b2 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationChecker.java
@@ -30,11 +30,11 @@ import
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.constant.ReadwriteSplittingOrder;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.DataSourceNameNotExistedException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.DuplicateDataSourceException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredDataSourceNameException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredReadDataSourceNamesException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredWriteDataSourceNameException;
+import
org.apache.shardingsphere.readwritesplitting.exception.DataSourceNameNotExistedException;
+import
org.apache.shardingsphere.readwritesplitting.exception.DuplicateDataSourceException;
+import
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredDataSourceNameException;
+import
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredReadDataSourceNamesException;
+import
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredWriteDataSourceNameException;
import javax.sql.DataSource;
import java.util.Collection;
@@ -79,9 +79,8 @@ public final class ReadwriteSplittingRuleConfigurationChecker
implements RuleCon
final
ReadwriteSplittingDataSourceRuleConfiguration config, final
Collection<ShardingSphereRule> builtRules) {
for (String each :
InlineExpressionParserFactory.newInstance(config.getWriteDataSourceName()).splitAndEvaluate())
{
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) ||
containsInOtherRules(each, builtRules),
- () -> new
DataSourceNameNotExistedException(String.format("Write data source name `%s`
not in database `%s`.", each, databaseName)));
-
ShardingSpherePreconditions.checkState(writeDataSourceNames.add(each),
- () -> new DuplicateDataSourceException(String.format("Can
not config duplicate write data source `%s` in database `%s`.", each,
databaseName)));
+ () -> new DataSourceNameNotExistedException("Write", each,
databaseName));
+
ShardingSpherePreconditions.checkState(writeDataSourceNames.add(each), () ->
new DuplicateDataSourceException("write", each, databaseName));
}
}
@@ -93,10 +92,8 @@ public final class
ReadwriteSplittingRuleConfigurationChecker implements RuleCon
private void checkReadeDataSourceNames(final String databaseName, final
Map<String, DataSource> dataSourceMap,
final Collection<String>
readDataSourceNames, final String readDataSourceName, final
Collection<ShardingSphereRule> builtRules) {
for (String each :
InlineExpressionParserFactory.newInstance(readDataSourceName).splitAndEvaluate())
{
-
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) ||
containsInOtherRules(each, builtRules),
- () -> new
DataSourceNameNotExistedException(String.format("Read data source name `%s` not
in database `%s`.", each, databaseName)));
-
ShardingSpherePreconditions.checkState(readDataSourceNames.add(each),
- () -> new DuplicateDataSourceException(String.format("Can
not config duplicate read data source `%s` in database `%s`.", each,
databaseName)));
+
ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) ||
containsInOtherRules(each, builtRules), () -> new
DataSourceNameNotExistedException("Read", each, databaseName));
+
ShardingSpherePreconditions.checkState(readDataSourceNames.add(each), () -> new
DuplicateDataSourceException("read", each, databaseName));
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
similarity index 77%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
index fea4dd5e33c..5043cb7a8e2 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DataSourceNameNotExistedException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DataSourceNameNotExistedException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Data source name not existed exception.
@@ -27,7 +26,7 @@ public final class DataSourceNameNotExistedException extends
ReadwriteSplittingS
private static final long serialVersionUID = 1284608200400804784L;
- public DataSourceNameNotExistedException(final String reason) {
- super(XOpenSQLState.NOT_FOUND, 94, reason);
+ public DataSourceNameNotExistedException(final String dataSourceType,
final String dataSourceName, final String databaseName) {
+ super(XOpenSQLState.NOT_FOUND, 4, "%s data source name '%s' not in
database '%s'.", dataSourceType, dataSourceName, databaseName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
similarity index 77%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
index 16a5af2a7bd..a4621977892 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/DuplicateDataSourceException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/DuplicateDataSourceException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Duplicate write data source exception.
@@ -27,7 +26,7 @@ public final class DuplicateDataSourceException extends
ReadwriteSplittingSQLExc
private static final long serialVersionUID = -58671655670347084L;
- public DuplicateDataSourceException(final String reason) {
- super(XOpenSQLState.DUPLICATE, 93, reason);
+ public DuplicateDataSourceException(final String dataSourceType, final
String dataSourceName, final String databaseName) {
+ super(XOpenSQLState.DUPLICATE, 3, "Duplicated %s data source '%s' in
database '%s'.", dataSourceType, dataSourceName, databaseName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
similarity index 80%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
index b6f45c51628..4d1641ff82d 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/rule/InvalidInlineExpressionDataSourcesException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/InvalidInlineExpressionDataSourcesException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.rule;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Invalid inline expression data sources exception.
@@ -28,6 +27,6 @@ public final class
InvalidInlineExpressionDataSourcesException extends Readwrite
private static final long serialVersionUID = 87659916563551964L;
public InvalidInlineExpressionDataSourcesException(final String
dataSourceType) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 70, "%s data source names
size error on inline expression.", dataSourceType);
+ super(XOpenSQLState.CHECK_OPTION_VIOLATION, 5, "%s data source names
size error on inline expression.", dataSourceType);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
similarity index 80%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
index 2e3103c31dd..160657f491f 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredDataSourceNameException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredDataSourceNameException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Missing required data source name exception.
@@ -28,6 +27,6 @@ public final class MissingRequiredDataSourceNameException
extends ReadwriteSplit
private static final long serialVersionUID = 8006957930250488016L;
public MissingRequiredDataSourceNameException(final String databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 90, "Data source name is
required in database `%s`.", databaseName);
+ super(XOpenSQLState.NOT_FOUND, 0, "Data source name is required in
database '%s'.", databaseName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
similarity index 80%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
index baf1312cbb3..c1319048bb3 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadDataSourceNamesException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadDataSourceNamesException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Missing required read data source names exception.
@@ -28,6 +27,6 @@ public final class
MissingRequiredReadDataSourceNamesException extends Readwrite
private static final long serialVersionUID = 3795576963060485964L;
public MissingRequiredReadDataSourceNamesException(final String
databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 92, "Read data source
names is required in database `%s`.", databaseName);
+ super(XOpenSQLState.NOT_FOUND, 2, "Read data source names is required
in database '%s'.", databaseName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
similarity index 80%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
index c8ba63830f8..2b52f1075fe 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredReadStorageUnitException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredReadStorageUnitException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Missing required read storage unit exception.
@@ -28,6 +27,6 @@ public final class MissingRequiredReadStorageUnitException
extends ReadwriteSpli
private static final long serialVersionUID = -4252553422332603648L;
public MissingRequiredReadStorageUnitException(final String ruleName,
final String storageUnitName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 96, "Read storage unit
'%s' does not exist in rule '%s'.", storageUnitName, ruleName);
+ super(XOpenSQLState.NOT_FOUND, 10, "Read storage unit '%s' does not
exist in rule '%s'.", storageUnitName, ruleName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
similarity index 80%
rename from
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
rename to
features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
index bb5de0aac6d..754cb725970 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/checker/MissingRequiredWriteDataSourceNameException.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/exception/MissingRequiredWriteDataSourceNameException.java
@@ -15,10 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.readwritesplitting.exception.checker;
+package org.apache.shardingsphere.readwritesplitting.exception;
import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-import
org.apache.shardingsphere.readwritesplitting.exception.ReadwriteSplittingSQLException;
/**
* Missing required write data source name exception.
@@ -28,6 +27,6 @@ public final class
MissingRequiredWriteDataSourceNameException extends Readwrite
private static final long serialVersionUID = -3310589272704868388L;
public MissingRequiredWriteDataSourceNameException(final String
databaseName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 91, "Write data source
name is required in database `%s`.", databaseName);
+ super(XOpenSQLState.NOT_FOUND, 1, "Write data source name is required
in database '%s'.", databaseName);
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
index 93fc8c8d67e..c5dca7e2981 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingRule.java
@@ -28,7 +28,7 @@ import
org.apache.shardingsphere.infra.rule.attribute.RuleAttributes;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
-import
org.apache.shardingsphere.readwritesplitting.exception.rule.InvalidInlineExpressionDataSourcesException;
+import
org.apache.shardingsphere.readwritesplitting.exception.InvalidInlineExpressionDataSourcesException;
import
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingDataSourceMapperRuleAttribute;
import
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingExportableRuleAttribute;
import
org.apache.shardingsphere.readwritesplitting.rule.attribute.ReadwriteSplittingStaticDataSourceRuleAttribute;
diff --git
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
index 977eb96f049..565fa8b08e8 100644
---
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
+++
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingRuleConfigurationCheckerTest.java
@@ -26,9 +26,9 @@ import
org.apache.shardingsphere.infra.rule.attribute.datasource.DataSourceMappe
import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.DataSourceNameNotExistedException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.DuplicateDataSourceException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredWriteDataSourceNameException;
+import
org.apache.shardingsphere.readwritesplitting.exception.DataSourceNameNotExistedException;
+import
org.apache.shardingsphere.readwritesplitting.exception.DuplicateDataSourceException;
+import
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredWriteDataSourceNameException;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
diff --git
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
index 69c3648b54d..5d05e5ac455 100644
---
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
+++
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/AlterReadwriteSplittingStorageUnitStatusExecutor.java
@@ -29,7 +29,7 @@ import
org.apache.shardingsphere.infra.state.datasource.DataSourceState;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.storage.service.StorageNodeStatusService;
import
org.apache.shardingsphere.infra.exception.kernel.metadata.resource.storageunit.InvalidStorageUnitStatusException;
-import
org.apache.shardingsphere.readwritesplitting.exception.checker.MissingRequiredReadStorageUnitException;
+import
org.apache.shardingsphere.readwritesplitting.exception.MissingRequiredReadStorageUnitException;
import
org.apache.shardingsphere.readwritesplitting.distsql.statement.AlterReadwriteSplittingStorageUnitStatusStatement;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingDataSourceRule;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;