JDBC测试报错“ Host list weights incorrect”

测试OceanBase Connector/J 的 时,脚本使用 serveraffinity报错,使用random无问题。


image

报错提示:

[root@rocky95 obcp_test]#  javac -cp oceanbase-client-2.4.9.jar TestLB.java
[root@rocky95 obcp_test]#  java -cp .:oceanbase-client-2.4.9.jar TestLB
启动 20 个线程进行数据库连接测试...
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect

URL 配置:

[root@rocky95 obcp_test]# cat TestLB.java

import java.sql.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class TestLB {
    public static void select(int threadNum) throws SQLException {
        String url = "jdbc:oceanbase:loadbalance://192.168.169.43:2883:100,192.168.169.44:2883:10,192.168.169.45:2883:50/test?user=root@test#obcluster&password=Admin1234&loadBalanceStrategy=SERVERAFFINITY";
        String selectSql = "SELECT host_ip() as host_ip FROM dual";
2 个赞

建议将JDBC升级到最新2.4.16版本再试下

学习一下

了解学习下

换个新版本试一下

更新到oceanbase-client-2.4.16.jar,依然报错

[root@rocky95 obcp_test]# javac -cp oceanbase-client-2.4.16.jar TestLB.java
[root@rocky95 obcp_test]#  java -cp .:oceanbase-client-2.4.16.jar TestLB
启动 20 个线程进行数据库连接测试...
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect
数据库操作失败: Host list weights incorrect

更新到oceanbase-client-2.4.16.jar,依然报错

写一个其他的demo也会报错么?

serveraffinity 报错,用random 没事;

是不是权重设置过高了? 把三个IP的权重都重新设置成1,试试看呢

String url = “jdbc:oceanbase:loadbalance://192.168.169.43:2883:1,192.168.169.44:2883:1,192.168.169.45:2883:1/test?user=root@test#obcluster&password=Admin1234&loadBalanceStrategy=SERVERAFFINITY”;

你用的ob是企业版的是么?看着是权重值设置的有问题一样 你按照楼上说的 先改一下看看

默认1 测试有问题,后改其他值测试也一样;

是企业版;

obclient(root@test)[test]> select @@version;
+---------------------------+
| @@version                 |
+---------------------------+
| 5.7.25-OceanBase-v4.2.1.8 |
+---------------------------+
1 row in set (0.006 sec)

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。

首先感谢您的耐心回复。

对于OB企业版和社区版的支持策略能否进行整合?
对于初学者来说,肯定倾向于使用全功能企业版进行学习、实验,希望企业不要在初学阶段就设置障碍。
至于企业是否掏钱买企业版,那不是个人能决定的事。