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

yx9o 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 42c597ba0e2 Remove HBaseOperationException (#30875)
42c597ba0e2 is described below

commit 42c597ba0e269ed6c8c9d151343cd0543e77296d
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Apr 13 09:08:54 2024 +0800

    Remove HBaseOperationException (#30875)
    
    * Replace IOException to SQLException in HBase module
    
    * Replace IOException to SQLException in HBase module
    
    * Replace IOException to SQLException in HBase module
    
    * Remove duplicate dependencies
    
    * Remove HBaseOperationException
    
    * Remove HBaseOperationException
    
    * Rename DatabaseServerLoadingException
    
    * Refactor ShardingSphereServerException
    
    * Refactor ShardingSphereServerException
    
    * Refactor ShardingSphereServerException
    
    * Refactor ShardingSphereServerException
    
    * Refactor ShardingSphereServerException
    
    * Refactor ShardingSphereServerException
---
 .../user-manual/error-code/server-error-code.cn.md | 14 ++++------
 .../user-manual/error-code/server-error-code.en.md | 14 ++++------
 .../exception/TypedPropertiesServerException.java  |  2 +-
 .../state/datasource/DataSourceStateManager.java   |  2 +-
 .../exception/UnavailableDataSourceException.java  |  4 +--
 .../exception/TypedPropertiesExceptionTest.java    |  3 +-
 .../ServiceProviderNotFoundException.java          |  2 +-
 .../ServiceProviderNotFoundExceptionTest.java      |  2 +-
 .../proxy/backend/hbase/context/HBaseContext.java  |  8 +++---
 .../hbase/context/HBaseRegionWarmUpContext.java    |  8 +++---
 .../converter/HBaseOperationConverterFactory.java  | 11 ++++----
 .../hbase/exception/HBaseOperationException.java   | 32 ----------------------
 .../result/update/HBaseRegionReloadUpdater.java    | 13 +++++----
 .../HBaseOperationConverterFactoryTest.java        | 12 ++++----
 .../type/HBaseDeleteOperationConverterTest.java    |  5 ++--
 .../type/HBaseUpdateOperationConverterTest.java    |  5 ++--
 .../hbase/result/query/HBaseListResultSetTest.java |  3 +-
 .../proxy/database/DatabaseServerInfo.java         |  4 +--
 ...on.java => DatabaseServerLoadingException.java} |  4 +--
 .../proxy/database/DatabaseServerInfoTest.java     |  4 +--
 20 files changed, 62 insertions(+), 90 deletions(-)

diff --git 
a/docs/document/content/user-manual/error-code/server-error-code.cn.md 
b/docs/document/content/user-manual/error-code/server-error-code.cn.md
index aeb19bb1d65..797a0add859 100644
--- a/docs/document/content/user-manual/error-code/server-error-code.cn.md
+++ b/docs/document/content/user-manual/error-code/server-error-code.cn.md
@@ -6,11 +6,9 @@ chapter = true
 
 服务器发生错误时所提供的唯一错误码,打印在 Proxy 后端或 JDBC 启动日志中。
 
-| 错误码                   | 错误信息                                                 
          |
-|-----------------------|----------------------------------------------------------------|
-| SPI-00001             | No implementation class load from SPI \`%s\` with 
type \`%s\`. |
-| DATA-SOURCE-00001     | Data source unavailable.                             
          |
-| PROPS-00001           | Value \`%s\` of \`%s\` cannot convert to type 
\`%s\`.          |
-| PROXY-00001           | Load database server info failed.                    
          |
-| SPRING-00001          | Can not find JNDI data source.                       
          |
-| SPRING-SHARDING-00001 | Can not support type \`%s\`.                         
          |
+| 错误码               | 错误信息                                                     
  |
+|-------------------|------------------------------------------------------------|
+| SPI-00001         | No implementation class load from SPI '%s' with type 
'%s'. |
+| DATA-SOURCE-00001 | Data source '%s' is unavailable.                         
  |
+| PROPS-00001       | Properties convert failed, details are: %s.              
  |
+| PROXY-00001       | Load database server info failed.                        
  |
diff --git 
a/docs/document/content/user-manual/error-code/server-error-code.en.md 
b/docs/document/content/user-manual/error-code/server-error-code.en.md
index f7982b8b166..6a91e47d540 100644
--- a/docs/document/content/user-manual/error-code/server-error-code.en.md
+++ b/docs/document/content/user-manual/error-code/server-error-code.en.md
@@ -6,11 +6,9 @@ chapter = true
 
 Unique codes provided when server exception occur, which printed by Proxy 
backend or JDBC startup logs.
 
-| Error Code            | Reason                                               
          |
-|-----------------------|----------------------------------------------------------------|
-| SPI-00001             | No implementation class load from SPI \`%s\` with 
type \`%s\`. |
-| DATA-SOURCE-00001     | Data source unavailable.                             
          |
-| PROPS-00001           | Value \`%s\` of \`%s\` cannot convert to type 
\`%s\`.          |
-| PROXY-00001           | Load database server info failed.                    
          |
-| SPRING-00001          | Can not find JNDI data source.                       
          |
-| SPRING-SHARDING-00001 | Can not support type \`%s\`.                         
          |
+| Error Code        | Reason                                                   
  |
+|-------------------|------------------------------------------------------------|
+| SPI-00001         | No implementation class load from SPI '%s' with type 
'%s'. |
+| DATA-SOURCE-00001 | Data source '%s' is unavailable.                         
  |
+| PROPS-00001       | Properties convert failed, details are: %s.              
  |
+| PROXY-00001       | Load database server info failed.                        
  |
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesServerException.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesServerException.java
index d9fe1236de5..e9c5fa91c79 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesServerException.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesServerException.java
@@ -33,6 +33,6 @@ public final class TypedPropertiesServerException extends 
ShardingSphereServerEx
     private static final int ERROR_CODE = 1;
     
     public TypedPropertiesServerException(final Collection<String> 
errorMessages) {
-        super(ERROR_CATEGORY, ERROR_CODE, String.join(System.lineSeparator(), 
errorMessages));
+        super(ERROR_CATEGORY, ERROR_CODE, String.format("Properties convert 
failed, details are: %s.", String.join(System.lineSeparator(), errorMessages)));
     }
 }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/DataSourceStateManager.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/DataSourceStateManager.java
index b497f0de0cc..594b9042ab1 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/DataSourceStateManager.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/DataSourceStateManager.java
@@ -87,7 +87,7 @@ public final class DataSourceStateManager {
         try (Connection ignored = dataSource.getConnection()) {
             dataSourceStates.put(getCacheKey(databaseName, 
actualDataSourceName), DataSourceState.ENABLED);
         } catch (final SQLException ex) {
-            ShardingSpherePreconditions.checkState(forceStart, () -> new 
UnavailableDataSourceException(ex, actualDataSourceName));
+            ShardingSpherePreconditions.checkState(forceStart, () -> new 
UnavailableDataSourceException(actualDataSourceName, ex));
             log.error("Data source unavailable, ignored with the -f 
parameter.", ex);
         }
     }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/exception/UnavailableDataSourceException.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/exception/UnavailableDataSourceException.java
index 5b85c1c0722..888db2dd95f 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/exception/UnavailableDataSourceException.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/datasource/exception/UnavailableDataSourceException.java
@@ -32,7 +32,7 @@ public final class UnavailableDataSourceException extends 
ShardingSphereServerEx
     
     private static final int ERROR_CODE = 1;
     
-    public UnavailableDataSourceException(final SQLException cause, final 
String dataSourceName) {
-        super(ERROR_CATEGORY, ERROR_CODE, String.format("Data source `%s` is 
unavailable.", dataSourceName), cause);
+    public UnavailableDataSourceException(final String dataSourceName, final 
SQLException cause) {
+        super(ERROR_CATEGORY, ERROR_CODE, String.format("Data source '%s' is 
unavailable.", dataSourceName), cause);
     }
 }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesExceptionTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesExceptionTest.java
index 2fd1bd119ef..5e0b898e4a3 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesExceptionTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/props/exception/TypedPropertiesExceptionTest.java
@@ -28,6 +28,7 @@ class TypedPropertiesExceptionTest {
     
     @Test
     void assertGetMessage() {
-        assertThat(new TypedPropertiesServerException(Arrays.asList("foo_msg", 
"bar_msg")).getMessage(), is("PROPS-00001: foo_msg" + System.lineSeparator() + 
"bar_msg"));
+        assertThat(new TypedPropertiesServerException(Arrays.asList("foo_msg", 
"bar_msg")).getMessage(),
+                is("PROPS-00001: Properties convert failed, details are: 
foo_msg" + System.lineSeparator() + "bar_msg."));
     }
 }
diff --git 
a/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundException.java
 
b/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundException.java
index 0377edddc15..4de2dd2e5f1 100644
--- 
a/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundException.java
+++ 
b/infra/spi/src/main/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundException.java
@@ -31,6 +31,6 @@ public final class ServiceProviderNotFoundException extends 
ShardingSphereServer
     private static final int ERROR_CODE = 1;
     
     public ServiceProviderNotFoundException(final Class<?> clazz, final Object 
type) {
-        super(ERROR_CATEGORY, ERROR_CODE, String.format("No implementation 
class load from SPI `%s` with type `%s`.", clazz.getName(), type));
+        super(ERROR_CATEGORY, ERROR_CODE, String.format("No implementation 
class load from SPI '%s' with type '%s'.", clazz.getName(), type));
     }
 }
diff --git 
a/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundExceptionTest.java
 
b/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundExceptionTest.java
index 74d0983440e..e6fef53ad73 100644
--- 
a/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundExceptionTest.java
+++ 
b/infra/spi/src/test/java/org/apache/shardingsphere/infra/spi/exception/ServiceProviderNotFoundExceptionTest.java
@@ -26,6 +26,6 @@ class ServiceProviderNotFoundExceptionTest {
     
     @Test
     void assertGetMessageWithClassAndType() {
-        assertThat(new ServiceProviderNotFoundException(Object.class, 
"Foo").getMessage(), is("SPI-00001: No implementation class load from SPI 
`java.lang.Object` with type `Foo`."));
+        assertThat(new ServiceProviderNotFoundException(Object.class, 
"Foo").getMessage(), is("SPI-00001: No implementation class load from SPI 
'java.lang.Object' with type 'Foo'."));
     }
 }
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseContext.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseContext.java
index d8804c6a388..61f677dc3ca 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseContext.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseContext.java
@@ -25,14 +25,13 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
+import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.kernel.metadata.TableNotFoundException;
 import org.apache.shardingsphere.proxy.backend.hbase.bean.HBaseCluster;
 import 
org.apache.shardingsphere.proxy.backend.hbase.executor.HBaseBackgroundExecutorManager;
 import org.apache.shardingsphere.proxy.backend.hbase.executor.HBaseExecutor;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 import org.apache.shardingsphere.proxy.backend.hbase.props.HBaseProperties;
 import org.apache.shardingsphere.proxy.backend.hbase.props.HBasePropertyKey;
-import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 
 import java.io.IOException;
 import java.sql.SQLException;
@@ -158,10 +157,11 @@ public final class HBaseContext implements AutoCloseable {
      * 
      * @param clusterName cluster name
      * @return HBase connection
+     * @throws SQLException SQL exception
      */
-    public Connection getConnectionByClusterName(final String clusterName) {
+    public Connection getConnectionByClusterName(final String clusterName) 
throws SQLException {
         Optional<HBaseCluster> cluster = connections.stream().filter(each -> 
each.getClusterName().equalsIgnoreCase(clusterName)).findFirst();
-        ShardingSpherePreconditions.checkState(cluster.isPresent(), () -> new 
HBaseOperationException(String.format("Cluster `%s` is not exists", 
clusterName)));
+        ShardingSpherePreconditions.checkState(cluster.isPresent(), () -> new 
SQLException(String.format("Cluster `%s` is not exists", clusterName)));
         return cluster.get().getConnection();
     }
     
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
index 39e4a70674b..ccf7b2a84d8 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseRegionWarmUpContext.java
@@ -23,10 +23,10 @@ import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.RegionLocator;
 import org.apache.shardingsphere.proxy.backend.hbase.bean.HBaseCluster;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 import 
org.apache.shardingsphere.proxy.backend.hbase.executor.HBaseTaskExecutorManager;
 
 import java.io.IOException;
+import java.sql.SQLException;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -79,9 +79,9 @@ public final class HBaseRegionWarmUpContext {
      *
      * @param tableName table name
      * @param connection HBase connection
-     * @throws HBaseOperationException HBase operation exception
+     * @throws SQLException SQL exception
      */
-    public void loadRegionInfo(final String tableName, final Connection 
connection) {
+    public void loadRegionInfo(final String tableName, final Connection 
connection) throws SQLException {
         HBaseRegionWarmUpContext.getInstance().addExecuteCount();
         try {
             if (null == connection) {
@@ -90,7 +90,7 @@ public final class HBaseRegionWarmUpContext {
             RegionLocator regionLocator = 
connection.getRegionLocator(TableName.valueOf(tableName));
             regionLocator.getAllRegionLocations();
         } catch (final IOException ex) {
-            throw new HBaseOperationException(String.format("table: %s warm up 
error, getRegionLocator execute error reason is  %s", tableName, ex));
+            throw new SQLException(String.format("Table '%s' warm up error.", 
tableName), ex);
         }
     }
     
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
index 7448a327375..73e57e5feb6 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactory.java
@@ -27,10 +27,11 @@ import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatem
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.UpdateStatementContext;
 import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseDeleteOperationConverter;
 import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseInsertOperationConverter;
+import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseRegionReloadOperationConverter;
 import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseSelectOperationConverter;
 import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseUpdateOperationConverter;
-import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseRegionReloadOperationConverter;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
+
+import java.sql.SQLException;
 
 /**
  * HBase operation converter factory.
@@ -43,9 +44,9 @@ public final class HBaseOperationConverterFactory {
      *
      * @param sqlStatementContext SQL statement context
      * @return instance of converter
-     * @throws HBaseOperationException HBase operation exception
+     * @throws SQLException SQL exception
      */
-    public static HBaseOperationConverter newInstance(final 
SQLStatementContext sqlStatementContext) {
+    public static HBaseOperationConverter newInstance(final 
SQLStatementContext sqlStatementContext) throws SQLException {
         if (sqlStatementContext instanceof SelectStatementContext) {
             return new HBaseSelectOperationConverter(sqlStatementContext);
         }
@@ -61,6 +62,6 @@ public final class HBaseOperationConverterFactory {
         if (sqlStatementContext instanceof FlushStatementContext) {
             return new 
HBaseRegionReloadOperationConverter(sqlStatementContext);
         }
-        throw new HBaseOperationException("Can not find HBase converter.");
+        throw new SQLException("Can not find HBase converter.");
     }
 }
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/exception/HBaseOperationException.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/exception/HBaseOperationException.java
deleted file mode 100644
index 8ee82d07ff1..00000000000
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/exception/HBaseOperationException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.hbase.exception;
-
-import 
org.apache.shardingsphere.infra.exception.core.external.ShardingSphereExternalException;
-
-/**
- * HBase operation exception.
- */
-public final class HBaseOperationException extends 
ShardingSphereExternalException {
-    
-    private static final long serialVersionUID = -2361593557266150170L;
-    
-    public HBaseOperationException(final String errorInfo) {
-        super(errorInfo);
-    }
-}
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/update/HBaseRegionReloadUpdater.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/update/HBaseRegionReloadUpdater.java
index aef07677158..e842bfeb80d 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/update/HBaseRegionReloadUpdater.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/update/HBaseRegionReloadUpdater.java
@@ -25,6 +25,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.context.HBaseContext;
 import 
org.apache.shardingsphere.proxy.backend.hbase.context.HBaseRegionWarmUpContext;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLFlushStatement;
 
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -37,14 +38,16 @@ import java.util.concurrent.atomic.AtomicInteger;
 public final class HBaseRegionReloadUpdater implements HBaseUpdater {
     
     @Override
-    public Collection<UpdateResult> executeUpdate(final HBaseOperation 
operation) {
+    public Collection<UpdateResult> executeUpdate(final HBaseOperation 
operation) throws SQLException {
         List<String> tables = 
Arrays.asList(operation.getTableName().split(","));
         AtomicInteger updateCount = new AtomicInteger();
         
tables.stream().filter(this::isNotNullTableName).forEach(this::checkTableExists);
-        tables.stream().filter(this::isNotNullTableName).forEach(each -> {
-            updateCount.getAndIncrement();
-            HBaseRegionWarmUpContext.getInstance().loadRegionInfo(each, 
HBaseContext.getInstance().getConnection(each));
-        });
+        for (String each : tables) {
+            if (isNotNullTableName(each)) {
+                updateCount.getAndIncrement();
+                HBaseRegionWarmUpContext.getInstance().loadRegionInfo(each, 
HBaseContext.getInstance().getConnection(each));
+            }
+        }
         return Collections.singleton(new UpdateResult(updateCount.get(), 0));
     }
     
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
index 029d9b4e4c9..92aff0c731c 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/HBaseOperationConverterFactoryTest.java
@@ -30,6 +30,8 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseSelectO
 import 
org.apache.shardingsphere.proxy.backend.hbase.converter.type.HBaseUpdateOperationConverter;
 import org.junit.jupiter.api.Test;
 
+import java.sql.SQLException;
+
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.mock;
@@ -37,35 +39,35 @@ import static org.mockito.Mockito.mock;
 class HBaseOperationConverterFactoryTest {
     
     @Test
-    void assertExecuteSelectStatement() {
+    void assertExecuteSelectStatement() throws SQLException {
         SQLStatementContext sqlStatementContext = 
mock(SelectStatementContext.class);
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
         assertThat(converter, instanceOf(HBaseSelectOperationConverter.class));
     }
     
     @Test
-    void assertExecuteInsertStatement() {
+    void assertExecuteInsertStatement() throws SQLException {
         SQLStatementContext sqlStatementContext = 
mock(InsertStatementContext.class);
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
         assertThat(converter, instanceOf(HBaseInsertOperationConverter.class));
     }
     
     @Test
-    void assertExecuteUpdateStatement() {
+    void assertExecuteUpdateStatement() throws SQLException {
         SQLStatementContext sqlStatementContext = 
mock(UpdateStatementContext.class);
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
         assertThat(converter, instanceOf(HBaseUpdateOperationConverter.class));
     }
     
     @Test
-    void assertExecuteDeleteStatement() {
+    void assertExecuteDeleteStatement() throws SQLException {
         SQLStatementContext sqlStatementContext = 
mock(DeleteStatementContext.class);
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
         assertThat(converter, instanceOf(HBaseDeleteOperationConverter.class));
     }
     
     @Test
-    void assertExecuteFlushStatement() {
+    void assertExecuteFlushStatement() throws SQLException {
         SQLStatementContext sqlStatementContext = 
mock(FlushStatementContext.class);
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
         assertThat(converter, 
instanceOf(HBaseRegionReloadOperationConverter.class));
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
index ac1cc0e04f6..1252961feb5 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseDeleteOperationConverterTest.java
@@ -37,6 +37,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseSupportedSQLSta
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.junit.jupiter.api.Test;
 
+import java.sql.SQLException;
 import java.sql.Types;
 import java.util.Collections;
 import java.util.Map;
@@ -51,7 +52,7 @@ import static org.mockito.Mockito.when;
 class HBaseDeleteOperationConverterTest {
     
     @Test
-    void assertConvert() {
+    void assertConvert() throws SQLException {
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement(HBaseSupportedSQLStatement.getDeleteStatement());
         SQLStatementContext sqlStatementContext = new 
SQLBindEngine(mockMetaData(), DefaultDatabase.LOGIC_NAME, new 
HintValueContext()).bind(sqlStatement, Collections.emptyList());
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
@@ -61,7 +62,7 @@ class HBaseDeleteOperationConverterTest {
     }
     
     @Test
-    void assertConvertWithIn() {
+    void assertConvertWithIn() throws SQLException {
         String sql = " delete /*+ hbase */ from t_test_order where rowKey in 
('2', '1')";
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement(sql);
         SQLStatementContext sqlStatementContext = new 
SQLBindEngine(mockMetaData(), DefaultDatabase.LOGIC_NAME, new 
HintValueContext()).bind(sqlStatement, Collections.emptyList());
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
index 8764219772a..29cb47e2948 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/converter/type/HBaseUpdateOperationConverterTest.java
@@ -37,6 +37,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseSupportedSQLSta
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.junit.jupiter.api.Test;
 
+import java.sql.SQLException;
 import java.sql.Types;
 import java.util.Arrays;
 import java.util.Collections;
@@ -52,7 +53,7 @@ import static org.mockito.Mockito.when;
 class HBaseUpdateOperationConverterTest {
     
     @Test
-    void assertConvert() {
+    void assertConvert() throws SQLException {
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement(HBaseSupportedSQLStatement.getUpdateStatement());
         SQLStatementContext sqlStatementContext = new 
SQLBindEngine(mockMetaData(), DefaultDatabase.LOGIC_NAME, new 
HintValueContext()).bind(sqlStatement, Collections.emptyList());
         HBaseOperationConverter converter = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext);
@@ -62,7 +63,7 @@ class HBaseUpdateOperationConverterTest {
     }
     
     @Test
-    void assertConvertWithIn() {
+    void assertConvertWithIn() throws SQLException {
         String sql = " update /*+ hbase */ t_test_order set age = 10 where 
rowKey in (1, '2')";
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement(sql);
         SQLStatementContext sqlStatementContext = new 
SQLBindEngine(mockMetaData(), DefaultDatabase.LOGIC_NAME, new 
HintValueContext()).bind(sqlStatement, Collections.emptyList());
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSetTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSetTest.java
index b42a16098bf..5c42111180f 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSetTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSetTest.java
@@ -18,7 +18,6 @@
 package org.apache.shardingsphere.proxy.backend.hbase.result.query;
 
 import 
org.apache.shardingsphere.infra.binder.context.statement.dal.ShowTablesStatementContext;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseSupportedSQLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowTablesStatement;
@@ -88,6 +87,6 @@ class HBaseListResultSetTest extends 
AbstractHBaseQueryResultSetTest {
         HBaseQueryResultSet resultSet = new HBaseListResultSet();
         ShowTablesStatementContext context = 
mock(ShowTablesStatementContext.class);
         when(context.getSqlStatement()).thenReturn((MySQLShowTablesStatement) 
sqlStatement);
-        assertThrows(HBaseOperationException.class, () -> 
resultSet.init(context));
+        assertThrows(SQLException.class, () -> resultSet.init(context));
     }
 }
diff --git 
a/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfo.java
 
b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfo.java
index 5407054be26..bd7bf48bea2 100644
--- 
a/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfo.java
+++ 
b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfo.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.proxy.database;
 
 import lombok.Getter;
-import 
org.apache.shardingsphere.proxy.exception.DatabaseServerLoadingServerException;
+import 
org.apache.shardingsphere.proxy.exception.DatabaseServerLoadingException;
 
 import javax.sql.DataSource;
 import java.sql.Connection;
@@ -41,7 +41,7 @@ public final class DatabaseServerInfo {
             databaseType = databaseMetaData.getDatabaseProductName();
             databaseVersion = databaseMetaData.getDatabaseProductVersion();
         } catch (final SQLException ex) {
-            throw new DatabaseServerLoadingServerException(ex);
+            throw new DatabaseServerLoadingException(ex);
         }
     }
     
diff --git 
a/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingServerException.java
 
b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingException.java
similarity index 88%
rename from 
proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingServerException.java
rename to 
proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingException.java
index 2823ae3ec8a..2d86fcbb192 100644
--- 
a/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingServerException.java
+++ 
b/proxy/bootstrap/src/main/java/org/apache/shardingsphere/proxy/exception/DatabaseServerLoadingException.java
@@ -24,7 +24,7 @@ import java.sql.SQLException;
 /**
  * Database server loading exception.
  */
-public final class DatabaseServerLoadingServerException extends 
ShardingSphereServerException {
+public final class DatabaseServerLoadingException extends 
ShardingSphereServerException {
     
     private static final long serialVersionUID = -4016611838309960905L;
     
@@ -32,7 +32,7 @@ public final class DatabaseServerLoadingServerException 
extends ShardingSphereSe
     
     private static final int ERROR_CODE = 1;
     
-    public DatabaseServerLoadingServerException(final SQLException cause) {
+    public DatabaseServerLoadingException(final SQLException cause) {
         super(ERROR_CATEGORY, ERROR_CODE, "Load database server info failed.", 
cause);
     }
 }
diff --git 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfoTest.java
 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfoTest.java
index abb748e4ae9..d89aa3b2529 100644
--- 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfoTest.java
+++ 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/database/DatabaseServerInfoTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.database;
 
-import 
org.apache.shardingsphere.proxy.exception.DatabaseServerLoadingServerException;
+import 
org.apache.shardingsphere.proxy.exception.DatabaseServerLoadingException;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Answers;
@@ -43,7 +43,7 @@ class DatabaseServerInfoTest {
     @Test
     void assertNewInstanceFailure() throws SQLException {
         when(dataSource.getConnection()).thenThrow(SQLException.class);
-        assertThrows(DatabaseServerLoadingServerException.class, () -> new 
DatabaseServerInfo(dataSource));
+        assertThrows(DatabaseServerLoadingException.class, () -> new 
DatabaseServerInfo(dataSource));
     }
     
     @Test


Reply via email to