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

   ## Bug Report
   ShardingSphere-Proxy is used as a gateway for a multitenant system. It has 
more than 100 tenants, so 100+ databases. It's a standard/expected situation 
when the Client DB is unreachable at some point in time. But with the current 
behavior, any autoscaling is not possible - a new Node can't start.
   
   ### Which version of ShardingSphere did you use?
   5.5.2
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-Proxy
   
   ### Expected behavior
   ShardingSphere-Proxy starts successfully even when no access to the storage 
units' databases
   
   ### Actual behavior
   ShardingSphere-Proxy fails to start when no access to the Storage Unit DB 
(was unable to connect).
   
   ### Reason  analysis
   When ShardingSphere-Proxy starts, it tries to determine 
ShardingSphereDatabase protocol version. It uses DatabaseServerInfo class:
   ```
   public DatabaseServerInfo(final DataSource dataSource) {
           try (Connection connection = dataSource.getConnection()) {
               DatabaseMetaData databaseMetaData = connection.getMetaData();
               databaseType = databaseMetaData.getDatabaseProductName();
               databaseVersion = databaseMetaData.getDatabaseProductVersion();
           } catch (final SQLException ex) {
               throw new DatabaseServerLoadingException(ex);
           }
       }
   ```
   
   But if it can't obtain a connection to the storage unit datasource, it fails 
to start.
   
   ### Steps to reproduce the behavior
   1. Set frontent to posgresql in global.yaml
   `proxy-frontend-database-protocol-type: PostgreSQL`
   2. Add some dummy datasource with postgres db storage unit
   3. Start ShardingSphere-Proxy
   


-- 
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