Browse Source

prototyping

create-table-snapshot-api-design
chrislu 1 year ago
parent
commit
5e22524351
  1. 36
      weed/pb/mq.proto

36
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;

Loading…
Cancel
Save