Get desktop application:
View/edit binary Protocol Buffers messages
Used as request type in: tserver.TabletServerAdminService.AlterSchema, tserver.TabletServerAdminService.BackfillDone
Used as field type in:
, , ,UUID of server this request is addressed to.
TODO: Replace with the table descriptor (Schema, Column IDs, Column Attributes)
For batching multiple adds.
Note that we don't use the value of this and just check has_mark_backfill_done.
Used for alter schema on a non-primary table (e.g. colocated user table).
Used to update schema of a colocated user table upon backfill completion.
Transactions will be aborted except the one with this id which triggered the AlterTable.
16 byte uuid
Used for AlterTable to determine if active transactions on the tablet needs to be aborted.
For CDCSDK Stream creation with consistent snapshot
Will insert the new schema into historical packing schema with schema version [schema_version - 1], and then reinsert the current packing schema with [schema_version]. Schema version must be bumped by 2 before this call is made.
Used as request type in: tserver.TabletServerAdminService.CloneTablet
Used as field type in:
UUID of server this request is addressed to.
Not called source_tablet_id because some templated functions use req->tablet_id().
If set, checkout the active rocksdb folder to the target snapshot. This is set for tablets that were hidden before the snapshot that covers the clone time was taken (we do not take snapshots after hiding a tablet).
The colocated tables' infos used to build the superblock of the parent tablet. The colocated tables' info cannot be copied from the source tablet becuase: 1- The colocated tables don't have the same table ids in both source and target databases. 2- The colocated tables on the target can have different schemas than the tables on the source tablet. i.e when cloning to a time before DDl operations happened on the source tablet.
Used in:
, ,Required. Sometimes includes path.
Required.
Used to avoid copying same files over network, so we could hardlink them.
The enum of full compaction states. Full compaction states are sent in TabletReports and recorded in-memory on the master.
Used in:
, ,Indicates that no full compaction is undergoing nor queued.
Indicates that a full compaction is currently queued or ongoing.
Indicates that we are are waiting for the next heartbeat.
KV-store meta data. Single KV-store is backed by one or two RocksDB instances, depending on whether distributed transactions are enabled for the table. KV-store for sys catalog could contain multiple tables.
Used in:
KV-store id. For more convenient logs browsing and investigation, by default set to raft_group_id for the KV-store which was created first in the Raft group.
The RocksDB directory for this KV-store.
List of RocksDB SST files.
List of Snapshot files.
List of tables sharing this KV-store. Primary table always goes first.
Optional inclusive lower bound and exclusive upper bound for keys served by this KV-store. See docdb::KeyBounds.
Whether KV-store regular DB parent files have been compacted since creation. We don't split post-split tablets which have uncompacted parent data as of 2020-06-23, since detecting effective middle key and tablet size for such tablets is not yet implemented.
Uint64 representation of a HybridTime indicating the last time the tablet was fully compacted. Defaults to 0 (i.e. HybridTime::kMin).
Indicates the upper bound for a set of files, which should be included into post-split compaction. In this case post-split compaction picks a subset of files whose file number is limited by post_split_compaction_file_number_upper_bound exclusively and whose total size is less or equal than FLAGS_post_split_compaction_input_size_threshold_bytes. The parameter is not taken into account if FLAGS_post_split_compaction_input_size_threshold_bytes is set to 0. The value of post_split_compaction_file_number_upper_bound is set to 0 when post-split compaction is done for all the files in the selected subset.
Used to present the maintenance manager's internal state.
The next operation that would run.
List of all the operations.
This list is not guaranteed to be in any particular order. Can contain the same operation multiple times.
Used in:
Number of seconds since this operation started.
Used in:
Number of times this operation is currently running.
The super-block keeps track of the Raft group.
Used in:
,Table ID of the primary table in this Raft group. For now we can only have more than one tables in master Raft group and sys catalog table is the primary table in this case.
The partition of the table.
The latest schema TODO: maybe this should be TableSchemaPB? Need to actually put those attributes into use throughout the code. Using the simpler one for now.
The partition schema of the table.
The current state of the Raft group's data.
The write-ahead log directory for this Raft group.
For tablets that have been tombstoned, stores the last OpId stored in the WAL before tombstoning. Only relevant for TOMBSTONED tablets.
KV-store for this Raft group.
The RocksDB directory for this tablet.
List of RocksDB SST files.
List of Snapshot files.
Deleted column IDs with timestamps so that memory can be cleaned up.
Secondary indexes of the table.
For index table: information about this index.
Tables co-located in this tablet.
True if the raft group is for a colocated tablet.
Minimum replicated op id index for cdc streams. This value is used to retain log files that contain any entries with indices larger than this one. By default max int64 to avoid retaining any log files unnecessarily.
Is this tablet currently a consumer tablet for xcluster replication.
Reject client queries (read and write) to this tablet like it does not present.
Picked at master while enabling writes after restoration.
SPLIT_OP ID designated for this tablet (so child tablets will have this unset until they've been split themselves).
Minimum checkpoint op id for cdcsdk streams. This value is used to retain intents with op id larger than this one.
List of stateful services hosted by this tablet.
Is this tablet currently a being replicated with cdc.
OpId of the last change metadata operation performed on this tablet that has been flushed to disk. This value is used to determine if a particular raft op should be replayed during local tablet bootstrap of the tablet.
The highest seq_no clone op that this tablet has applied. The clone was not necessarily successful. The master is responsible for not sending multiple clone requests with different sequence_numbers until the previous one is complete or aborted on all tablets.
The enum of Raft group states. Raft group states are sent in TabletReports and kept in TabletPeer.
Used in:
, , ,Raft group has not yet started.
Indicates the Raft group is bootstrapping, i.e. that the Raft group is not available for RPC.
Once the configuration phase is over Peers are in RUNNING state. In this state Peers are available for client RPCs.
The Raft group failed to for some reason. TabletPeer::error() will return the reason for the failure.
The Raft group is shutting down, and will not accept further requests.
The Raft group has been stopped.
Used in:
,Used as request type in: tserver.TabletServerAdminService.SplitTablet
Used as field type in:
,UUID of server this request is addressed to.
Parent tablet leader UUID from SPLIT_OP term.
Table information.
Used in:
, , , ,Table id, name, and type.
Id of operation that added this table to the tablet.
Time when this table was added to the tablet.
In case the table was rewritten, explicitly store the TableId containing the PG table OID (as the table's TableId no longer matches).
Table schema and version.
Table's partitioning schema.
Secondary indexes of the table.
For index table: information about this index.
Deleted column IDs with timestamps so that memory can be cleaned up.
CDC WAL retention time in secs of the table.
Whether we can skip table tombstone check for this table (only applies to colocated tables).
State flags indicating whether the tablet is in the middle of being copied and is therefore not possible to bring up, whether it has been deleted, or whether the data is in a usable state.
Used in:
, , ,The tablet is set to TABLET_DATA_COPYING state when in the middle of remote bootstrap while copying data files from a remote peer. If a tablet server crashes with a tablet in this state, the tablet must be deleted and the remote bootstrap process must be restarted for that tablet.
Fresh empty tablets and successfully copied tablets are set to the TABLET_DATA_READY state.
This tablet is in the process of being deleted. The tablet server should "roll forward" the deletion during boot, rather than trying to load the tablet.
The tablet has been deleted, and now just consists of a "tombstone".
This tablet split has been completed. In this state tablet could only be used as a remote bootstrap source for some time (follower_unavailable_considered_failed_sec) and then will be shutdown. TODO(tsplit): After https://github.com/yugabyte/yugabyte-db/issues/1461: - add integration test for remote bootstrap from source split tablet before/after follower_unavailable_considered_failed_sec.
This tablet has been initialized as a subtablet of another tablet undergoing a split. Once this tablet is ready to assume responsibility for it's portion of the split keyspace, it will be moved to the TABLET_DATA_READY state.
Used in:
, ,DEPRECATED.
DEPRECATED.
Is the tablet hidden.
See KvStoreInfoPB.
A list of all tables that are colocated on this tablet.
Used in:
, ,tablets has different meaning, depending on status: PENDING - list of involved tablets, if FLAGS_disable_heartbeat_send_involved_tablets = false. COMMITTED - list of involved tablets APPLYING - single entry, status tablet of this transaction PROMOTING - single entry, new status tablet of this transaction APPLIED - single entry, tablet that applied this transaction Not used is other cases.
Relevant only in SEALED state. Number of batches that should be replicated at appropriate tablet to interpret transaction as committed.
Relevant only in APPLYING state.
Relevant only in CLEANUP and APPLYING status, true when we perform request for a transaction that was previously sealed.
Set of subtransaction IDs which are aborted.
The time at which this transaction started at the client.
Stores the uuid of the node hosting the transaction at the query layer.
Status containing deadlock info if the transaction was aborted due to deadlock.
Fields 14, 15 are used for session level transactions alone (when session advisory locks feature is enabled). The current pg session request version is propagated on transaction heartbeats. If the coordinator has a higher version than the one received in the request, it errors with the status holding the active pg session request version, post which YBTransaction updates its state.
For detection deadlocks spanning session advisory locks and row-level locks, the status tablet needs to be made aware of the active regular docdb transaction of the ysql session, if any.
Used in:
,(message has no fields)
TODO(proto3) reserved 2, 3, 5, 6, 8, 9, 10, 12, 13, 18;
Used in:
Use 2 int64 to represent UUID.