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 <zhaojinc...@apache.org> 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); }