kimmking opened a new issue #8099:
URL: https://github.com/apache/shardingsphere/issues/8099
Hi, there are two db named test0&test1,
test0 have some tables: account, person, test0{0-2}
test1 have some tables: account, test0{0-2}
then we config a logic schema to make test as a logic sharding table test in
a proxy.
and then we use mysql command to access proxy, selecting data from test will
work well, and from account/person will be NPE.
```
mysql> select * from test;
+--------------------+------+---------------------+
| id | name | created |
+--------------------+------+---------------------+
| 6 | KK06 | 2020-10-13 15:06:03 |
| 12 | KK12 | 2020-10-13 15:06:27 |
| 120 | KK00 | 2020-10-14 12:18:11 |
+--------------------+------+---------------------+
3 rows in set (0.19 sec)
mysql> select * from account;
ERROR 10002 (C1000): 2Unknown exception: [null]
mysql> select * from person;
ERROR 10002 (C1000): 2Unknown exception: [null]
```
Configurations:
```
schemaName: testproxy
dataSources:
test0:
url: jdbc:mysql://127.0.0.1:3306/test0?serverTimezone=UTC&useSSL=false
username: root
password:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 50
test1:
url: jdbc:mysql://127.0.0.1:3306/test1?serverTimezone=UTC&useSSL=false
username: root
password:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 50
rules:
- !SHARDING
tables:
test:
actualDataNodes: test${0..1}.test0${0..2}
tableStrategy:
standard:
shardingColumn: id
shardingAlgorithmName: test_inline
keyGenerateStrategy:
column: id
keyGeneratorName: snowflake
defaultDatabaseStrategy:
standard:
shardingColumn: id
shardingAlgorithmName: database_inline
defaultTableStrategy:
none:
shardingAlgorithms:
database_inline:
type: INLINE
props:
algorithm-expression: test${id % 2}
test_inline:
type: INLINE
props:
algorithm-expression: test0${id % 3}
keyGenerators:
snowflake:
type: SNOWFLAKE
props:
worker-id: 123
```

Selecting data from test will work well, and from account/person will be NPE.
```
[ERROR] 19:27:07.803 [ShardingSphere-Command-4]
o.a.s.p.f.c.CommandExecutorTask - Exception occur:
java.util.NoSuchElementException: null
at
java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:721)
at
java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:742)
at
org.apache.shardingsphere.sharding.route.engine.type.single.SingleTableRoutingEngine.findDataSourceName(SingleTableRoutingEngine.java:64)
at
org.apache.shardingsphere.sharding.route.engine.type.single.SingleTableRoutingEngine.route(SingleTableRoutingEngine.java:52)
at
org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:70)
at
org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:55)
at
org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor.route(PartialSQLRouteExecutor.java:59)
at
org.apache.shardingsphere.infra.route.engine.SQLRouteEngine.route(SQLRouteEngine.java:57)
at
org.apache.shardingsphere.infra.context.kernel.KernelProcessor.generateExecutionContext(KernelProcessor.java:52)
at
org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:77)
at
org.apache.shardingsphere.proxy.backend.text.query.QueryBackendHandler.execute(QueryBackendHandler.java:61)
at
org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:62)
at
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:100)
at
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:76)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
```

----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]