diff --git a/weed/pb/mq.proto b/weed/pb/mq.proto index ce23b8f6f..0c933888b 100644 --- a/weed/pb/mq.proto +++ b/weed/pb/mq.proto @@ -40,6 +40,11 @@ service SeaweedMessaging { rpc CheckTopicPartitionsStatus (CheckTopicPartitionsStatusRequest) returns (CheckTopicPartitionsStatusResponse) { } + rpc CreateTableSnapshot (CreateTableSnapshotRequest) returns (CreateTableSnapshotResponse) { + } + rpc CheckJobStatus (CheckJobStatusRequest) returns (CheckJobStatusResponse) { + } + // data plane rpc Publish (stream PublishRequest) returns (stream PublishResponse) { } @@ -47,6 +52,37 @@ service SeaweedMessaging { } } +message CreateTableSnapshotRequest { + string database_name = 1; + string table_name = 2; + string s3_directory = 3; + string aws_access_key_id = 4; + string aws_secret_access_key = 5; +} + +enum TableSnapshotStatus { + TABLE_SNAPSHOT_STATUS_UNKNOWN = 0; + TABLE_SNAPSHOT_STATUS_CREATED = 1; + TABLE_SNAPSHOT_STATUS_FAILED = 2; // the error will be reported in the error string + TABLE_SNAPSHOT_STATUS_TRY_LATER = 3; // when the cluster has other snapshots in progress + TABLE_SNAPSHOT_STATUS_RUNNING = 4; + TABLE_SNAPSHOT_STATUS_DONE = 5; +} + +message CreateTableSnapshotResponse { + string job_id = 1; + TableSnapshotStatus status = 2; + string error = 3; +} + +message CheckJobStatusRequest { + string job_id = 1; +} +message CheckJobStatusResponse { + TableSnapshotStatus status = 1; + string error = 2; +} + ////////////////////////////////////////////////// message SegmentInfo { Segment segment = 1;