You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2022-09-23T16:54:19.022 8116 Connect dble-user@hostname on test_sharding_db using TCP/IP
2022-09-23T16:54:19.023 8116 Query /* mysql-connector-java-8.0.27 (Revision: e920b979015ae7117d60d72bcc8f077a839cd791) */SELECT @@session.auto_increment_increment AS auto_increment_increment, @@character_set_client AS character_set_client, @@character_set_connection AS character_set_connection, @@character_set_results AS character_set_results, @@character_set_server AS character_set_server, @@collation_server AS collation_server, @@collation_connection AS collation_connection, @@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, @@license AS license, @@lower_case_table_names AS lower_case_table_names, @@max_allowed_packet AS max_allowed_packet, @@net_write_timeout AS net_write_timeout, @@performance_schema AS performance_schema, @@sql_mode AS sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, @@transaction_isolation AS transaction_isolation, @@wait_timeout AS wait_timeout
2022-09-23T16:54:19.024 8116 Query SET character_set_results = NULL
2022-09-23T16:54:19.025 8116 Query SET autocommit=1
2022-09-23T16:54:19.028 8116 Query select 1
2022-09-23T16:54:19.030 8116 Query SELECT @@session.transaction_read_only
2022-09-23T16:54:19.030 8116 Query SELECT @@session.transaction_isolation
2022-09-23T16:54:19.080 8116 Prepare select
col1, col2, col3
from table_name
where col2 = ?
and col3 in ('S','F')
and col4 is not null
2022-09-23T16:54:19.113 8116 Close stmt
此时应用和DBLE都出现报错信息,SQL 没有进入Executed 阶段
dble.log
2022-09-23 16:54:19.090 WARN [BusinessExecutor0] (com.actiontech.dble.services.FrontendService.consumeSingleTask(FrontendService.java:195)) - There is an error you may need know.
java.lang.ArrayIndexOutOfBoundsException: 23
at com.actiontech.dble.backend.mysql.MySQLMessage.read(MySQLMessage.java:61) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.backend.mysql.MySQLMessage.readDate(MySQLMessage.java:265) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.backend.mysql.BindValueUtil.read(BindValueUtil.java:52) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.net.mysql.ExecutePacket.read(ExecutePacket.java:121) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.server.handler.ServerPrepareHandler.execute(ServerPrepareHandler.java:144) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.services.mysqlsharding.ShardingService.stmtExecute(ShardingService.java:369) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.services.mysqlsharding.ShardingService.handleInnerData(ShardingService.java:283) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.net.service.AbstractService.consumeSingleTask(AbstractService.java:184) ~[dble-3.21.10.1.jar:?]
at com.actiontech.dble.services.FrontendService.consumeSingleTask(FrontendService.java:184) [dble-3.21.10.1.jar:?]
at com.actiontech.dble.services.FrontendService.execute(FrontendService.java:139) [dble-3.21.10.1.jar:?]
at com.actiontech.dble.net.executor.FrontendBlockRunnable.run(FrontendBlockRunnable.java:60) [dble-3.21.10.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_271]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_271]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_271]
2022-09-23 16:54:19.090 WARN [BusinessExecutor0] (com.actiontech.dble.singleton.ConnectionSerializableLock.unLock(ConnectionSerializableLock.java:70)) - find useless unlock. connection id : 8116 , index : 8
应用报错信息
Cause: java.sql.SQLException: 23;
uncategorized SQLException; SQL state [HY000]; error code [1105]; 23; nested exception is java.sql.SQLException: 23
jdbc 模拟代码:
Class.forName("com.mysql.jdbc.Driver");
Connectionconn = DriverManager.getConnection("jdbc:mysql://xxx:8066/schema1?useServerPrepStmts=true&&useAffectedRows=true&allowMultiQueries=true&allowUrlInLocalInfile=true&useCursorFetch=true&serverTimezone=UTC", "test", "111111");
// time 字段需要是 date 类型PreparedStatementps = conn.prepareStatement("update xxx set time=?");
ps.setDate(1, newjava.sql.Date(System.currentTimeMillis()));
ps.execute();
if (null != ps) {
ps.close();
}
if (null != conn) {
conn.close();
}
The text was updated successfully, but these errors were encountered:
问题描述:
使用mysql-connector-java-8.0.27版本,jdbc url 设置useCursorFetch=true 时,某些SQL在prepare 阶段报错。
版本信息:
The text was updated successfully, but these errors were encountered: