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/03/17 11:08:23 UTC

[GitHub] [shardingsphere] tristaZero edited a comment on issue #9568: [New Feature] Support to show execution process for running SQLs by RQL

tristaZero edited a comment on issue #9568:
URL: https://github.com/apache/shardingsphere/issues/9568#issuecomment-800995595


   ## The details about the remaining work
   
   ### Report execution process from one Proxy
   When one Proxy receives the SQL queries from users, it will evaluate whether to report this query execution status to governance in `ExecuteProcessEngine`. You can find where this class is called to track its flow path.
   Currently, the public functions of `DriverJDBCExecutor` has basically finished the relevant functions, but we still need to finish
   - `ExecuteProcessStrategyEvaluator`
   - `GovernanceExecuteProcessReporter`
   - `RawExecutor` (To initialize the whole job, please refer to `DriverJDBCExecutor`)
   - `RawSQLExecutorCallback` (To finish a unit job, referring to `JDBCExecutorCallback`)
   - `CalciteRowExecutor`
   - Store `ExecuteProcessContext` to `governance` in `RegistryCenter` [1]
   
   ### Query execution process from other Proxies
   When users execute `show processlist` from another Proxy. This Proxy needs to go into `ShowProcesslistExecutor` to get `ExecuteProcessContext` and return to the user by DB binary protocol. The following target classes are for this part,
   - Add judgement in `MySQLAdminExecutorFactory`
   - New `ShowProcesslistExecutor` to prepare required data from `governance`.
   
   ### Unit tests
   Please add necessary UTs for your implements.
   
   
   [1] The structure of the [registry center](https://shardingsphere.apache.org/document/current/cn/features/governance/management/registry-center/) is suggested to be
   ```
   namespace
      ├──states
      ├    ├──proxynodes
      ├    ├     ├──${your_instance_ip_a}@${your_instance_pid_x}@${UUID}
      ├    ├     ├──${your_instance_ip_b}@${your_instance_pid_y}@${UUID}
      ├    ├     ├──....
      ├    ├──datanodes
      ├    ├     ├──${schema_1}
      ├    ├     ├      ├──${ds_0}
      ├    ├     ├      ├──${ds_1}
      ├    ├     ├──${schema_2}
      ├    ├     ├      ├──${ds_0}
      ├    ├     ├      ├──${ds_1}
      ├    ├     ├──...
      ├    ├──authenticationnodes
      ├    ├     ├──${execution_id}
   ```


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

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