This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/main by this push:
new 4da926b5 Add group deletion api (#913)
4da926b5 is described below
commit 4da926b59db6925d2f4597d78c9287e26682ea43
Author: Huang Youliang <[email protected]>
AuthorDate: Sat Jan 10 20:41:05 2026 +0800
Add group deletion api (#913)
* Add group deletion api
---------
Co-authored-by: Gao Hongtao <[email protected]>
Co-authored-by: 吴晟 Wu Sheng <[email protected]>
---
api/proto/banyandb/database/v1/rpc.proto | 183 ++++++++++++++++++
docs/api-reference.md | 308 ++++++++++++++++++++++++++++++-
2 files changed, 486 insertions(+), 5 deletions(-)
diff --git a/api/proto/banyandb/database/v1/rpc.proto
b/api/proto/banyandb/database/v1/rpc.proto
index 6de71e80..c0893c06 100644
--- a/api/proto/banyandb/database/v1/rpc.proto
+++ b/api/proto/banyandb/database/v1/rpc.proto
@@ -23,6 +23,7 @@ import "banyandb/common/v1/common.proto";
import "banyandb/database/v1/database.proto";
import "banyandb/database/v1/schema.proto";
import "google/api/annotations.proto";
+import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package =
"github.com/apache/skywalking-banyandb/api/proto/banyandb/database/v1";
@@ -353,12 +354,66 @@ message GroupRegistryServiceUpdateRequest {
message GroupRegistryServiceUpdateResponse {}
+// GroupRegistryServiceDeleteRequest is the request for deleting a group.
message GroupRegistryServiceDeleteRequest {
+ // group is the name of the group to delete.
string group = 1;
+ // dry_run indicates whether to perform a dry run without actually deleting
data.
+ // When true, returns what would be deleted without making changes.
+ bool dry_run = 2;
+ // force indicates whether to force delete the group even if it contains
data.
+ // When false, deletion will fail if the group is not empty.
+ bool force = 3;
}
+// GroupRegistryServiceDeleteResponse is the response for deleting a group.
message GroupRegistryServiceDeleteResponse {
+ // deleted indicates whether the group was deleted.
bool deleted = 1;
+ // task_id is the ID of the background deletion task.
+ string task_id = 2;
+}
+
+// GroupDeletionTask represents the status of a group deletion operation.
+message GroupDeletionTask {
+ // Phase represents the current phase of the deletion task.
+ enum Phase {
+ PHASE_UNSPECIFIED = 0;
+ // PHASE_PENDING indicates the task is waiting to start.
+ PHASE_PENDING = 1;
+ // PHASE_IN_PROGRESS indicates the task is currently executing.
+ PHASE_IN_PROGRESS = 2;
+ // PHASE_COMPLETED indicates the task has completed successfully.
+ PHASE_COMPLETED = 3;
+ // PHASE_FAILED indicates the task has failed.
+ PHASE_FAILED = 4;
+ }
+ // current_phase is the current phase of the deletion task.
+ Phase current_phase = 1;
+ // total_counts maps resource types to their total count.
+ map<string, int32> total_counts = 2;
+ // deleted_counts maps resource types to the count of deleted resources.
+ map<string, int32> deleted_counts = 3;
+ // total_data_size_bytes is the total size of data to be deleted in bytes.
+ int64 total_data_size_bytes = 4;
+ // deleted_data_size_bytes is the size of data that has been deleted in
bytes.
+ int64 deleted_data_size_bytes = 5;
+ // message provides additional information about the task status.
+ string message = 6;
+ // created_at is the timestamp when the task was created.
+ google.protobuf.Timestamp created_at = 7;
+}
+
+// GroupRegistryServiceQueryRequest is the request for querying a group
deletion task.
+message GroupRegistryServiceQueryRequest {
+ // group is the name of the group whose deletion task to query.
+ string group = 1;
+}
+
+// GroupRegistryServiceQueryResponse is the response for querying a group
deletion task.
+message GroupRegistryServiceQueryResponse {
+ // task contains the status of the deletion task.
+ GroupDeletionTask task = 1;
}
message GroupRegistryServiceGetRequest {
@@ -383,6 +438,122 @@ message GroupRegistryServiceExistResponse {
bool has_group = 1;
}
+// GroupRegistryServiceInspectRequest is the request for inspecting a group's
detailed information.
+message GroupRegistryServiceInspectRequest {
+ // group is the name of the group to inspect.
+ string group = 1;
+}
+
+// GroupRegistryServiceInspectResponse is the response for inspecting a group.
+message GroupRegistryServiceInspectResponse {
+ // group contains the group metadata.
+ banyandb.common.v1.Group group = 1;
+ // schema_info contains information about all schemas in the group.
+ SchemaInfo schema_info = 2;
+ // data_info contains data storage information for each node.
+ repeated DataInfo data_info = 3;
+ // liaison_info contains information about pending operations in liaison.
+ repeated LiaisonInfo liaison_info = 4;
+}
+
+// SchemaInfo contains information about all schema objects in a group.
+message SchemaInfo {
+ // streams is the list of stream names in the group.
+ repeated string streams = 1;
+ // measures is the list of measure names in the group.
+ repeated string measures = 2;
+ // traces is the list of trace names in the group.
+ repeated string traces = 3;
+ // properties is the list of property names in the group.
+ repeated string properties = 4;
+ // index_rules is the list of index rule names in the group.
+ repeated string index_rules = 5;
+ // index_rule_bindings is the list of index rule binding names in the group.
+ repeated string index_rule_bindings = 6;
+ // topn_aggregations is the list of TopN aggregation names in the group.
+ repeated string topn_aggregations = 7;
+}
+
+// DataInfo contains data storage information for a specific node.
+message DataInfo {
+ // node is the node that stores this data.
+ banyandb.database.v1.Node node = 1;
+ // segment_info contains information about each segment on this node.
+ repeated SegmentInfo segment_info = 2;
+ // data_size_bytes is the total size of data on this node in bytes.
+ int64 data_size_bytes = 3;
+}
+
+// SegmentInfo contains information about a specific time segment.
+message SegmentInfo {
+ // segment_id is the unique identifier of the segment.
+ string segment_id = 1;
+ // time_range_start is the start time of the segment.
+ string time_range_start = 2;
+ // time_range_end is the end time of the segment.
+ string time_range_end = 3;
+ // shard_info contains information about each shard in this segment.
+ repeated ShardInfo shard_info = 4;
+ // series_index_info contains information about the series index.
+ SeriesIndexInfo series_index_info = 5;
+}
+
+// ShardInfo contains information about a specific shard.
+message ShardInfo {
+ // shard_id is the unique identifier of the shard.
+ uint32 shard_id = 1;
+ // data_count is the number of data entries in this shard.
+ int64 data_count = 2;
+ // data_size_bytes is the size of data in this shard in bytes.
+ int64 data_size_bytes = 3;
+ // part_count is the number of parts in this shard.
+ int64 part_count = 4;
+ // inverted_index_info contains information about the inverted index.
+ InvertedIndexInfo inverted_index_info = 5;
+ // sidx_info contains information about sidx.
+ SIDXInfo sidx_info = 6;
+}
+
+// SeriesIndexInfo contains information about the series index.
+message SeriesIndexInfo {
+ // data_count is the number of entries in the series index.
+ int64 data_count = 1;
+ // data_size_bytes is the size of the series index in bytes.
+ int64 data_size_bytes = 2;
+}
+
+// InvertedIndexInfo contains information about the inverted index.
+message InvertedIndexInfo {
+ // data_count is the number of entries in the inverted index.
+ int64 data_count = 1;
+ // data_size_bytes is the size of the inverted index in bytes.
+ int64 data_size_bytes = 2;
+}
+
+// SIDXInfo contains information about sidx.
+message SIDXInfo {
+ // data_count is the number of entries in sidx.
+ int64 data_count = 1;
+ // data_size_bytes is the size of sidx in bytes.
+ int64 data_size_bytes = 2;
+ // part_count is the number of parts in sidx.
+ int64 part_count = 3;
+}
+
+// LiaisonInfo contains information about pending operations in liaison.
+message LiaisonInfo {
+ // pending_write_data_count is the number of data entries waiting to be
written.
+ int64 pending_write_data_count = 1;
+ // pending_sync_part_count is the number of parts waiting to be synchronized.
+ int64 pending_sync_part_count = 2;
+ // pending_sync_data_size_bytes is the size of data waiting to be
synchronized in bytes.
+ int64 pending_sync_data_size_bytes = 3;
+ // pending_handoff_part_count is the number of parts waiting for handoff.
+ int64 pending_handoff_part_count = 4;
+ // pending_handoff_data_size_bytes is the size of data waiting for handoff
in bytes.
+ int64 pending_handoff_data_size_bytes = 5;
+}
+
service GroupRegistryService {
rpc Create(GroupRegistryServiceCreateRequest) returns
(GroupRegistryServiceCreateResponse) {
option (google.api.http) = {
@@ -398,6 +569,8 @@ service GroupRegistryService {
};
}
+ // Delete removes a group and all its associated data.
+ // Supports dry-run mode to preview what would be deleted.
rpc Delete(GroupRegistryServiceDeleteRequest) returns
(GroupRegistryServiceDeleteResponse) {
option (google.api.http) = {delete: "/v1/group/schema/{group}"};
}
@@ -412,6 +585,16 @@ service GroupRegistryService {
// Exist doesn't expose an HTTP endpoint. Please use HEAD method to touch
Get instead
rpc Exist(GroupRegistryServiceExistRequest) returns
(GroupRegistryServiceExistResponse);
+
+ // Inspect retrieves detailed information about a group including its
schemas, data distribution, and pending operations.
+ rpc Inspect(GroupRegistryServiceInspectRequest) returns
(GroupRegistryServiceInspectResponse) {
+ option (google.api.http) = {get: "/v1/group/content/{group}"};
+ }
+
+ // Query retrieves the status of a group deletion task.
+ rpc Query(GroupRegistryServiceQueryRequest) returns
(GroupRegistryServiceQueryResponse) {
+ option (google.api.http) = {get: "/v1/group/task/{group}"};
+ }
}
message TopNAggregationRegistryServiceCreateRequest {
diff --git a/docs/api-reference.md b/docs/api-reference.md
index 64ed1353..990d195e 100644
--- a/docs/api-reference.md
+++ b/docs/api-reference.md
@@ -165,11 +165,15 @@
- [TagType](#banyandb-database-v1-TagType)
- [banyandb/database/v1/rpc.proto](#banyandb_database_v1_rpc-proto)
+ - [DataInfo](#banyandb-database-v1-DataInfo)
- [GetClusterStateRequest](#banyandb-database-v1-GetClusterStateRequest)
- [GetClusterStateResponse](#banyandb-database-v1-GetClusterStateResponse)
-
[GetClusterStateResponse.RouteTablesEntry](#banyandb-database-v1-GetClusterStateResponse-RouteTablesEntry)
- [GetCurrentNodeRequest](#banyandb-database-v1-GetCurrentNodeRequest)
- [GetCurrentNodeResponse](#banyandb-database-v1-GetCurrentNodeResponse)
+ - [GroupDeletionTask](#banyandb-database-v1-GroupDeletionTask)
+ -
[GroupDeletionTask.DeletedCountsEntry](#banyandb-database-v1-GroupDeletionTask-DeletedCountsEntry)
+ -
[GroupDeletionTask.TotalCountsEntry](#banyandb-database-v1-GroupDeletionTask-TotalCountsEntry)
-
[GroupRegistryServiceCreateRequest](#banyandb-database-v1-GroupRegistryServiceCreateRequest)
-
[GroupRegistryServiceCreateResponse](#banyandb-database-v1-GroupRegistryServiceCreateResponse)
-
[GroupRegistryServiceDeleteRequest](#banyandb-database-v1-GroupRegistryServiceDeleteRequest)
@@ -178,8 +182,12 @@
-
[GroupRegistryServiceExistResponse](#banyandb-database-v1-GroupRegistryServiceExistResponse)
-
[GroupRegistryServiceGetRequest](#banyandb-database-v1-GroupRegistryServiceGetRequest)
-
[GroupRegistryServiceGetResponse](#banyandb-database-v1-GroupRegistryServiceGetResponse)
+ -
[GroupRegistryServiceInspectRequest](#banyandb-database-v1-GroupRegistryServiceInspectRequest)
+ -
[GroupRegistryServiceInspectResponse](#banyandb-database-v1-GroupRegistryServiceInspectResponse)
-
[GroupRegistryServiceListRequest](#banyandb-database-v1-GroupRegistryServiceListRequest)
-
[GroupRegistryServiceListResponse](#banyandb-database-v1-GroupRegistryServiceListResponse)
+ -
[GroupRegistryServiceQueryRequest](#banyandb-database-v1-GroupRegistryServiceQueryRequest)
+ -
[GroupRegistryServiceQueryResponse](#banyandb-database-v1-GroupRegistryServiceQueryResponse)
-
[GroupRegistryServiceUpdateRequest](#banyandb-database-v1-GroupRegistryServiceUpdateRequest)
-
[GroupRegistryServiceUpdateResponse](#banyandb-database-v1-GroupRegistryServiceUpdateResponse)
-
[IndexRuleBindingRegistryServiceCreateRequest](#banyandb-database-v1-IndexRuleBindingRegistryServiceCreateRequest)
@@ -206,6 +214,8 @@
-
[IndexRuleRegistryServiceListResponse](#banyandb-database-v1-IndexRuleRegistryServiceListResponse)
-
[IndexRuleRegistryServiceUpdateRequest](#banyandb-database-v1-IndexRuleRegistryServiceUpdateRequest)
-
[IndexRuleRegistryServiceUpdateResponse](#banyandb-database-v1-IndexRuleRegistryServiceUpdateResponse)
+ - [InvertedIndexInfo](#banyandb-database-v1-InvertedIndexInfo)
+ - [LiaisonInfo](#banyandb-database-v1-LiaisonInfo)
-
[MeasureRegistryServiceCreateRequest](#banyandb-database-v1-MeasureRegistryServiceCreateRequest)
-
[MeasureRegistryServiceCreateResponse](#banyandb-database-v1-MeasureRegistryServiceCreateResponse)
-
[MeasureRegistryServiceDeleteRequest](#banyandb-database-v1-MeasureRegistryServiceDeleteRequest)
@@ -231,6 +241,11 @@
-
[PropertyRegistryServiceUpdateRequest](#banyandb-database-v1-PropertyRegistryServiceUpdateRequest)
-
[PropertyRegistryServiceUpdateResponse](#banyandb-database-v1-PropertyRegistryServiceUpdateResponse)
- [RouteTable](#banyandb-database-v1-RouteTable)
+ - [SIDXInfo](#banyandb-database-v1-SIDXInfo)
+ - [SchemaInfo](#banyandb-database-v1-SchemaInfo)
+ - [SegmentInfo](#banyandb-database-v1-SegmentInfo)
+ - [SeriesIndexInfo](#banyandb-database-v1-SeriesIndexInfo)
+ - [ShardInfo](#banyandb-database-v1-ShardInfo)
- [Snapshot](#banyandb-database-v1-Snapshot)
- [SnapshotRequest](#banyandb-database-v1-SnapshotRequest)
- [SnapshotRequest.Group](#banyandb-database-v1-SnapshotRequest-Group)
@@ -272,6 +287,8 @@
-
[TraceRegistryServiceUpdateRequest](#banyandb-database-v1-TraceRegistryServiceUpdateRequest)
-
[TraceRegistryServiceUpdateResponse](#banyandb-database-v1-TraceRegistryServiceUpdateResponse)
+ - [GroupDeletionTask.Phase](#banyandb-database-v1-GroupDeletionTask-Phase)
+
- [ClusterStateService](#banyandb-database-v1-ClusterStateService)
- [GroupRegistryService](#banyandb-database-v1-GroupRegistryService)
-
[IndexRuleBindingRegistryService](#banyandb-database-v1-IndexRuleBindingRegistryService)
@@ -2641,6 +2658,23 @@ Type determine the index structure under the hood
+<a name="banyandb-database-v1-DataInfo"></a>
+
+### DataInfo
+DataInfo contains data storage information for a specific node.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| node | [Node](#banyandb-database-v1-Node) | | node is the node that stores
this data. |
+| segment_info | [SegmentInfo](#banyandb-database-v1-SegmentInfo) | repeated |
segment_info contains information about each segment on this node. |
+| data_size_bytes | [int64](#int64) | | data_size_bytes is the total size of
data on this node in bytes. |
+
+
+
+
+
+
<a name="banyandb-database-v1-GetClusterStateRequest"></a>
### GetClusterStateRequest
@@ -2707,6 +2741,59 @@ Type determine the index structure under the hood
+<a name="banyandb-database-v1-GroupDeletionTask"></a>
+
+### GroupDeletionTask
+GroupDeletionTask represents the status of a group deletion operation.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| current_phase |
[GroupDeletionTask.Phase](#banyandb-database-v1-GroupDeletionTask-Phase) | |
current_phase is the current phase of the deletion task. |
+| total_counts |
[GroupDeletionTask.TotalCountsEntry](#banyandb-database-v1-GroupDeletionTask-TotalCountsEntry)
| repeated | total_counts maps resource types to their total count. |
+| deleted_counts |
[GroupDeletionTask.DeletedCountsEntry](#banyandb-database-v1-GroupDeletionTask-DeletedCountsEntry)
| repeated | deleted_counts maps resource types to the count of deleted
resources. |
+| total_data_size_bytes | [int64](#int64) | | total_data_size_bytes is the
total size of data to be deleted in bytes. |
+| deleted_data_size_bytes | [int64](#int64) | | deleted_data_size_bytes is
the size of data that has been deleted in bytes. |
+| message | [string](#string) | | message provides additional information
about the task status. |
+| created_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | |
created_at is the timestamp when the task was created. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-GroupDeletionTask-DeletedCountsEntry"></a>
+
+### GroupDeletionTask.DeletedCountsEntry
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| key | [string](#string) | | |
+| value | [int32](#int32) | | |
+
+
+
+
+
+
+<a name="banyandb-database-v1-GroupDeletionTask-TotalCountsEntry"></a>
+
+### GroupDeletionTask.TotalCountsEntry
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| key | [string](#string) | | |
+| value | [int32](#int32) | | |
+
+
+
+
+
+
<a name="banyandb-database-v1-GroupRegistryServiceCreateRequest"></a>
### GroupRegistryServiceCreateRequest
@@ -2735,12 +2822,14 @@ Type determine the index structure under the hood
<a name="banyandb-database-v1-GroupRegistryServiceDeleteRequest"></a>
### GroupRegistryServiceDeleteRequest
-
+GroupRegistryServiceDeleteRequest is the request for deleting a group.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
-| group | [string](#string) | | |
+| group | [string](#string) | | group is the name of the group to delete. |
+| dry_run | [bool](#bool) | | dry_run indicates whether to perform a dry run
without actually deleting data. When true, returns what would be deleted
without making changes. |
+| force | [bool](#bool) | | force indicates whether to force delete the group
even if it contains data. When false, deletion will fail if the group is not
empty. |
@@ -2750,12 +2839,13 @@ Type determine the index structure under the hood
<a name="banyandb-database-v1-GroupRegistryServiceDeleteResponse"></a>
### GroupRegistryServiceDeleteResponse
-
+GroupRegistryServiceDeleteResponse is the response for deleting a group.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
-| deleted | [bool](#bool) | | |
+| deleted | [bool](#bool) | | deleted indicates whether the group was
deleted. |
+| task_id | [string](#string) | | task_id is the ID of the background
deletion task. |
@@ -2822,6 +2912,39 @@ Type determine the index structure under the hood
+<a name="banyandb-database-v1-GroupRegistryServiceInspectRequest"></a>
+
+### GroupRegistryServiceInspectRequest
+GroupRegistryServiceInspectRequest is the request for inspecting a group's
detailed information.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| group | [string](#string) | | group is the name of the group to inspect. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-GroupRegistryServiceInspectResponse"></a>
+
+### GroupRegistryServiceInspectResponse
+GroupRegistryServiceInspectResponse is the response for inspecting a group.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| group | [banyandb.common.v1.Group](#banyandb-common-v1-Group) | | group
contains the group metadata. |
+| schema_info | [SchemaInfo](#banyandb-database-v1-SchemaInfo) | |
schema_info contains information about all schemas in the group. |
+| data_info | [DataInfo](#banyandb-database-v1-DataInfo) | repeated |
data_info contains data storage information for each node. |
+| liaison_info | [LiaisonInfo](#banyandb-database-v1-LiaisonInfo) | repeated |
liaison_info contains information about pending operations in liaison. |
+
+
+
+
+
+
<a name="banyandb-database-v1-GroupRegistryServiceListRequest"></a>
### GroupRegistryServiceListRequest
@@ -2847,6 +2970,36 @@ Type determine the index structure under the hood
+<a name="banyandb-database-v1-GroupRegistryServiceQueryRequest"></a>
+
+### GroupRegistryServiceQueryRequest
+GroupRegistryServiceQueryRequest is the request for querying a group deletion
task.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| group | [string](#string) | | group is the name of the group whose deletion
task to query. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-GroupRegistryServiceQueryResponse"></a>
+
+### GroupRegistryServiceQueryResponse
+GroupRegistryServiceQueryResponse is the response for querying a group
deletion task.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| task | [GroupDeletionTask](#banyandb-database-v1-GroupDeletionTask) | |
task contains the status of the deletion task. |
+
+
+
+
+
+
<a name="banyandb-database-v1-GroupRegistryServiceUpdateRequest"></a>
### GroupRegistryServiceUpdateRequest
@@ -3214,6 +3367,41 @@ Type determine the index structure under the hood
+<a name="banyandb-database-v1-InvertedIndexInfo"></a>
+
+### InvertedIndexInfo
+InvertedIndexInfo contains information about the inverted index.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| data_count | [int64](#int64) | | data_count is the number of entries in the
inverted index. |
+| data_size_bytes | [int64](#int64) | | data_size_bytes is the size of the
inverted index in bytes. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-LiaisonInfo"></a>
+
+### LiaisonInfo
+LiaisonInfo contains information about pending operations in liaison.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| pending_write_data_count | [int64](#int64) | | pending_write_data_count is
the number of data entries waiting to be written. |
+| pending_sync_part_count | [int64](#int64) | | pending_sync_part_count is
the number of parts waiting to be synchronized. |
+| pending_sync_data_size_bytes | [int64](#int64) | |
pending_sync_data_size_bytes is the size of data waiting to be synchronized in
bytes. |
+| pending_handoff_part_count | [int64](#int64) | | pending_handoff_part_count
is the number of parts waiting for handoff. |
+| pending_handoff_data_size_bytes | [int64](#int64) | |
pending_handoff_data_size_bytes is the size of data waiting for handoff in
bytes. |
+
+
+
+
+
+
<a name="banyandb-database-v1-MeasureRegistryServiceCreateRequest"></a>
### MeasureRegistryServiceCreateRequest
@@ -3594,6 +3782,99 @@ It provides a view of nodes that are registered,
actively healthy, and those bei
+<a name="banyandb-database-v1-SIDXInfo"></a>
+
+### SIDXInfo
+SIDXInfo contains information about sidx.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| data_count | [int64](#int64) | | data_count is the number of entries in
sidx. |
+| data_size_bytes | [int64](#int64) | | data_size_bytes is the size of sidx
in bytes. |
+| part_count | [int64](#int64) | | part_count is the number of parts in sidx.
|
+
+
+
+
+
+
+<a name="banyandb-database-v1-SchemaInfo"></a>
+
+### SchemaInfo
+SchemaInfo contains information about all schema objects in a group.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| streams | [string](#string) | repeated | streams is the list of stream names
in the group. |
+| measures | [string](#string) | repeated | measures is the list of measure
names in the group. |
+| traces | [string](#string) | repeated | traces is the list of trace names in
the group. |
+| properties | [string](#string) | repeated | properties is the list of
property names in the group. |
+| index_rules | [string](#string) | repeated | index_rules is the list of
index rule names in the group. |
+| index_rule_bindings | [string](#string) | repeated | index_rule_bindings is
the list of index rule binding names in the group. |
+| topn_aggregations | [string](#string) | repeated | topn_aggregations is the
list of TopN aggregation names in the group. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-SegmentInfo"></a>
+
+### SegmentInfo
+SegmentInfo contains information about a specific time segment.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| segment_id | [string](#string) | | segment_id is the unique identifier of
the segment. |
+| time_range_start | [string](#string) | | time_range_start is the start time
of the segment. |
+| time_range_end | [string](#string) | | time_range_end is the end time of
the segment. |
+| shard_info | [ShardInfo](#banyandb-database-v1-ShardInfo) | repeated |
shard_info contains information about each shard in this segment. |
+| series_index_info | [SeriesIndexInfo](#banyandb-database-v1-SeriesIndexInfo)
| | series_index_info contains information about the series index. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-SeriesIndexInfo"></a>
+
+### SeriesIndexInfo
+SeriesIndexInfo contains information about the series index.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| data_count | [int64](#int64) | | data_count is the number of entries in the
series index. |
+| data_size_bytes | [int64](#int64) | | data_size_bytes is the size of the
series index in bytes. |
+
+
+
+
+
+
+<a name="banyandb-database-v1-ShardInfo"></a>
+
+### ShardInfo
+ShardInfo contains information about a specific shard.
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| shard_id | [uint32](#uint32) | | shard_id is the unique identifier of the
shard. |
+| data_count | [int64](#int64) | | data_count is the number of data entries
in this shard. |
+| data_size_bytes | [int64](#int64) | | data_size_bytes is the size of data
in this shard in bytes. |
+| part_count | [int64](#int64) | | part_count is the number of parts in this
shard. |
+| inverted_index_info |
[InvertedIndexInfo](#banyandb-database-v1-InvertedIndexInfo) | |
inverted_index_info contains information about the inverted index. |
+| sidx_info | [SIDXInfo](#banyandb-database-v1-SIDXInfo) | | sidx_info
contains information about sidx. |
+
+
+
+
+
+
<a name="banyandb-database-v1-Snapshot"></a>
### Snapshot
@@ -4191,6 +4472,21 @@ It provides a view of nodes that are registered,
actively healthy, and those bei
+
+<a name="banyandb-database-v1-GroupDeletionTask-Phase"></a>
+
+### GroupDeletionTask.Phase
+Phase represents the current phase of the deletion task.
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| PHASE_UNSPECIFIED | 0 | |
+| PHASE_PENDING | 1 | PHASE_PENDING indicates the task is waiting to start. |
+| PHASE_IN_PROGRESS | 2 | PHASE_IN_PROGRESS indicates the task is currently
executing. |
+| PHASE_COMPLETED | 3 | PHASE_COMPLETED indicates the task has completed
successfully. |
+| PHASE_FAILED | 4 | PHASE_FAILED indicates the task has failed. |
+
+
@@ -4215,10 +4511,12 @@ It provides a view of nodes that are registered,
actively healthy, and those bei
| ----------- | ------------ | ------------- | ------------|
| Create |
[GroupRegistryServiceCreateRequest](#banyandb-database-v1-GroupRegistryServiceCreateRequest)
|
[GroupRegistryServiceCreateResponse](#banyandb-database-v1-GroupRegistryServiceCreateResponse)
| |
| Update |
[GroupRegistryServiceUpdateRequest](#banyandb-database-v1-GroupRegistryServiceUpdateRequest)
|
[GroupRegistryServiceUpdateResponse](#banyandb-database-v1-GroupRegistryServiceUpdateResponse)
| |
-| Delete |
[GroupRegistryServiceDeleteRequest](#banyandb-database-v1-GroupRegistryServiceDeleteRequest)
|
[GroupRegistryServiceDeleteResponse](#banyandb-database-v1-GroupRegistryServiceDeleteResponse)
| |
+| Delete |
[GroupRegistryServiceDeleteRequest](#banyandb-database-v1-GroupRegistryServiceDeleteRequest)
|
[GroupRegistryServiceDeleteResponse](#banyandb-database-v1-GroupRegistryServiceDeleteResponse)
| Delete removes a group and all its associated data. Supports dry-run mode to
preview what would be deleted. |
| Get |
[GroupRegistryServiceGetRequest](#banyandb-database-v1-GroupRegistryServiceGetRequest)
|
[GroupRegistryServiceGetResponse](#banyandb-database-v1-GroupRegistryServiceGetResponse)
| |
| List |
[GroupRegistryServiceListRequest](#banyandb-database-v1-GroupRegistryServiceListRequest)
|
[GroupRegistryServiceListResponse](#banyandb-database-v1-GroupRegistryServiceListResponse)
| |
| Exist |
[GroupRegistryServiceExistRequest](#banyandb-database-v1-GroupRegistryServiceExistRequest)
|
[GroupRegistryServiceExistResponse](#banyandb-database-v1-GroupRegistryServiceExistResponse)
| Exist doesn't expose an HTTP endpoint. Please use HEAD method to touch
Get instead |
+| Inspect |
[GroupRegistryServiceInspectRequest](#banyandb-database-v1-GroupRegistryServiceInspectRequest)
|
[GroupRegistryServiceInspectResponse](#banyandb-database-v1-GroupRegistryServiceInspectResponse)
| Inspect retrieves detailed information about a group including its schemas,
data distribution, and pending operations. |
+| Query |
[GroupRegistryServiceQueryRequest](#banyandb-database-v1-GroupRegistryServiceQueryRequest)
|
[GroupRegistryServiceQueryResponse](#banyandb-database-v1-GroupRegistryServiceQueryResponse)
| Query retrieves the status of a group deletion task. |
<a name="banyandb-database-v1-IndexRuleBindingRegistryService"></a>