<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>For English only</strong>, other languages will not accept.</p>
<p dir="auto">Before report a bug, make sure you have:</p>
<ul dir="auto">
<li>Searched open and closed <a href="https://github.com/apache/shardingsphere/issues">GitHub issues</a>.</li>
<li>Read documentation: <a href="https://shardingsphere.apache.org/document/current/en/overview" rel="nofollow">ShardingSphere Doc</a>.</li>
</ul>
<p dir="auto">Please pay attention on issues you submitted, because we maybe need more details.<br>
If no response anymore and we cannot reproduce it on current information, we will <strong>close it</strong>.</p>
<p dir="auto">Please answer these questions before submitting your issue. Thanks!</p>
<h3 dir="auto">Which version of ShardingSphere did you use?</h3>
<p dir="auto">docker image-5.2.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">select successfully!</p>
<div class="highlight highlight-source-sql notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="SELECT * FROM INFORMATION_SCHEMA.TABLES;"><pre class="notranslate"><span class="pl-k">SELECT</span> <span class="pl-k">*</span> <span class="pl-k">FROM</span> <span class="pl-c1">INFORMATION_SCHEMA</span>.<span class="pl-c1">TABLES</span>;</pre></div>
<h3 dir="auto">Actual behavior</h3>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="[ERROR] 2022-10-24 09:14:34.110 [Connection-1-ThreadExecutor] o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
java.lang.NullPointerException: Cannot invoke &quot;org.apache.shardingsphere.infra.federation.optimizer.context.parser.OptimizerParserContext.getDialectProps()&quot; because the return value of &quot;java.util.Map.get(Object)&quot; is null
        at org.apache.shardingsphere.infra.federation.executor.original.OriginalFederationExecutor.createConnection(OriginalFederationExecutor.java:92)
        at org.apache.shardingsphere.infra.federation.executor.original.OriginalFederationExecutor.executeQuery(OriginalFederationExecutor.java:83)
        at org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.doExecuteFederation(JDBCDatabaseCommunicationEngine.java:165)
        at org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:123)
        at org.apache.shardingsphere.proxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:94)
        at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:110)
        at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:77)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)"><pre class="notranslate">[<span class="pl-c1">ERROR</span>] <span class="pl-c1">2022</span>-<span class="pl-c1">10</span>-<span class="pl-c1">24</span> <span class="pl-c1">09</span>:<span class="pl-c1">14</span>:<span class="pl-c1">34.110</span> [<span class="pl-s1">Connection</span>-<span class="pl-c1">1</span>-<span class="pl-s1">ThreadExecutor</span>] <span class="pl-s1">o</span>.<span class="pl-s1">a</span>.<span class="pl-s1">s</span>.<span class="pl-s1">p</span>.<span class="pl-s1">f</span>.<span class="pl-s1">c</span>.<span class="pl-s1">CommandExecutorTask</span> - <span class="pl-smi">Exception</span> <span class="pl-s1">occur</span>: 
<span class="pl-smi">java</span>.<span class="pl-smi">lang</span>.<span class="pl-smi">NullPointerException</span>: <span class="pl-s1">Cannot</span> <span class="pl-s1">invoke</span> <span class="pl-s">"org.apache.shardingsphere.infra.federation.optimizer.context.parser.OptimizerParserContext.getDialectProps()"</span> <span class="pl-s1">because</span> <span class="pl-smi">the</span> <span class="pl-s1">return</span> <span class="pl-smi">value</span> <span class="pl-s1">of</span> <span class="pl-s">"java.util.Map.get(Object)"</span> <span class="pl-s1">is</span> <span class="pl-c1">null</span>
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">infra</span>.<span class="pl-s1">federation</span>.<span class="pl-s1">executor</span>.<span class="pl-s1">original</span>.<span class="pl-s1">OriginalFederationExecutor</span>.<span class="pl-en">createConnection</span>(<span class="pl-smi">OriginalFederationExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">92</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">infra</span>.<span class="pl-s1">federation</span>.<span class="pl-s1">executor</span>.<span class="pl-s1">original</span>.<span class="pl-s1">OriginalFederationExecutor</span>.<span class="pl-en">executeQuery</span>(<span class="pl-smi">OriginalFederationExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">83</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">proxy</span>.<span class="pl-s1">backend</span>.<span class="pl-s1">communication</span>.<span class="pl-s1">jdbc</span>.<span class="pl-s1">JDBCDatabaseCommunicationEngine</span>.<span class="pl-en">doExecuteFederation</span>(<span class="pl-smi">JDBCDatabaseCommunicationEngine</span>.<span class="pl-smi">java</span>:<span class="pl-c1">165</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">proxy</span>.<span class="pl-s1">backend</span>.<span class="pl-s1">communication</span>.<span class="pl-s1">jdbc</span>.<span class="pl-s1">JDBCDatabaseCommunicationEngine</span>.<span class="pl-en">execute</span>(<span class="pl-smi">JDBCDatabaseCommunicationEngine</span>.<span class="pl-smi">java</span>:<span class="pl-c1">123</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">proxy</span>.<span class="pl-s1">frontend</span>.<span class="pl-s1">mysql</span>.<span class="pl-s1">command</span>.<span class="pl-s1">query</span>.<span class="pl-s1">text</span>.<span class="pl-s1">query</span>.<span class="pl-s1">MySQLComQueryPacketExecutor</span>.<span class="pl-en">execute</span>(<span class="pl-smi">MySQLComQueryPacketExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">94</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">proxy</span>.<span class="pl-s1">frontend</span>.<span class="pl-s1">command</span>.<span class="pl-s1">CommandExecutorTask</span>.<span class="pl-en">executeCommand</span>(<span class="pl-smi">CommandExecutorTask</span>.<span class="pl-smi">java</span>:<span class="pl-c1">110</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">org</span>.<span class="pl-s1">apache</span>.<span class="pl-s1">shardingsphere</span>.<span class="pl-s1">proxy</span>.<span class="pl-s1">frontend</span>.<span class="pl-s1">command</span>.<span class="pl-s1">CommandExecutorTask</span>.<span class="pl-en">run</span>(<span class="pl-smi">CommandExecutorTask</span>.<span class="pl-smi">java</span>:<span class="pl-c1">77</span>)
        <span class="pl-s1">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">base</span>/<span class="pl-s1">java</span>.<span class="pl-s1">util</span>.<span class="pl-s1">concurrent</span>.<span class="pl-s1">ThreadPoolExecutor</span>.<span class="pl-en">runWorker</span>(<span class="pl-smi">ThreadPoolExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">1136</span>)
        <span class="pl-smi">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">base</span>/<span class="pl-s1">java</span>.<span class="pl-s1">util</span>.<span class="pl-s1">concurrent</span>.<span class="pl-s1">ThreadPoolExecutor$Worker</span>.<span class="pl-s1">run</span>(<span class="pl-smi">ThreadPoolExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">635</span>)
        <span class="pl-smi">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">base</span>/<span class="pl-s1">java</span>.<span class="pl-s1">lang</span>.<span class="pl-s1">Thread</span>.<span class="pl-en">run</span>(<span class="pl-smi">Thread</span>.<span class="pl-smi">java</span>:<span class="pl-c1">833</span>)</pre></div>
<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>
<h3 dir="auto">Example codes for reproduce this issue (such as a github link).</h3>
<p dir="auto">I use 4.0.1   in my spring boot 2.2.2</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&lt;dependency&gt;
                  &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
                  &lt;artifactId&gt;druid-spring-boot-starter&lt;/artifactId&gt;
                  &lt;version&gt;1.1.20&lt;/version&gt;
&lt;/dependency&gt;
 &lt;dependency&gt;
            &lt;groupId&gt;org.apache.shardingsphere&lt;/groupId&gt;
            &lt;artifactId&gt;sharding-jdbc-spring-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;4.0.1&lt;/version&gt;
  &lt;/dependency&gt;"><pre class="notranslate"><code class="notranslate">&lt;dependency&gt;
                  &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
                  &lt;artifactId&gt;druid-spring-boot-starter&lt;/artifactId&gt;
                  &lt;version&gt;1.1.20&lt;/version&gt;
&lt;/dependency&gt;
 &lt;dependency&gt;
            &lt;groupId&gt;org.apache.shardingsphere&lt;/groupId&gt;
            &lt;artifactId&gt;sharding-jdbc-spring-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;4.0.1&lt;/version&gt;
  &lt;/dependency&gt;
</code></pre></div>
<p dir="auto">But i get error</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active)."><pre class="notranslate"><code class="notranslate">Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
</code></pre></div>
<p dir="auto">I change  4.0.0-RC1 version</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" &lt;dependency&gt;
            &lt;groupId&gt;org.apache.shardingsphere&lt;/groupId&gt;
            &lt;artifactId&gt;sharding-jdbc-spring-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;4.0.0-RC1&lt;/version&gt;
  &lt;/dependency&gt;
&lt;dependency&gt;
                  &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
                  &lt;artifactId&gt;druid-spring-boot-starter&lt;/artifactId&gt;
                  &lt;version&gt;1.1.20&lt;/version&gt;
&lt;/dependency&gt;"><pre class="notranslate"><code class="notranslate"> &lt;dependency&gt;
            &lt;groupId&gt;org.apache.shardingsphere&lt;/groupId&gt;
            &lt;artifactId&gt;sharding-jdbc-spring-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;4.0.0-RC1&lt;/version&gt;
  &lt;/dependency&gt;
&lt;dependency&gt;
                  &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
                  &lt;artifactId&gt;druid-spring-boot-starter&lt;/artifactId&gt;
                  &lt;version&gt;1.1.20&lt;/version&gt;
&lt;/dependency&gt;
</code></pre></div>
<p dir="auto">The error is  gone;<br>
I  think that  druid-spring-boot-starter have some wrong.<br>
But i  don't find reason.<br>
What's the reason?</p>