Get desktop application:
View/edit binary Protocol Buffers messages
ExternalWorkloadController is the service that an external controller exposes to TiDB instances. TiDB calls into it to register and recycle background workloads (GC, distributed background subtasks, TTL, auto-analyze, remote queries) so that the controller can run them on dedicated TiDB instances and scale those instances on demand.
DeleteTTLTableInfo notifies the controller that a table no longer has TTL or has been dropped.
table_id is the ID of the table that no longer has TTL or has been dropped.
GetBgTaskConfig returns the worker-pool configuration for a background task type.
worker_type is the background worker type being queried.
worker_count is the worker-pool size the controller has provisioned for this type.
auto_scale_enabled reports whether the controller auto-scales this worker type.
Ping verifies that the controller is reachable.
(message has no fields)
RecycleAutoAnalyze notifies the controller that an auto-analyze task has been completed.
task_id is the ID of the completed auto-analyze task.
RecycleBgTask notifies the controller that a background subtask has been completed.
global_task_id is the ID of the task in mysql.tidb_global_task.
sub_task_id is the ID of the subtask in mysql.tidb_background_subtask. A value of 0 recycles all subtasks of global_task_id.
RecycleGC notifies the controller that all GC delete-range entries at or before safe_point have been processed.
safe_point is the timestamp at or before which all delete-range entries have been processed.
RecycleGCV2 notifies the controller that all keyspace-level GC tasks at or before safe_point are finished.
safe_point is the timestamp at or before which all keyspace-level GC tasks have been processed.
RecycleTTLTask notifies the controller that a TTL job has completed.
completed_job_create_time is the greatest creation timestamp among TTL jobs that have completed on the calling TiDB.
RegisterAutoAnalyze notifies the controller that an auto-analyze task has been registered.
task_id is the ID of the registered auto-analyze task.
RegisterBgTask notifies the controller that a background subtask has been created.
task_type is the worker type that should execute the subtask.
task_key is the key of the distributed task job.
global_task_id is the ID of the task in mysql.tidb_global_task.
sub_task_id is the ID of the subtask in mysql.tidb_background_subtask. A value of 0 is used for a task-level guard entry.
exec_id is the logical TiDB ID assigned to the subtask, or empty for a task-level guard entry.
RegisterGC notifies the controller that a new GC delete-range entry was inserted at deletion_ts.
deletion_ts is the timestamp at which a new delete-range row was inserted.
RegisterGCV2 notifies the controller that a round of keyspace-level GC has just been performed at safe_point. If no further heartbeats are received the controller should schedule another round after gc_life_time seconds elapse.
safe_point is the timestamp of the most recent keyspace-level GC.
gc_life_time is the GC life time configured on the calling TiDB, in seconds.
RegisterRemoteQuery notifies the controller that a query is being executed remotely.
query_id is the ID of the query being executed remotely.
query_address is the address of the TiDB executing the query.
RegisterTTLTask notifies the controller that a table with TTL has been created or altered.
table_id is the ID of the table with TTL configured.
ttl_job_enable is the current value of the tidb_ttl_job_enable system variable.
UpdateBgTaskExecID notifies the controller that the exec IDs assigned to subtasks of a task have changed.
global_task_id is the ID of the task in mysql.tidb_global_task.
assignments are the subtask-to-exec-ID mappings being updated.
UpdateGCLifeTime notifies the controller that the user's gc_life_time changed.
gc_life_time is the new gc_life_time value, in seconds.
UpdateTTLJobEnable notifies the controller that the tidb_ttl_job_enable system variable changed.
ttl_job_enable is the new value of the tidb_ttl_job_enable system variable.
Used in: ,
Used in:
PAUSED indicates the controller has temporarily paused the corresponding handler.
RequestHeader carries TiDB-side identity information used by the controller to route a request to the right pool.
Used in: , , , , , , , , , , , , , , ,
keyspace_id is the keyspace ID of the calling TiDB.
keyspace_name is the keyspace name of the calling TiDB.
tidb_pool is the pool the calling TiDB belongs to.
Response is the standard reply for RPCs that only need to surface an Error.
Used as response type in: ExternalWorkloadController.DeleteTTLTableInfo, ExternalWorkloadController.Ping, ExternalWorkloadController.RecycleAutoAnalyze, ExternalWorkloadController.RecycleBgTask, ExternalWorkloadController.RecycleGC, ExternalWorkloadController.RecycleGCV2, ExternalWorkloadController.RecycleTTLTask, ExternalWorkloadController.RegisterAutoAnalyze, ExternalWorkloadController.RegisterBgTask, ExternalWorkloadController.RegisterGC, ExternalWorkloadController.RegisterGCV2, ExternalWorkloadController.RegisterRemoteQuery, ExternalWorkloadController.RegisterTTLTask, ExternalWorkloadController.UpdateBgTaskExecID, ExternalWorkloadController.UpdateGCLifeTime, ExternalWorkloadController.UpdateTTLJobEnable
Used in:
sub_task_id is the ID of the subtask in mysql.tidb_background_subtask.
exec_id is the logical TiDB ID assigned to the subtask.