Issue 1:
the error info is

[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)

this configuration file:

server.ymal

`

authentication:

users:

root:

password: root

sharding:

password: sharding

authorizedSchemas: sharding_db

props:

max.connections.size.per.query: 1

acceptor.size: 16 # The default value is available processors count * 2.

executor.size: 16 # Infinite by default.

proxy.frontend.flush.threshold: 128 # The default value is 128.

# LOCAL: Proxy will run with LOCAL transaction.

# XA: Proxy will run with XA transaction.

# BASE: Proxy will run with B.A.S.E transaction.

proxy.transaction.type: LOCAL

proxy.opentracing.enabled: false

query.with.cipher.column: true

sql.show: false

`

config-sharding.yaml

`schemaName: sharding_db

dataSources:

ds_0:

url: jdbc:postgresql://192.168.51.119:5432/demo_ds_0?serverTimezone=UTC&useSSL=false

username: postgres

password: postgres

connectionTimeoutMilliseconds: 30000

idleTimeoutMilliseconds: 60000

maxLifetimeMilliseconds: 1800000

maxPoolSize: 50

ds_1:

url: jdbc:postgresql://192.168.51.119:5432/demo_ds_1?serverTimezone=UTC&useSSL=false

username: postgres

password: postgres

connectionTimeoutMilliseconds: 30000

idleTimeoutMilliseconds: 60000

maxLifetimeMilliseconds: 1800000

maxPoolSize: 50

shardingRule:

tables:

t_order:

actualDataNodes: ds_${0..1}.t_order_${0..1}

tableStrategy:

inline:

shardingColumn: order_id

algorithmExpression: t_order_${order_id % 2}

keyGenerator:

type: SNOWFLAKE

column: order_id

t_order_item:

actualDataNodes: ds_${0..1}.t_order_item_${0..1}

tableStrategy:

inline:

shardingColumn: order_id

algorithmExpression: t_order_item_${order_id % 2}

keyGenerator:

type: SNOWFLAKE

column: order_item_id

bindingTables:

- t_order,t_order_item

defaultDatabaseStrategy:

inline:

shardingColumn: user_id

algorithmExpression: ds_${user_id % 2}

defaultTableStrategy:

none:

`

Issue 2:
Bug Report

Which version of ShardingSphere did you use?

shardingsphere-ui-4.1.1

Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?

ShardingSphere-Proxy

Expected behavior

statment.executeQuery("select * from events" )

Actual behavior

NullPointerException thrown

Reason analyze (If you can)

Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.

The DB is MariaDb 10.2.

create a Statement.

executeQuery("select * from events")

It seems the table name "events" is not taken as a table name.

Example codes for reproduce this issue (such as a github link).