RaigorJiang opened a new issue, #29459:
URL: https://github.com/apache/shardingsphere/issues/29459

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   master f8f90126f698cefe1ba83f5fbe953455f1971559
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-Proxy
   
   ### Expected behavior
   When readwrite-splitting and shadow rule are used together, Proxy can be 
started successfully.
   
   ### Actual behavior
   Throws DataSourceNameExistedException
   
   ### Reason analyze (If you can)
   1. When `checkWriteDataSourceNames`, 
`ReadwriteSplittingRuleConfigurationChecker` will check other logic data sources
   ```java
   ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each) || 
containsInOtherRules(each, rules),
                       () -> new 
DataSourceNameExistedException(String.format("Write data source name `%s` not 
in database `%s`.", each, databaseName)));
   ```
   2.  But when `checkReadeDataSourceNames`, 
`ReadwriteSplittingRuleConfigurationChecker` will not check other logic data 
sources, this may result in dependent data sources not being found.
   ```java
   ShardingSpherePreconditions.checkState(dataSourceMap.containsKey(each),
                       () -> new 
DataSourceNameExistedException(String.format("Read data source name `%s` not in 
database `%s`.", each, databaseName)));
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
notifications-unsubscr...@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to