This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new c520aee65fa Fix the NPE when it does not contain a specified logic 
database in Driver. (#31007)
c520aee65fa is described below

commit c520aee65fa86bc05fcb08014991e653a851882e
Author: Cong Hu <[email protected]>
AuthorDate: Thu Apr 25 16:37:39 2024 +0800

    Fix the NPE when it does not contain a specified logic database in Driver. 
(#31007)
---
 .../java/org/apache/shardingsphere/mode/manager/ContextManager.java     | 2 +-
 .../java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 7c845221da0..edf23094e0f 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -121,7 +121,7 @@ public final class ContextManager implements AutoCloseable {
      * @return storage units
      */
     public Map<String, StorageUnit> getStorageUnits(final String databaseName) 
{
-        return 
metaDataContexts.get().getMetaData().getDatabase(databaseName).getResourceMetaData().getStorageUnits();
+        return 
getDatabase(databaseName).getResourceMetaData().getStorageUnits();
     }
     
     /**
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index 07df29308c8..56c43061c4d 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -119,6 +119,7 @@ class ContextManagerTest {
         ShardingSphereDatabase database =
                 new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME, 
mock(DatabaseType.class), resourceMetaData, mock(RuleMetaData.class), 
Collections.emptyMap());
         
when(metaDataContexts.getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME)).thenReturn(database);
+        
when(metaDataContexts.getMetaData().containsDatabase(DefaultDatabase.LOGIC_NAME)).thenReturn(true);
         
assertThat(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).size(), 
is(1));
     }
     

Reply via email to