You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2021/10/26 09:16:46 UTC

[GitHub] [shardingsphere] RaigorJiang opened a new issue #13287: The issue of the dependency order of `feature-core` modules

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


   Hi community,
   
   Currently, `ShardingSphere-JDBC` and `ShardingSphere-Proxy` introduce their capabilities by depending on the core modules of each feature.
   The core module of each feature will depend on other modules of feature, such as feature-api and feature-distsql. . .
   The dependency tree is as follows:
   
   ```
   shardingsphere-proxy-backend
   │
   ├── shardingsphere-sharding-core
   │   ├── shardingsphere-sharding-api
   │   ├── shardingsphere-sharding-distsql-handler
   │   ├── shardingsphere-sharding-distsql-parser
   │   └── ...
   ├── shardingsphere-readwrite-splitting-core
   │   ├── shardingsphere-readwrite-splitting-api
   │   ├── shardingsphere-readwrite-splitting-distsql-handler
   │   ├── shardingsphere-readwrite-splitting-distsql-parser
   │   └── ...
   ├── shardingsphere-db-discovery-core
   │   ├── shardingsphere-db-discovery-api
   │   ├── shardingsphere-db-discovery-distsql-handler
   │   ├── shardingsphere-db-discovery-distsql-parser
   │   └── ...
   └── ...
   ```
   
   However, I found some problems:
   
   1. `ShardingSphere-JDBC` cannot use `DistSQL`, but still introduces the distsql modules through the dependency on feature-core modules;
   2. In `ShardingSphere-Proxy`, the work of the feature-core module does not actually need to use distsql. The current structure is only to indirectly introduce distsql dependency for `shardingsphere-proxy-backend` module.
   3. Feature-distsql may need to use the objects in feature-core, but because of the dependency order, it cannot be imported conveniently.
   
   Therefore, I suggest adjusting the dependency between feature-core and feature-distsql:
   
   1. Let feature-core(s) no longer depend on feature-distsql(s);
   2. Let feature-distsql(s) depend on feature-core(s);
   3. `ShardingSphere-JDBC` still depends on feature-core(s), which can reduce the volume of application deployment package;
   4. `ShardingSphere-Proxy` depends on feature-distsql(s), and indirectly depends on feature-core(s).
   
   


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] RaigorJiang commented on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
RaigorJiang commented on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-952485931


   Linked discussion: #13287


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] terrymanu commented on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
terrymanu commented on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-952121131


   Firstly, I need to answer the questions:
   
   > 1. ShardingSphere-JDBC cannot use DistSQL, but still introduces the distsql modules through the dependency on feature-core modules;
   
   Indeed, ShardingSphere-JDBC should support DistSQL too, but we have no time to complete it yet, I want open to discuss how and when to support it.
   
   > 2. In ShardingSphere-Proxy, the work of the feature-core module does not actually need to use distsql. The current structure is only to indirectly introduce distsql dependency for shardingsphere-proxy-backend module.
   
   It is same with the 1st question, if DistSQL is necessary for all adaptors, we need to move it from shardingsphere-proxy-backend module to more kernel module.
   
   > 3. Feature-distsql may need to use the objects in feature-core, but because of the dependency order, it cannot be imported conveniently.
   
   Maybe we need to keep it with same reason to previous questions.
   
   


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] terrymanu edited a comment on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
terrymanu edited a comment on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-952121131


   Firstly, I need to answer the questions:
   
   > 1. ShardingSphere-JDBC cannot use DistSQL, but still introduces the distsql modules through the dependency on feature-core modules;
   
   Indeed, ShardingSphere-JDBC should support DistSQL too, but we have no time to complete it yet, I want open to discuss how and when to support it.
   
   > 2. In ShardingSphere-Proxy, the work of the feature-core module does not actually need to use distsql. The current structure is only to indirectly introduce distsql dependency for shardingsphere-proxy-backend module.
   
   It is same with the 1st question, if DistSQL is necessary for all adaptors, we need to move it from shardingsphere-proxy-backend module to more kernel module.
   
   > 3. Feature-distsql may need to use the objects in feature-core, but because of the dependency order, it cannot be imported conveniently.
   
   Maybe we need to keep it with same reason to previous questions.
   


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] terrymanu commented on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
terrymanu commented on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-953795285


   I have an idea.
   How about add a new interface which extends ShardingSphereRule?
   I just name it as `ExportableRule`, and add new method `Map<String, Object> export()` for DistSQL fetch desired data.


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] RaigorJiang edited a comment on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
RaigorJiang edited a comment on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-952485931


   Linked discussion: #13299


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] menghaoranss closed issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
menghaoranss closed issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287


   


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] RaigorJiang commented on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
RaigorJiang commented on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-952490211


   Hi @terrymanu ,
   thank you for your reply.
   I agree with your idea, and now I want to discuss the third question first:
   
   > `feature-distsql` may need to use the objects in `feature-core`, but because of the dependency order, it cannot be imported conveniently.
   
   Since DistSQL needs to depend on the code of the `feature-core` module, can we adjust the dependency order first so that the development plan can proceed?
   When ShardingSphere-JDBC needs to support DistSQL, it is a relatively long-term plan to redesign the module structure and make relevant adjustments.


-- 
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-unsubscribe@shardingsphere.apache.org

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



[GitHub] [shardingsphere] RaigorJiang commented on issue #13287: The issue of the dependency order of `feature-core` modules

Posted by GitBox <gi...@apache.org>.
RaigorJiang commented on issue #13287:
URL: https://github.com/apache/shardingsphere/issues/13287#issuecomment-951745888


   Hi, @terrymanu @tristaZero 
   Please help to see if it is feasible?


-- 
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-unsubscribe@shardingsphere.apache.org

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