【 使用环境 】生产环境
【 OB or 其他组件 】ocp
【 使用版本 】社区版ocp4.0.3 ,社区版OB 4.1.0
【问题描述】ocp进入已接管的ob集群,普通租户管理的数据库管理,用户管理,SQl诊断,会话管理,参数管理等模块时,均报错误:“连接租户test_tenant失败,请检查密码箱中所存的该租户下root用户的密码是否正确,以及租户白名单设置是否正确”,同一集群的sys租户功能使用正常
密码箱中的root用户密码正确且连接测试成功
ocp日志报错内容如下:
2023-05-15 14:17:19.516 ERROR 11 — [obsdk-init-thread-11,cfd0d17bc8c64767,242029c730ec] com.alibaba.druid.pool.DruidDataSource : init datasource error, url: jdbc:oceanbase://127.0.0.1:2888/oceanbase?useUnicode=true&characterEncoding=UTF8&obProxySocket={“proxy_config”:“automatic_match_work_thread=false,enable_metadb_used=false,enable_strict_kernel_release=false,log_dir_size_threshold=1G,obproxy_config_server_url=http://10.xxx.xx.10:8080/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba,proxy_mem_limited=1G,syslog_level=INFO,work_thread_num=8”}
java.sql.SQLTransientConnectionException: Could not connect to 127.0.0.1:2888 : (conn=1573947) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:235) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1644) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.Utils.retrieveProxy(Utils.java:1427) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.OceanBaseConnection.newConnection(OceanBaseConnection.java:306) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.Driver.connect(Driver.java:89) ~[oceanbase-client-2.4.2.jar!/:na]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1657) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1723) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:927) ~[druid-1.2.8.jar!/:1.2.8]
at com.oceanbase.ocp.obsdk.connector.impl.AbstractConnector.init(AbstractConnector.java:95) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.obsdk.connector.impl.DefaultConnector.init(DefaultConnector.java:14) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.obsdk.connector.ObConnectors.lambda$newObConnector$1(ObConnectors.java:243) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.common.trace.TraceDecorator.lambda$decorate$1(TraceDecorator.java:41) ~[ocp-common-4.0.3-20230301.jar!/:4.0.3-20230301]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_312]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_312]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_312]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_312]
Caused by: java.sql.SQLTransientConnectionException: (conn=1573947) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:230) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:787) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:591) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1639) ~[oceanbase-client-2.4.2.jar!/:na]
… 14 common frames omitted
2023-05-15 14:17:19.517 ERROR 11 — [obsdk-init-thread-11,cfd0d17bc8c64767,242029c730ec] com.alibaba.druid.pool.DruidDataSource : {dataSource-110} init error
java.sql.SQLTransientConnectionException: Could not connect to 127.0.0.1:2888 : (conn=1573947) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:235) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1644) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.Utils.retrieveProxy(Utils.java:1427) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.OceanBaseConnection.newConnection(OceanBaseConnection.java:306) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.Driver.connect(Driver.java:89) ~[oceanbase-client-2.4.2.jar!/:na]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1657) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1723) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:927) ~[druid-1.2.8.jar!/:1.2.8]
at com.oceanbase.ocp.obsdk.connector.impl.AbstractConnector.init(AbstractConnector.java:95) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.obsdk.connector.impl.DefaultConnector.init(DefaultConnector.java:14) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.obsdk.connector.ObConnectors.lambda$newObConnector$1(ObConnectors.java:243) [obsdk-4.0.3-20230301.jar!/:4.0.3-20230301]
at com.oceanbase.ocp.common.trace.TraceDecorator.lambda$decorate$1(TraceDecorator.java:41) ~[ocp-common-4.0.3-20230301.jar!/:4.0.3-20230301]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_312]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_312]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_312]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_312]
Caused by: java.sql.SQLTransientConnectionException: (conn=1573947) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:230) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:787) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:591) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1639) ~[oceanbase-client-2.4.2.jar!/:na]
… 14 common frames omitted
2023-05-15 14:17:19.518 ERROR 11 — [obsdk-init-thread-11,cfd0d17bc8c64767,242029c730ec] c.o.o.o.c.impl.AbstractConnector : [obsdk] init druid datasource failed. connectProperties=ConnectProperties(connectionMode=proxy, address=127.0.0.1, port=2888, obsAddrList=null, username=root, tenantName=test_tenant, clusterName=obcluster, obClusterId=1, proxy=null, odpSocketConfig=OdpSocketConfig(obproxyConfigServerUrl=http://10.xxx.xx.10:8080/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba, automaticMatchWorkThread=false, workThreadNum=8, proxyMemLimited=1G, enableStrictKernelRelease=false, logDirSizeThreshold=1G, syslogLevel=INFO, enableMetaUsed=false), vpcId=1, compatibilityMode=MYSQL, database=oceanbase), error message:Could not connect to 127.0.0.1:2888 : (conn=1573947) Get Location Cache Fail
2023-05-15 14:17:19.518 ERROR 11 — [http-nio-0.0.0.0-8080-exec-62,cfd0d17bc8c64767,dd00a016396d] c.o.ocp.obsdk.connector.ObConnectors : [obsdk] init ob connector failed, connectProperties=ConnectProperties(connectionMode=proxy, address=127.0.0.1, port=2888, obsAddrList=null, username=root, tenantName=test_tenant, clusterName=obcluster, obClusterId=1, proxy=null, odpSocketConfig=OdpSocketConfig(obproxyConfigServerUrl=http://10.xxx.xx.10:8080/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba, automaticMatchWorkThread=false, workThreadNum=8, proxyMemLimited=1G, enableStrictKernelRelease=false, logDirSizeThreshold=1G, syslogLevel=INFO, enableMetaUsed=false), vpcId=1, compatibilityMode=MYSQL, database=oceanbase), cause:java.sql.SQLTransientConnectionException: Could not connect to 127.0.0.1:2888 : (conn=1573947) Get Location Cache Fail
2023-05-15 14:17:19.518 ERROR 11 — [http-nio-0.0.0.0-8080-exec-62,cfd0d17bc8c64767,dd00a016396d] c.o.o.s.o.o.factory.ObAccessorFactory : [ObAccessorFactory] create tenant accessor failed, error message:[obsdk] init ob connector failed, connectProperties=ConnectProperties(connectionMode=proxy, address=127.0.0.1, port=2888, obsAddrList=null, username=root, tenantName=test_tenant, clusterName=obcluster, obClusterId=1, proxy=null, odpSocketConfig=OdpSocketConfig(obproxyConfigServerUrl=http://10.xxx.xx.10:8080/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba, automaticMatchWorkThread=false, workThreadNum=8, proxyMemLimited=1G, enableStrictKernelRelease=false, logDirSizeThreshold=1G, syslogLevel=INFO, enableMetaUsed=false), vpcId=1, compatibilityMode=MYSQL, database=oceanbase), cause:java.sql.SQLTransientConnectionException: Could not connect to 127.0.0.1:2888 : (conn=1573947) Get Location Cache Fail
2023-05-15 14:17:19.524 WARN 11 — [http-nio-0.0.0.0-8080-exec-62,cfd0d17bc8c64767,dd00a016396d] c.o.o.server.trace.RequestTracingAspect : API Error: [GET /api/v2/ob/clusters/2/tenants/6/databases client=192.xxx.xx.229, traceId=cfd0d17bc8c64767, duration=250 ms, errorMsg=[OCP UnexpectedException]: status=500 INTERNAL_SERVER_ERROR, errorCode=OB_TENANT_CONNECT_FAILED, args=test_tenant]
2023-05-15 14:17:19.531 ERROR 11 — [Druid-ConnectionPool-Create-531070601,] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:oceanbase://127.0.0.1:2888/oceanbase?useUnicode=true&characterEncoding=UTF8&obProxySocket={“proxy_config”:“automatic_match_work_thread=false,enable_metadb_used=false,enable_strict_kernel_release=false,log_dir_size_threshold=1G,obproxy_config_server_url=http://10.xxx.xx.10:8080/services?Action=GetObProxyConfig&User_ID=admin&UID=alibaba,proxy_mem_limited=1G,syslog_level=INFO,work_thread_num=8”}, errorCode 4012, state HY000
java.sql.SQLTransientConnectionException: Could not connect to 127.0.0.1:2888 : (conn=1573950) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:235) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1644) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.Utils.retrieveProxy(Utils.java:1427) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.OceanBaseConnection.newConnection(OceanBaseConnection.java:306) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.Driver.connect(Driver.java:89) ~[oceanbase-client-2.4.2.jar!/:na]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1657) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1723) ~[druid-1.2.8.jar!/:1.2.8]
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2838) ~[druid-1.2.8.jar!/:1.2.8]
Caused by: java.sql.SQLTransientConnectionException: (conn=1573950) Get Location Cache Fail
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:230) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:787) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:591) ~[oceanbase-client-2.4.2.jar!/:na]
at com.oceanbase.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1639) ~[oceanbase-client-2.4.2.jar!/:na]
… 6 common frames omitted
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】
ocp.log (6.6 MB)