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));
}