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


   
   
![image](https://user-images.githubusercontent.com/5668787/133584365-dbf40f82-b4e6-4fef-9b05-cdb1f1e37481.png)
   
   
![image](https://user-images.githubusercontent.com/5668787/133584776-ed82a548-f930-4771-b6d7-4f0fa6a224d2.png)
   
   
   When the input DistSQL is a RAL statement, RALBackendHandlerFactory will be 
used to construct the TextProtocolBackendHandler.
   
   Further, if the input RAL statement is an instance of UpdatableRALStatement, 
UpdatableRALBackendHandlerFactory will be used.  **[picture 1]**
   
   In UpdatableRALBackendHandlerFactory, the static block is used to load the 
SPI of RALUpdater. Here are some information:
   1. The RAL statement only contained Scaling previously, but now there can be 
more types;
   2. When loading the updater SPI of Scaling, the Scaling configuration will 
be checked through a static method, and an exception will be thrown if there is 
no configuration; **[picture 2]**
   
   This brings up a new problem:
   When adding a new RALUpdate statement, if the Scaling rule is not 
configured, users will get an exception, even if users do not need the Scaling 
feature. 
   This affected the development of new features.
   
   I hope this problem can be resolved by refactoring.


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