Get desktop application:
View/edit binary Protocol Buffers messages
Used as request type in: tikvpb.Tikv.BatchCoprocessor
Any schema-ful storage to validate schema correctness if necessary.
Used for partition table scan
This is the session id between a client and tidb
This is the session alias between a client and tidb
Shard infos for FTS index, used by TiFlash reading TiCI.
Used as response type in: tikvpb.Tikv.BatchCoprocessor
Used as request type in: tikvpb.Tikv.DelegateCoprocessor
Used for avoid redundant mem-table copying. If the sequence is the same, tikv-server will not return the mem-table.
Used for avoid redundant snapshot copying. If the sequence is the same, tikv-server will not return the snapshot.
Used as response type in: tikvpb.Tikv.DelegateCoprocessor
Used for avoid redundant mem-table copying.
[start, end)
Used in: , , , , , ,
Used in: , , ,
Used as request type in: tikvpb.Tikv.Coprocessor, tikvpb.Tikv.CoprocessorStream, tikvpb.VersionedKv.VersionedCoprocessor
Used as field type in:
If cache is enabled, TiKV returns cache hit instead of data if its last version matches this `cache_if_match_version`.
Any schema-ful storage to validate schema correctness if necessary.
paging_size is 0 when it's disabled, otherwise, it should be a positive number.
tasks stores the batched coprocessor tasks sent to the same tikv store.
This is the session id between a client and tidb
This is the session alias between a client and tidb
Shard infos for FTS index, used by TiFlash reading TiCI.
Versioned point ranges for TiCI lookup. When `versioned_ranges` is non-empty, all `versioned_ranges[i].range` must be point range.
max_keys_read is 0 when disabled, otherwise limits the number of storage engine keys scanned per coprocessor task. It is a per-task hard ceiling applied uniformly to any coprocessor request, used to bound worst-case scan amplification regardless of how the request is paginated.
paging_size_bytes is 0 when disabled, otherwise it should be a positive number. When set, within a paged coprocessor request, TiKV stops scanning the current page once accumulated scanned bytes reach this limit and returns the page boundary so the next page can resume from there. Unlike max_keys_read, which is a per-task hard ceiling on keys scanned, paging_size_bytes is an independent rate-control dimension intended for Resource Control: it bounds the byte volume of a single page so that RU pre-charging in PD's resource controller can be performed at byte granularity, complementing the existing row-count-based paging (paging_size). The two fields target different scenarios and may be set independently.
Signals that the client can handle results of the batched tasks in `tasks` being merged into `Response.data` instead of each task returning its result in its own `StoreBatchTaskResponse.data`. Merging lets the store combine mergeable payloads, such as per-region ANALYZE sampling statistics, into one result, reducing the response size and the client's decode and merge work. See the batched ANALYZE design for the motivating use case: https://github.com/pingcap/tidb/pull/70355. For every merged task, the store still adds a `StoreBatchTaskResponse` with `data_merged_into_response` set. The store may return some or all task results separately even when this field is set, for example when a task fails, when its result is not mergeable, or when the store predates this field, so the client must handle both merged and per-task results. This field only negotiates the response shape. It does not affect task scheduling and may be set independently of `execute_batch_tasks_serially`.
When true, the store executes the primary task and all tasks in `tasks` one at a time, so at most one task of this request is running at any moment. Task execution order is not guaranteed. Clients that already bound their per-store concurrency by the number of in-flight requests, such as batched ANALYZE, set this so that batching more tasks into one request does not multiply that concurrency. The trade-off is a longer-lived request. This field only affects task scheduling and may be set independently of `allow_batch_task_data_merge`.
Used as response type in: tikvpb.Tikv.Coprocessor, tikvpb.Tikv.CoprocessorStream, tikvpb.VersionedKv.VersionedCoprocessor
Used as field type in:
This field is always filled for compatibility consideration. However newer TiDB should respect `exec_details_v2` field instead.
This field is provided in later versions, containing more detailed information.
Contains the latest buckets version of the region. Clients should query PD to update buckets in cache if its is stale.
StoreBatchTaskResponse is the collection of batch task responses.
Used in: , ,
Used in:
Versioned point ranges for TiCI lookup. When `versioned_ranges` is non-empty, all `versioned_ranges[i].range` must be point range.
Bucket metadata version used to validate this child task.
Used in:
Indicates that this task's result was merged into the enclosing `Response.data`, so this message's `data` is empty. The store sets this field only when the client enables `Request.allow_batch_task_data_merge`, and only for a task that succeeded: a failed or non-mergeable task is returned as a normal per-task response with this field unset. Merging is atomic. If the store fails while merging, it returns no partial merged data and no response with this field set, so the client can safely retry the entire batch without losing or double-counting any task's result. This message still identifies the merged task by `task_id` and carries its execution details.
Used in: , ,
Used in: , ,
The executor ID is used to identify the tici executor.
The shard_infos contains the shard information for each tici executor.
Used as request type in: tikvpb.Tikv.GetEstimateTiCICount
Used as response type in: tikvpb.Tikv.GetEstimateTiCICount
KeyRange with an attached read_ts (version). It is used by TiCI versioned lookup. Callers must ensure `range` is a point range.
Used in: ,