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 51b6f6fcb69 Fix force startup (#26792)
51b6f6fcb69 is described below
commit 51b6f6fcb69339c20b101acca5d0111d12cd65e9
Author: ZhangCheng <[email protected]>
AuthorDate: Thu Jul 6 18:04:00 2023 +0800
Fix force startup (#26792)
* Fix force startup
* Fix force startup
---
.../shardingsphere/metadata/factory/ExternalMetaDataFactory.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/factory/ExternalMetaDataFactory.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/factory/ExternalMetaDataFactory.java
index 51ada0c94e5..6e5995dd4f8 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/factory/ExternalMetaDataFactory.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/factory/ExternalMetaDataFactory.java
@@ -24,6 +24,7 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import
org.apache.shardingsphere.infra.database.type.checker.DatabaseTypeChecker;
+import org.apache.shardingsphere.infra.datasource.state.DataSourceStateManager;
import org.apache.shardingsphere.infra.instance.InstanceContext;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -80,7 +81,8 @@ public final class ExternalMetaDataFactory {
String databaseName = entry.getKey();
if (!entry.getValue().getDataSources().isEmpty() ||
!protocolType.getSystemSchemas().contains(databaseName)) {
Map<String, DatabaseType> storageTypes =
DatabaseTypeEngine.getStorageTypes(entry.getKey(), entry.getValue());
-
DatabaseTypeChecker.checkSupportedStorageTypes(entry.getValue().getDataSources(),
databaseName, storageTypes);
+
DatabaseTypeChecker.checkSupportedStorageTypes(DataSourceStateManager.getInstance()
+ .getEnabledDataSourceMap(databaseName,
entry.getValue().getDataSources()), databaseName, storageTypes);
result.put(databaseName.toLowerCase(),
ShardingSphereDatabase.create(databaseName, protocolType, storageTypes,
entry.getValue(), props, instanceContext));
}
}