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 405379c11d5 Fix data source out of order causing load metadata not
right problem. (#28943)
405379c11d5 is described below
commit 405379c11d5416eef9e7989a0bc7e00c8ffbe121
Author: zhaojinchao <[email protected]>
AuthorDate: Sun Nov 5 10:42:45 2023 +0800
Fix data source out of order causing load metadata not right problem.
(#28943)
* Refactor example
* Fixed data source out of order causing load metadata not right problem.
---
.../infra/rule/builder/database/DatabaseRulesBuilder.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/builder/database/DatabaseRulesBuilder.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/builder/database/DatabaseRulesBuilder.java
index e1dce396d8a..baa1a2109b0 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/builder/database/DatabaseRulesBuilder.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/rule/builder/database/DatabaseRulesBuilder.java
@@ -61,7 +61,8 @@ public final class DatabaseRulesBuilder {
for (Entry<RuleConfiguration, DatabaseRuleBuilder> entry :
getRuleBuilderMap(databaseConfig).entrySet()) {
RuleConfigurationChecker configChecker =
OrderedSPILoader.getServicesByClass(
RuleConfigurationChecker.class,
Collections.singleton(entry.getKey().getClass())).get(entry.getKey().getClass());
- Map<String, DataSource> dataSources =
databaseConfig.getStorageUnits().entrySet().stream().collect(Collectors.toMap(Entry::getKey,
storageUnit -> storageUnit.getValue().getDataSource()));
+ Map<String, DataSource> dataSources =
databaseConfig.getStorageUnits().entrySet().stream()
+ .collect(Collectors.toMap(Entry::getKey, storageUnit ->
storageUnit.getValue().getDataSource(), (oldValue, currentValue) -> oldValue,
LinkedHashMap::new));
if (null != configChecker) {
configChecker.check(databaseName, entry.getKey(), dataSources,
result);
}