<p dir="auto">the error info is</p>
<p dir="auto"><code class="notranslate">[ERROR] 16:28:29.726 [pool-4-thread-1] o.a.s.s.f.c.CommandExecutorTask - Exception occur:  java.lang.NullPointerException: null at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCBackendDataSource.createConnection(JDBCBackendDataSource.java:150) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCBackendDataSource.getConnections(JDBCBackendDataSource.java:123) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection.getConnectionFromUnderlying(BackendConnection.java:198) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection.getConnectionsWithoutTransaction(BackendConnection.java:181) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection.getConnections(BackendConnection.java:150) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.execute.callback.ProxyJDBCExecutePrepareCallback.getConnections(ProxyJDBCExecutePrepareCallback.java:56) at org.apache.shardingsphere.core.execute.sql.prepare.SQLExecutePrepareTemplate.getSQLExecuteGroups(SQLExecutePrepareTemplate.java:89) at org.apache.shardingsphere.core.execute.sql.prepare.SQLExecutePrepareTemplate.getSynchronizedExecuteUnitGroups(SQLExecutePrepareTemplate.java:67) at org.apache.shardingsphere.core.execute.sql.prepare.SQLExecutePrepareTemplate.getExecuteUnitGroups(SQLExecutePrepareTemplate.java:59) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.execute.JDBCExecuteEngine.execute(JDBCExecuteEngine.java:80) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:93) at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:78) at org.apache.shardingsphere.shardingproxy.frontend.postgresql.command.query.binary.bind.PostgreSQLComBindExecutor.execute(PostgreSQLComBindExecutor.java:81) at org.apache.shardingsphere.shardingproxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:86) at org.apache.shardingsphere.shardingproxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:66) 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) </code></p>
<p dir="auto"><strong>this configuration file:</strong></p>
<p dir="auto"><strong>server.ymal</strong></p>
<p dir="auto">`<br>
authentication:<br>
users:<br>
root:<br>
password: root<br>
sharding:<br>
password: sharding<br>
authorizedSchemas: sharding_db</p>
<p dir="auto">props:<br>
max.connections.size.per.query: 1<br>
acceptor.size: 16  # The default value is available processors count * 2.<br>
executor.size: 16  # Infinite by default.<br>
proxy.frontend.flush.threshold: 128  # The default value is 128.<br>
# LOCAL: Proxy will run with LOCAL transaction.<br>
# XA: Proxy will run with XA transaction.<br>
# BASE: Proxy will run with B.A.S.E transaction.<br>
proxy.transaction.type: LOCAL<br>
proxy.opentracing.enabled: false<br>
query.with.cipher.column: true<br>
sql.show: false<br>
`</p>
<p dir="auto"><strong>config-sharding.yaml</strong></p>
<p dir="auto">`schemaName: sharding_db</p>
<p dir="auto">dataSources:<br>
ds_0:<br>
url: jdbc:postgresql://192.168.51.119:5432/demo_ds_0?serverTimezone=UTC&amp;useSSL=false<br>
username: postgres<br>
password: postgres<br>
connectionTimeoutMilliseconds: 30000<br>
idleTimeoutMilliseconds: 60000<br>
maxLifetimeMilliseconds: 1800000<br>
maxPoolSize: 50<br>
ds_1:<br>
url: jdbc:postgresql://192.168.51.119:5432/demo_ds_1?serverTimezone=UTC&amp;useSSL=false<br>
username: postgres<br>
password: postgres<br>
connectionTimeoutMilliseconds: 30000<br>
idleTimeoutMilliseconds: 60000<br>
maxLifetimeMilliseconds: 1800000<br>
maxPoolSize: 50</p>
<p dir="auto">shardingRule:<br>
tables:<br>
t_order:<br>
actualDataNodes: ds_${0..1}.t_order_${0..1}<br>
tableStrategy:<br>
inline:<br>
shardingColumn: order_id<br>
algorithmExpression: t_order_${order_id % 2}<br>
keyGenerator:<br>
type: SNOWFLAKE<br>
column: order_id<br>
t_order_item:<br>
actualDataNodes: ds_${0..1}.t_order_item_${0..1}<br>
tableStrategy:<br>
inline:<br>
shardingColumn: order_id<br>
algorithmExpression: t_order_item_${order_id % 2}<br>
keyGenerator:<br>
type: SNOWFLAKE<br>
column: order_item_id<br>
bindingTables:<br>
- t_order,t_order_item<br>
defaultDatabaseStrategy:<br>
inline:<br>
shardingColumn: user_id<br>
algorithmExpression: ds_${user_id % 2}<br>
defaultTableStrategy:<br>
none:<br>
`</p>
<h2 dir="auto">Bug Report</h2>
<h3 dir="auto">Which version of ShardingSphere did you use?</h3>
<p dir="auto">shardingsphere-ui-4.1.1</p>
<h3 dir="auto">Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?</h3>
<p dir="auto">ShardingSphere-Proxy</p>
<h3 dir="auto">Expected behavior</h3>
<p dir="auto">statment.executeQuery("select * from events" )</p>
<h3 dir="auto">Actual behavior</h3>
<p dir="auto">NullPointerException thrown</p>
<h3 dir="auto">Reason analyze (If you can)</h3>
<h3 dir="auto">Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.</h3>
<p dir="auto">The DB is MariaDb 10.2.<br>
create a Statement.<br>
executeQuery("select * from events")<br>
It seems the table name "events" is not taken as a table name.</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/37646009/87040499-5ee60c00-c223-11ea-9456-775d35e52e32.jpg"><img src="https://user-images.githubusercontent.com/37646009/87040499-5ee60c00-c223-11ea-9456-775d35e52e32.jpg" alt="360截图20200709202447687" style="max-width: 100%;"></a></p>
<h3 dir="auto">Example codes for reproduce this issue (such as a github link).</h3>