Monitor Segment Group Transfers
You can perform segment group transfers in the system. Use the data in the sys.segment_group_transfers and sys.subtasks system catalog tables to monitor this activity.
A segment is the primary storage unit. Individual segments combine together to form segment groups. For details, see Core Elements of an Ocient System.
In a system that has multiple storage clusters, the Ocient system might experience a data imbalance between clusters. In this case, you might need to transfer segment group ownership between clusters. Transferring segment groups enables you to transfer the physically stored segments between clusters. During or after the segment group transfer, you can monitor the activity using the sys.segment_group_transfers and sys.subtasks system catalog tables.
The database contains the system catalog table named sys.segment_group_transfers with these columns:
- id - A UUID that represents the transfer identifier.
- src_cluster_id - The UUID of the source cluster.
- dst_cluster_id - The UUID of the destination cluster.
- status - The current status of the transfer.
- ACTIVE - The transfer is ongoing.
- COMPLETE - The transfer is complete and the segment groups are owned by the destination cluster.
- FAILED - The transfer is not complete and the segment groups are owned by the source cluster. A transfer can be in this state due to an error that prevented the system from transferring segment groups or due to a cancelled transfer.
- segment_group_ids - An array of uint64 segment group identifiers.
- src_committed_osn - The ownership sequence number (OSN) where the source cluster no longer returns the segment groups in the transfer for queries.
- dst_committed_osn - The OSN where the destination cluster added the segment groups. The destination cluster does not return the segment groups for queries unless the query is using at least the src_committed_osn value for the OSN of the source cluster.
The database removes segment group transfers from the system upon completion. Therefore, for monitoring purposes, you can query the sys.subtasks table instead.
The database contains the system catalog table named sys.subtasks with these relevant columns for segment group transfers:
- id - A UUID that represents the task identifier. This identifier is equivalent to the id column in sys.segment_group_transfers.
- task_type - This column is always set to rebalance .
- status - The current status of the task.
- RUNNING - The transfer is in the ACTIVE state.
- COMPLETE - The transfer is completed successfully.
- FAILED - The transfer is not completed successfully.
- CANCELLED - The transfer is cancelled.
- details - This column contains more detailed information about a transfer.
- The current stage of the transfer.
- Number of segment groups left to transfer.