You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "strongduanmu (via GitHub)" <gi...@apache.org> on 2023/04/19 10:15:38 UTC

[GitHub] [shardingsphere] strongduanmu opened a new issue, #25234: NullPointerException occurs when I execute select statement via DBeaver

strongduanmu opened a new issue, #25234:
URL: https://github.com/apache/shardingsphere/issues/25234

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   
   [3c11643](https://github.com/apache/shardingsphere/commit/3c11643483916e15dfd376c16b2ec3d4a0b2ae96)
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   
   ShardingSphere-Proxy
   
   ### Expected behavior
   
   Execute select statement successfully via DBeaver
   
   ### Actual behavior
   
   ```
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] ShardingSphere-SQL - Logic SQL: /* ApplicationName=DBeaver 23.0.2 - SQLEditor <Console> */ select * from t_order
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] ShardingSphere-SQL - Actual SQL: ds_0 ::: /* ApplicationName=DBeaver 23.0.2 - SQLEditor <Console> */ select * from t_order_0
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] ShardingSphere-SQL - Actual SQL: ds_0 ::: /* ApplicationName=DBeaver 23.0.2 - SQLEditor <Console> */ select * from t_order_1
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] ShardingSphere-SQL - Actual SQL: ds_1 ::: /* ApplicationName=DBeaver 23.0.2 - SQLEditor <Console> */ select * from t_order_0
   LIMIT 0, 200
   [INFO ] 2023-04-19 18:02:34.436 [Connection-4-ThreadExecutor] ShardingSphere-SQL - Actual SQL: ds_1 ::: /* ApplicationName=DBeaver 23.0.2 - SQLEditor <Console> */ select * from t_order_1
   LIMIT 0, 200
   [WARN ] 2023-04-19 18:03:08.012 [main-SendThread(localhost:2181)] org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 43104ms for session id 0x1000005660f01d0
   [WARN ] 2023-04-19 18:03:08.014 [main-SendThread(localhost:2181)] org.apache.zookeeper.ClientCnxn - Session 0x1000005660f01d0 for server localhost/127.0.0.1:2181, Closing socket connection. Attempting reconnect except it is a SessionExpiredException.
   org.apache.zookeeper.ClientCnxn$SessionTimeoutException: Client session timed out, have not heard from server in 43104ms for session id 0x1000005660f01d0
   	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1257)
   [ERROR] 2023-04-19 18:03:43.869 [Connection-3-ThreadExecutor] o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   java.lang.NullPointerException: null
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.FederationTranslatableTable.getColumnType(FederationTranslatableTable.java:120)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:205)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:209)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.traverseRexCall(TranslatableTableScan.java:209)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.generateColumnMap(TranslatableTableScan.java:195)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.addFilter(TranslatableTableScan.java:187)
   	at org.apache.shardingsphere.sqlfederation.optimizer.metadata.translatable.TranslatableTableScan.explainTerms(TranslatableTableScan.java:127)
   	at org.apache.calcite.rel.AbstractRelNode.getDigestItems(AbstractRelNode.java:415)
   	at org.apache.calcite.rel.AbstractRelNode.deepHashCode(AbstractRelNode.java:397)
   	at org.apache.calcite.rel.AbstractRelNode$InnerRelDigest.hashCode(AbstractRelNode.java:449)
   	at java.base/java.util.HashMap.hash(HashMap.java:339)
   	at java.base/java.util.HashMap.get(HashMap.java:552)
   	at org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:829)
   	at org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:751)
   	at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:559)
   	at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:420)
   	at org.apache.calcite.plan.hep.HepPlanner.executeEndGroup(HepPlanner.java:360)
   	at org.apache.calcite.plan.hep.HepInstruction$EndGroup$State.execute(HepInstruction.java:349)
   	at org.apache.calcite.plan.hep.HepPlanner.lambda$executeProgram$0(HepPlanner.java:211)
   	at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:405)
   	at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:210)
   	at org.apache.calcite.plan.hep.HepProgram$State.execute(HepProgram.java:118)
   	at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:205)
   	at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:191)
   	at org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimizeWithRBO(SQLOptimizeEngine.java:59)
   	at org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimize(SQLOptimizeEngine.java:52)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.execute(AdvancedSQLFederationExecutor.java:144)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.executeQuery(AdvancedSQLFederationExecutor.java:114)
   	at org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.doExecuteFederation(DatabaseConnector.java:298)
   	at org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.execute(DatabaseConnector.java:205)
   	at org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:92)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.doExecuteCommand(CommandExecutorTask.java:116)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:111)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:78)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
   	at java.base/java.lang.Thread.run(Thread.java:834)
   [INFO ] 2023-04-19 18:03:43.878 [main-EventThread] o.a.c.f.state.ConnectionStateManager - State change: SUSPENDED
   [INFO ] 2023-04-19 18:03:45.314 [main-SendThread(localhost:2181)] org.apache.zookeeper.ClientCnxn - Opening socket connection to server localhost/127.0.0.1:2181.
   ```
   
   ### Reason analyze (If you can)
   
   DBeaver will execute `SELECT * FROM INFORMATION_SCHEMA.COLUMNS`:
   
   <img width="1269" alt="image" src="https://user-images.githubusercontent.com/10829171/233044025-7eebbb1e-3781-40d0-8a91-afd919369d7e.png">
   
   And sql federation doesn't get ShardingSphereColumn because of upper case.
   
   <img width="1183" alt="image" src="https://user-images.githubusercontent.com/10829171/233044301-9d781598-08e6-4b7f-92f8-f6d5049c1ac7.png">
   
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   
   ### Example codes for reproduce this issue (such as a github link).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] zhaojinchao95 closed issue #25234: NullPointerException occurs when I execute select statement via DBeaver

Posted by "zhaojinchao95 (via GitHub)" <gi...@apache.org>.
zhaojinchao95 closed issue #25234: NullPointerException occurs when I execute select statement via DBeaver
URL: https://github.com/apache/shardingsphere/issues/25234


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org