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

wuweijie 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 e5f4f7ac33b Remove InvalidAvailableTargetWeightException (#30491)
e5f4f7ac33b is described below

commit e5f4f7ac33b85fb1c640b19e8e000d16bc2f2aee
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Mar 14 23:39:13 2024 +0800

    Remove InvalidAvailableTargetWeightException (#30491)
    
    * Add final on LoadBalanceAlgorithmInitializationException
    
    * Remove InvalidAvailableTargetWeightException
---
 .../user-manual/error-code/sql-error-code.cn.md    |  7 ++---
 .../user-manual/error-code/sql-error-code.en.md    |  7 ++---
 .../load/balancer/core/LoadBalanceAlgorithm.java   |  4 +--
 .../InvalidAvailableTargetWeightException.java     | 32 ----------------------
 ...oadBalanceAlgorithmInitializationException.java |  6 ++--
 .../weight/WeightLoadBalanceAlgorithm.java         |  7 ++---
 6 files changed, 14 insertions(+), 49 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 1c37d08bb84..d672ba6cebe 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
@@ -291,10 +291,9 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
 
 ### 基础算法 - 负载均衡
 
-| SQL State | Vendor Code | 错误信息                                               
         |
-|-----------|-------------|-------------------------------------------------------------|
-| 44000     | 21280       | Invalid available target weight \`%s\`.            
                 |
-| HY000     | 21281       | \'%s\' load balance algorithm initialization 
failed, reason is: %s. |
+| SQL State | Vendor Code | 错误信息                                               
               |
+|-----------|-------------|-------------------------------------------------------------------|
+| 44000     | 21280       | '%s' load balance algorithm initialization failed, 
reason is: %s. |
 
 ## 其他异常
 
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 320ea5dae87..6f1cf8cc730 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
@@ -306,10 +306,9 @@ SQL error codes provide by standard `SQL State`, `Vendor 
Code` and `Reason`, whi
 
 ### Infra algorithm - load balance
 
-| SQL State | Vendor Code | Reason                                             
                 |
-|-----------|-------------|---------------------------------------------------------------------|
-| 44000     | 21280       | Invalid available target weight \`%s\`.            
                 |
-| HY000     | 21281       | \'%s\' load balance algorithm initialization 
failed, reason is: %s. |
+| SQL State | Vendor Code | Reason                                             
               |
+|-----------|-------------|-------------------------------------------------------------------|
+| 44000     | 21280       | '%s' load balance algorithm initialization failed, 
reason is: %s. |
 
 ## Other Exception
 
diff --git 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/LoadBalanceAlgorithm.java
 
b/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/LoadBalanceAlgorithm.java
index 4c3f81c9167..674450cbf93 100644
--- 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/LoadBalanceAlgorithm.java
+++ 
b/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/LoadBalanceAlgorithm.java
@@ -29,8 +29,8 @@ public interface LoadBalanceAlgorithm extends 
ShardingSphereAlgorithm {
     /**
      * Get available target name.
      * 
-     * @param groupName group name, which uniquely identifies available target 
names
-     * @param availableTargetNames available data sources or instance id
+     * @param groupName group name which uniquely identifies available target 
names
+     * @param availableTargetNames available target names
      * @return available target name
      */
     String getAvailableTargetName(String groupName, List<String> 
availableTargetNames);
diff --git 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/InvalidAvailableTargetWeightException.java
 
b/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/InvalidAvailableTargetWeightException.java
deleted file mode 100644
index 96e6e659e69..00000000000
--- 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/InvalidAvailableTargetWeightException.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.infra.algorithm.load.balancer.core.exception;
-
-import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-
-/**
- * Invalid available target weight exception.
- */
-public final class InvalidAvailableTargetWeightException extends 
LoadBalanceSQLException {
-    
-    private static final long serialVersionUID = -2671152203719618753L;
-    
-    public InvalidAvailableTargetWeightException(final Object weight) {
-        super(XOpenSQLState.INVALID_DATA_TYPE, 80, "Invalid available target 
weight `%s`.", weight);
-    }
-}
diff --git 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/LoadBalanceAlgorithmInitializationException.java
 
b/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/LoadBalanceAlgorithmInitializationException.java
index 15ad2de6ce2..0cdad5bf727 100644
--- 
a/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/LoadBalanceAlgorithmInitializationException.java
+++ 
b/infra/algorithm/load-balancer/core/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/core/exception/LoadBalanceAlgorithmInitializationException.java
@@ -22,11 +22,11 @@ import 
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpe
 /**
  * Load balance algorithm initialization exception.
  */
-public class LoadBalanceAlgorithmInitializationException extends 
LoadBalanceSQLException {
+public final class LoadBalanceAlgorithmInitializationException extends 
LoadBalanceSQLException {
     
     private static final long serialVersionUID = 3025471428679102820L;
     
-    public LoadBalanceAlgorithmInitializationException(final String 
loadBalanceAlgorithmType, final String reason) {
-        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 81, "'%s' load balance 
algorithm initialization failed, reason is: %s.", loadBalanceAlgorithmType, 
reason);
+    public LoadBalanceAlgorithmInitializationException(final String 
loadBalanceAlgorithmType, final String reason, final Object... args) {
+        super(XOpenSQLState.CHECK_OPTION_VIOLATION, 80, "'%s' load balance 
algorithm initialization failed, reason is: %s.", loadBalanceAlgorithmType, 
String.format(reason, args));
     }
 }
diff --git 
a/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/weight/WeightLoadBalanceAlgorithm.java
 
b/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/weight/WeightLoadBalanceAlgorithm.java
index 62668ffbf86..abfbff3693b 100644
--- 
a/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/weight/WeightLoadBalanceAlgorithm.java
+++ 
b/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/load/balancer/weight/WeightLoadBalanceAlgorithm.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.infra.algorithm.load.balancer.weight;
 import com.google.common.base.Preconditions;
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.algorithm.load.balancer.core.LoadBalanceAlgorithm;
-import 
org.apache.shardingsphere.infra.algorithm.load.balancer.core.exception.InvalidAvailableTargetWeightException;
 import 
org.apache.shardingsphere.infra.algorithm.load.balancer.core.exception.LoadBalanceAlgorithmInitializationException;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 
@@ -50,15 +49,15 @@ public final class WeightLoadBalanceAlgorithm implements 
LoadBalanceAlgorithm {
     public void init(final Properties props) {
         this.props = props;
         availableTargetNames = props.stringPropertyNames();
-        
ShardingSpherePreconditions.checkState(!availableTargetNames.isEmpty(), () -> 
new LoadBalanceAlgorithmInitializationException(getType(), "Available target is 
required"));
+        
ShardingSpherePreconditions.checkState(!availableTargetNames.isEmpty(), () -> 
new LoadBalanceAlgorithmInitializationException(getType(), "Available target is 
required."));
         for (String each : availableTargetNames) {
             String weight = props.getProperty(each);
             ShardingSpherePreconditions.checkNotNull(weight,
-                    () -> new 
LoadBalanceAlgorithmInitializationException(getType(), String.format("Available 
target `%s` access weight is not configured.", each)));
+                    () -> new 
LoadBalanceAlgorithmInitializationException(getType(), "Weight of available 
target `%s` is required.", each));
             try {
                 Double.parseDouble(weight);
             } catch (final NumberFormatException ex) {
-                throw new InvalidAvailableTargetWeightException(weight);
+                throw new 
LoadBalanceAlgorithmInitializationException(getType(), "Weight `%s` of 
available target `%s` should be number.", weight, each);
             }
         }
     }

Reply via email to