terrymanu commented on issue #37738:
URL: 
https://github.com/apache/shardingsphere/issues/37738#issuecomment-3763160252

   Problem Understanding
   
     - Using ShardingSphere-JDBC (Standalone + HikariCP) with ~20 physical data 
sources; one is unreachable at startup, causing ShardingSphereDataSource 
initialization to fail. Expectation: other shards keep working, and only 
requests routed to the
       failed shard should error at runtime.
   
     Root Cause
   
     - Current design performs connectivity and metadata checks on all 
configured physical data sources during startup; any failure triggers fail-fast 
to avoid building incomplete ContextManager/MetaDataContexts and inconsistent 
routing rules.
       Every configured data source is treated as a required dependency.
   
     Analysis
   
     - During bootstrap, each data source is created and validated; a failure 
throws an exception and stops context construction (see official data source 
config doc: 
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-
       jdbc/yaml-config/data-source/).
     - Routing and metadata generation rely on all storage nodes (database 
type, schema, etc.). Allowing missing nodes would leave shards in the rules 
that cannot execute, putting the system into a partially routable state, which 
conflicts with the
       “start with consistent availability” design principle.
     - Therefore, the implementation deliberately enforces an all-or-nothing 
strategy to keep rules, metadata, and underlying resources consistent and 
predictable.
   
     Conclusion
   
     - This is expected behavior in current ShardingSphere-JDBC, not a defect. 
“Partial initialization / degraded startup” is not supported today and would 
require a new feature (e.g., explicit handling of missing nodes with matching 
metadata/
       routing degradation strategies), which the framework does not currently 
provide.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to