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 4089b1cb97e Replace IOException to SQLException in HBase module 
(#30873)
4089b1cb97e is described below

commit 4089b1cb97e8be5d2e2320727b2ceafbc4b010e2
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Apr 12 23:54:10 2024 +0800

    Replace IOException to SQLException in HBase module (#30873)
    
    * Replace IOException to SQLException in HBase module
    
    * Replace IOException to SQLException in HBase module
    
    * Replace IOException to SQLException in HBase module
    
    * Remove duplicate dependencies
---
 agent/plugins/tracing/type/opentelemetry/pom.xml    |  5 -----
 .../hbase/connector/HBaseConnectionFactory.java     |  9 +++++----
 .../proxy/backend/hbase/context/HBaseContext.java   | 17 +++++++++--------
 .../hbase/context/HBaseMetaDataRefresher.java       |  4 ++--
 .../proxy/backend/hbase/executor/HBaseExecutor.java | 21 +++++++++++----------
 .../hbase/handler/HBaseBackendQueryHandler.java     |  9 ++-------
 .../hbase/result/query/HBaseDescribeResultSet.java  |  9 ++-------
 .../hbase/result/query/HBaseGetResultSet.java       |  9 +++++----
 .../hbase/result/query/HBaseListResultSet.java      | 11 +++--------
 .../hbase/result/query/HBaseQueryResultSet.java     |  6 +++---
 .../result/update/HBaseRegionReloadUpdater.java     |  4 ++--
 .../query/AbstractHBaseQueryResultSetTest.java      |  5 +++--
 .../result/query/HBaseDescribeResultSetTest.java    |  5 +++--
 .../hbase/result/query/HBaseListResultSetTest.java  |  8 ++++----
 14 files changed, 54 insertions(+), 68 deletions(-)

diff --git a/agent/plugins/tracing/type/opentelemetry/pom.xml 
b/agent/plugins/tracing/type/opentelemetry/pom.xml
index c05934df860..78ba3b59502 100644
--- a/agent/plugins/tracing/type/opentelemetry/pom.xml
+++ b/agent/plugins/tracing/type/opentelemetry/pom.xml
@@ -55,11 +55,6 @@
                 <artifactId>okhttp</artifactId>
                 <version>${okhttp.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.jetbrains.kotlin</groupId>
-                <artifactId>kotlin-stdlib-jdk8</artifactId>
-                <version>${kotlin-stdlib.version}</version>
-            </dependency>
         </dependencies>
     </dependencyManagement>
     
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/connector/HBaseConnectionFactory.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/connector/HBaseConnectionFactory.java
index f747a844172..2b0703cc4d8 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/connector/HBaseConnectionFactory.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/connector/HBaseConnectionFactory.java
@@ -28,9 +28,9 @@ import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.security.UserGroupInformation;
 import 
org.apache.shardingsphere.proxy.backend.hbase.config.YamlHBaseConfiguration;
 import org.apache.shardingsphere.proxy.backend.hbase.config.YamlHBaseParameter;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 
 import java.io.IOException;
+import java.sql.SQLException;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -46,8 +46,9 @@ public final class HBaseConnectionFactory {
      * 
      * @param yamlProxyHBaseConfig YAML HBase configuration
      * @return A connection for per HBase cluster
+     * @throws SQLException SQL exception
      */
-    public static Map<String, Connection> createHBaseConnections(final 
YamlHBaseConfiguration yamlProxyHBaseConfig) {
+    public static Map<String, Connection> createHBaseConnections(final 
YamlHBaseConfiguration yamlProxyHBaseConfig) throws SQLException {
         Map<String, Connection> result = new 
LinkedHashMap<>(yamlProxyHBaseConfig.getDataSources().size(), 1F);
         for (Entry<String, YamlHBaseParameter> entry : 
yamlProxyHBaseConfig.getDataSources().entrySet()) {
             result.put(entry.getKey(), createConnection(entry.getValue()));
@@ -55,14 +56,14 @@ public final class HBaseConnectionFactory {
         return result;
     }
     
-    private static Connection createConnection(final YamlHBaseParameter 
parameter) {
+    private static Connection createConnection(final YamlHBaseParameter 
parameter) throws SQLException {
         Configuration config = createConfiguration(parameter);
         try {
             return Strings.isNullOrEmpty(parameter.getAccessUser())
                     ? ConnectionFactory.createConnection(config)
                     : ConnectionFactory.createConnection(config, 
User.create(UserGroupInformation.createRemoteUser(parameter.getAccessUser())));
         } catch (final IOException ex) {
-            throw new HBaseOperationException(ex.getMessage());
+            throw new SQLException(ex);
         }
     }
     
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 f320f73a333..d8804c6a388 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,6 +25,7 @@ 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.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;
@@ -34,6 +35,7 @@ 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;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -81,9 +83,9 @@ public final class HBaseContext implements AutoCloseable {
      * Initialize HBase context.
      * 
      * @param connections A connection for per HBase cluster
-     * @throws IOException IO exception
+     * @throws SQLException SQL exception
      */
-    public void init(final Map<String, Connection> connections) throws 
IOException {
+    public void init(final Map<String, Connection> connections) throws 
SQLException {
         this.connections = new ArrayList<>(connections.size());
         warmUpContext = HBaseRegionWarmUpContext.getInstance();
         warmUpContext.init(getWarmUpThreadSize());
@@ -110,9 +112,9 @@ public final class HBaseContext implements AutoCloseable {
      * Load tables.
      * 
      * @param hbaseCluster HBase cluster
-     * @throws IOException IO exception
+     * @throws SQLException SQL exception
      */
-    public synchronized void loadTables(final HBaseCluster hbaseCluster) 
throws IOException {
+    public synchronized void loadTables(final HBaseCluster hbaseCluster) 
throws SQLException {
         warmUpContext.initStatisticsInfo(System.currentTimeMillis());
         HTableDescriptor[] hTableDescriptor = 
HBaseExecutor.executeAdmin(hbaseCluster.getConnection(), Admin::listTables);
         for (String each : 
Arrays.stream(hTableDescriptor).map(HTableDescriptor::getNameAsString).collect(Collectors.toList()))
 {
@@ -137,7 +139,7 @@ public final class HBaseContext implements AutoCloseable {
      * @return HBase connection
      */
     public Connection getConnection(final String tableName) {
-        
ShardingSpherePreconditions.checkState(tableConnectionMap.containsKey(tableName),
 () -> new HBaseOperationException(String.format("Table `%s` is not exists", 
tableName)));
+        
ShardingSpherePreconditions.checkState(tableConnectionMap.containsKey(tableName),
 () -> new TableNotFoundException(tableName));
         return tableConnectionMap.get(tableName).getConnection();
     }
     
@@ -164,7 +166,7 @@ public final class HBaseContext implements AutoCloseable {
     }
     
     @Override
-    public void close() {
+    public void close() throws SQLException {
         connections.clear();
         tableConnectionMap.clear();
         executorManager.close();
@@ -172,8 +174,7 @@ public final class HBaseContext implements AutoCloseable {
             try {
                 connection.close();
             } catch (final IOException ex) {
-                // TODO define new exception, do not use RuntimeException
-                throw new RuntimeException(ex);
+                throw new SQLException(ex);
             }
         }
     }
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseMetaDataRefresher.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseMetaDataRefresher.java
index df55ca1795d..c32549396cb 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseMetaDataRefresher.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/context/HBaseMetaDataRefresher.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.proxy.backend.hbase.context;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.proxy.backend.hbase.bean.HBaseCluster;
 
-import java.io.IOException;
+import java.sql.SQLException;
 
 /**
  * HBase meta data refresher.
@@ -35,7 +35,7 @@ public final class HBaseMetaDataRefresher implements Runnable 
{
         for (HBaseCluster hBaseCluster : context.getConnections()) {
             try {
                 context.loadTables(hBaseCluster);
-            } catch (final IOException ignored) {
+            } catch (final SQLException ignored) {
             }
         }
     }
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/executor/HBaseExecutor.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/executor/HBaseExecutor.java
index d540e06ede4..33a56f4448b 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/executor/HBaseExecutor.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/executor/HBaseExecutor.java
@@ -24,7 +24,6 @@ import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.Table;
 import org.apache.shardingsphere.proxy.backend.hbase.context.HBaseContext;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 import org.apache.shardingsphere.proxy.backend.hbase.result.HBaseAdminCallback;
 import org.apache.shardingsphere.proxy.backend.hbase.result.HBaseQueryCallback;
 import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseUpdateCallback;
@@ -55,11 +54,11 @@ public final class HBaseExecutor {
         }
     }
     
-    private static void executeUpdate(final Table table, final 
HBaseUpdateCallback operation) {
+    private static void executeUpdate(final Table table, final 
HBaseUpdateCallback operation) throws SQLException {
         try {
             operation.executeInHBase(table);
         } catch (final IOException ex) {
-            throw new HBaseOperationException(ex.getMessage());
+            throw new SQLException(ex);
         }
     }
     
@@ -70,22 +69,22 @@ public final class HBaseExecutor {
      * @param operation operation
      * @param <T> type of result
      * @return query result
-     * @throws HBaseOperationException HBase operation exception
+     * @throws SQLException SQL exception
      */
-    public static <T> T executeQuery(final String tableName, final 
HBaseQueryCallback<T> operation) {
+    public static <T> T executeQuery(final String tableName, final 
HBaseQueryCallback<T> operation) throws SQLException {
         TableName backendTableName = TableName.valueOf(tableName);
         try (Table table = 
HBaseContext.getInstance().getConnection(tableName).getTable(backendTableName)) 
{
             return executeQuery(table, operation);
         } catch (final IOException ex) {
-            throw new HBaseOperationException(ex.getMessage());
+            throw new SQLException(ex);
         }
     }
     
-    private static <T> T executeQuery(final Table table, final 
HBaseQueryCallback<T> operation) {
+    private static <T> T executeQuery(final Table table, final 
HBaseQueryCallback<T> operation) throws SQLException {
         try {
             return operation.executeInHBase(table);
         } catch (final IOException ex) {
-            throw new HBaseOperationException(ex.getMessage());
+            throw new SQLException(ex);
         }
     }
     
@@ -96,11 +95,13 @@ public final class HBaseExecutor {
      * @param operation operation
      * @param <T> type of result
      * @return admin result
-     * @throws IOException IO exception
+     * @throws SQLException SQL exception
      */
-    public static <T> T executeAdmin(final Connection connection, final 
HBaseAdminCallback<T> operation) throws IOException {
+    public static <T> T executeAdmin(final Connection connection, final 
HBaseAdminCallback<T> operation) throws SQLException {
         try (Admin admin = connection.getAdmin()) {
             return operation.executeInHBase(admin);
+        } catch (final IOException ex) {
+            throw new SQLException(ex);
         }
     }
 }
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
index 54fcead27f1..f3b699031c1 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
@@ -18,8 +18,8 @@
 package org.apache.shardingsphere.proxy.backend.hbase.handler;
 
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.binder.engine.SQLBindEngine;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
+import org.apache.shardingsphere.infra.binder.engine.SQLBindEngine;
 import org.apache.shardingsphere.infra.hint.HintValueContext;
 import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.hbase.result.query.HBaseQueryResultSet;
@@ -28,7 +28,6 @@ import 
org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader
 import 
org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
-import java.io.IOException;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.Collection;
@@ -49,11 +48,7 @@ public final class HBaseBackendQueryHandler implements 
HBaseBackendHandler {
     @Override
     public ResponseHeader execute() throws SQLException {
         SQLStatementContext sqlStatementContext = new SQLBindEngine(null, "", 
new HintValueContext()).bind(sqlStatement, Collections.emptyList());
-        try {
-            resultSet.init(sqlStatementContext);
-        } catch (final IOException ex) {
-            throw new SQLException(ex);
-        }
+        resultSet.init(sqlStatementContext);
         List<QueryHeader> queryHeaders = 
resultSet.getColumnNames().stream().map(each -> new QueryHeader("", "", each, 
each, Types.CHAR, "CHAR", 255, 0, false, false, false, false))
                 .collect(Collectors.toList());
         return new QueryResponseHeader(queryHeaders);
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
index eb318e8fe87..eaa37c52897 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSet.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.context.HBaseContext;
 import org.apache.shardingsphere.proxy.backend.hbase.executor.HBaseExecutor;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowCreateTableStatement;
 
-import java.io.IOException;
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -40,13 +40,8 @@ public final class HBaseDescribeResultSet implements 
HBaseQueryResultSet {
     
     private Iterator<HTableDescriptor> iterator;
     
-    /**
-     * Init data.
-     *
-     * @param sqlStatementContext SQL statement context
-     */
     @Override
-    public void init(final SQLStatementContext sqlStatementContext) throws 
IOException {
+    public void init(final SQLStatementContext sqlStatementContext) throws 
SQLException {
         ShowCreateTableStatementContext statementContext = 
(ShowCreateTableStatementContext) sqlStatementContext;
         String tableName = 
statementContext.getTablesContext().getTableNames().iterator().next();
         boolean isExists = 
HBaseExecutor.executeAdmin(HBaseContext.getInstance().getConnection(tableName), 
admin -> admin.tableExists(TableName.valueOf(tableName)));
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
index 025d84e734a..0a4062b52ea 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
@@ -45,6 +45,7 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.Sim
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
 
 import java.nio.charset.StandardCharsets;
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -86,7 +87,7 @@ public final class HBaseGetResultSet implements 
HBaseQueryResultSet {
      * @param sqlStatementContext SQL statement context
      */
     @Override
-    public void init(final SQLStatementContext sqlStatementContext) {
+    public void init(final SQLStatementContext sqlStatementContext) throws 
SQLException {
         statementContext = (SelectStatementContext) sqlStatementContext;
         initResultNum(sqlStatementContext);
         HBaseOperation operation = 
HBaseOperationConverterFactory.newInstance(sqlStatementContext).convert();
@@ -108,14 +109,14 @@ public final class HBaseGetResultSet implements 
HBaseQueryResultSet {
         paginationSegment.ifPresent(optional -> maxLimitResultSize = 
Math.min(maxLimitResultSize, ((NumberLiteralLimitValueSegment) 
optional).getValue()));
     }
     
-    private void executeGetRequest(final HBaseOperation operation) {
+    private void executeGetRequest(final HBaseOperation operation) throws 
SQLException {
         Result result = HBaseExecutor.executeQuery(operation.getTableName(), 
table -> table.get((Get) operation.getOperation()));
         Collection<Result> rows = 0 == result.rawCells().length ? 
Collections.emptyList() : Collections.singleton(result);
         this.rows = rows.iterator();
         setColumnNames(this.rows);
     }
     
-    private void executeGetsRequest(final HBaseOperation operation) {
+    private void executeGetsRequest(final HBaseOperation operation) throws 
SQLException {
         List<Result> results = 
Arrays.asList(HBaseExecutor.executeQuery(operation.getTableName(), table -> 
table.get(((HBaseSelectOperation) operation.getOperation()).getGets())));
         results = results.stream().filter(result -> result.rawCells().length > 
0).collect(Collectors.toList());
         if (statementContext.getOrderByContext().isGenerated()) {
@@ -129,7 +130,7 @@ public final class HBaseGetResultSet implements 
HBaseQueryResultSet {
         return 
Bytes.toString(result1.getRow()).compareTo(Bytes.toString(result2.getRow()));
     }
     
-    private void executeScanRequest(final HBaseOperation hbaseOperation) {
+    private void executeScanRequest(final HBaseOperation hbaseOperation) 
throws SQLException {
         Scan scan = (Scan) hbaseOperation.getOperation();
         scan.setLimit((int) maxLimitResultSize);
         ResultScanner resultScanner = 
HBaseExecutor.executeQuery(hbaseOperation.getTableName(), table -> 
table.getScanner(scan));
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
index 1d6c379f24a..c830071f987 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseListResultSet.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.context.HBaseContext;
 import org.apache.shardingsphere.proxy.backend.hbase.executor.HBaseExecutor;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowTablesStatement;
 
-import java.io.IOException;
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -41,13 +41,8 @@ public final class HBaseListResultSet implements 
HBaseQueryResultSet {
     
     private Iterator<Entry<String, String>> iterator;
     
-    /**
-     * Init data.
-     *
-     * @param sqlStatementContext SQL statement context
-     */
     @Override
-    public void init(final SQLStatementContext sqlStatementContext) throws 
IOException {
+    public void init(final SQLStatementContext sqlStatementContext) throws 
SQLException {
         ShowTablesStatementContext context = (ShowTablesStatementContext) 
sqlStatementContext;
         Map<String, String> result;
         if (context.getSqlStatement().getFromSchema().isPresent()) {
@@ -59,7 +54,7 @@ public final class HBaseListResultSet implements 
HBaseQueryResultSet {
         iterator = result.entrySet().iterator();
     }
     
-    private Map<String, String> listTablesInHBaseByFromSchema(final String 
clusterName) throws IOException {
+    private Map<String, String> listTablesInHBaseByFromSchema(final String 
clusterName) throws SQLException {
         HTableDescriptor[] tables = 
HBaseExecutor.executeAdmin(HBaseContext.getInstance().getConnectionByClusterName(clusterName),
 Admin::listTables);
         Map<String, String> result = new HashMap<>(tables.length);
         for (HTableDescriptor tableDescriptor : tables) {
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
index 4eb8c914c24..d1f6406aaa1 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseQueryResultSet.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
-import java.io.IOException;
+import java.sql.SQLException;
 import java.util.Collection;
 
 /**
@@ -33,9 +33,9 @@ public interface HBaseQueryResultSet extends TypedSPI {
      * Initialize data.
      *
      * @param sqlStatementContext SQL statement context
-     * @throws IOException IO exception
+     * @throws SQLException SQL exception
      */
-    void init(SQLStatementContext sqlStatementContext) throws IOException;
+    void init(SQLStatementContext sqlStatementContext) throws SQLException;
     
     /**
      * Get result set column names.
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 5cc39f7433f..aef07677158 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
@@ -18,11 +18,11 @@
 package org.apache.shardingsphere.proxy.backend.hbase.result.update;
 
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.exception.kernel.metadata.TableNotFoundException;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.update.UpdateResult;
 import org.apache.shardingsphere.proxy.backend.hbase.bean.HBaseOperation;
 import org.apache.shardingsphere.proxy.backend.hbase.context.HBaseContext;
 import 
org.apache.shardingsphere.proxy.backend.hbase.context.HBaseRegionWarmUpContext;
-import 
org.apache.shardingsphere.proxy.backend.hbase.exception.HBaseOperationException;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLFlushStatement;
 
 import java.util.Arrays;
@@ -49,7 +49,7 @@ public final class HBaseRegionReloadUpdater implements 
HBaseUpdater {
     }
     
     private void checkTableExists(final String tableName) {
-        
ShardingSpherePreconditions.checkState(HBaseContext.getInstance().isTableExists(tableName),
 () -> new HBaseOperationException(String.format("Table `%s` is not exists", 
tableName)));
+        
ShardingSpherePreconditions.checkState(HBaseContext.getInstance().isTableExists(tableName),
 () -> new TableNotFoundException(tableName));
     }
     
     private boolean isNotNullTableName(final String tableName) {
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/AbstractHBaseQueryResultSetTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/AbstractHBaseQueryResultSetTest.java
index 42a4271e919..655c129efc6 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/AbstractHBaseQueryResultSetTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/AbstractHBaseQueryResultSetTest.java
@@ -38,6 +38,7 @@ import org.mockito.junit.jupiter.MockitoSettings;
 import org.mockito.quality.Strictness;
 
 import java.io.IOException;
+import java.sql.SQLException;
 import java.util.Collections;
 import java.util.Properties;
 
@@ -55,7 +56,7 @@ abstract class AbstractHBaseQueryResultSetTest {
     private Admin admin;
     
     @BeforeEach
-    void setUp() throws IOException {
+    void setUp() throws IOException, SQLException {
         Properties props = PropertiesBuilder.build(new 
Property(HBasePropertyKey.WARM_UP_THREAD_NUM.getKey(), String.valueOf(1)));
         HBaseContext.getInstance().setProps(new HBaseProperties(props));
         HTableDescriptor[] tableDescriptors = createHTableDescriptors();
@@ -84,7 +85,7 @@ abstract class AbstractHBaseQueryResultSetTest {
     }
     
     @AfterEach
-    void tearDown() {
+    void tearDown() throws SQLException {
         HBaseContext.getInstance().close();
     }
 }
diff --git 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSetTest.java
 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSetTest.java
index 1f28feb8a02..49e77f73b7f 100644
--- 
a/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSetTest.java
+++ 
b/proxy/backend/type/hbase/src/test/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseDescribeResultSetTest.java
@@ -23,6 +23,7 @@ import 
org.apache.shardingsphere.proxy.backend.hbase.result.HBaseSupportedSQLSta
 import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -37,7 +38,7 @@ import static org.mockito.Mockito.when;
 class HBaseDescribeResultSetTest extends AbstractHBaseQueryResultSetTest {
     
     @Test
-    void assertGetRowData() throws IOException {
+    void assertGetRowData() throws SQLException {
         HBaseQueryResultSet resultSet = new HBaseDescribeResultSet();
         ShowCreateTableStatementContext context = 
mock(ShowCreateTableStatementContext.class);
         when(context.getTablesContext()).thenReturn(mock(TablesContext.class, 
RETURNS_DEEP_STUBS));
@@ -66,6 +67,6 @@ class HBaseDescribeResultSetTest extends 
AbstractHBaseQueryResultSetTest {
         ShowCreateTableStatementContext context = 
mock(ShowCreateTableStatementContext.class);
         when(context.getTablesContext()).thenReturn(mock(TablesContext.class, 
RETURNS_DEEP_STUBS));
         
when(context.getTablesContext().getTableNames().iterator().next()).thenReturn(HBaseSupportedSQLStatement.HBASE_DATABASE_TABLE_NAME);
-        assertThrows(IOException.class, () -> new 
HBaseDescribeResultSet().init(context));
+        assertThrows(SQLException.class, () -> new 
HBaseDescribeResultSet().init(context));
     }
 }
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 6feea50dfcf..b42a16098bf 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
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowTablesStatement;
 import org.junit.jupiter.api.Test;
 
-import java.io.IOException;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -38,7 +38,7 @@ import static org.mockito.Mockito.when;
 class HBaseListResultSetTest extends AbstractHBaseQueryResultSetTest {
     
     @Test
-    void assertGetRowData() throws IOException {
+    void assertGetRowData() throws SQLException {
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement(HBaseSupportedSQLStatement.getShowTablesStatement());
         HBaseQueryResultSet resultSet = new HBaseListResultSet();
         ShowTablesStatementContext context = 
mock(ShowTablesStatementContext.class);
@@ -52,7 +52,7 @@ class HBaseListResultSetTest extends 
AbstractHBaseQueryResultSetTest {
     }
     
     @Test
-    void assertGetRowDataFromRemoteHBaseCluster() throws IOException {
+    void assertGetRowDataFromRemoteHBaseCluster() throws SQLException {
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement("show /*+ hbase */ tables from 
cluster_lj");
         HBaseQueryResultSet resultSet = new HBaseListResultSet();
         ShowTablesStatementContext context = 
mock(ShowTablesStatementContext.class);
@@ -67,7 +67,7 @@ class HBaseListResultSetTest extends 
AbstractHBaseQueryResultSetTest {
     }
     
     @Test
-    void assertGetRowDataByLike() throws IOException {
+    void assertGetRowDataByLike() throws SQLException {
         SQLStatement sqlStatement = 
HBaseSupportedSQLStatement.parseSQLStatement("show /*+ hbase */ tables  like 
't_test' ");
         HBaseQueryResultSet resultSet = new HBaseListResultSet();
         ShowTablesStatementContext context = 
mock(ShowTablesStatementContext.class);

Reply via email to