feat: admin gc (#308)

* feat: add gc admin rpc

* chore: make all

Signed-off-by: discord9 <discord9@163.com>

* per review

Signed-off-by: discord9 <discord9@163.com>

* chore: per review

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
This commit is contained in:
discord9
2026-03-06 15:07:34 +08:00
committed by GitHub
parent 4010e25ea0
commit 092ba1d01e
8 changed files with 9653 additions and 123 deletions
+84
View File
@@ -29,6 +29,8 @@ static const char* ProcedureService_method_names[] = {
"/greptime.v1.meta.ProcedureService/reconcile", "/greptime.v1.meta.ProcedureService/reconcile",
"/greptime.v1.meta.ProcedureService/migrate", "/greptime.v1.meta.ProcedureService/migrate",
"/greptime.v1.meta.ProcedureService/details", "/greptime.v1.meta.ProcedureService/details",
"/greptime.v1.meta.ProcedureService/gc_regions",
"/greptime.v1.meta.ProcedureService/gc_table",
}; };
std::unique_ptr< ProcedureService::Stub> ProcedureService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { std::unique_ptr< ProcedureService::Stub> ProcedureService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
@@ -43,6 +45,8 @@ ProcedureService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& c
, rpcmethod_reconcile_(ProcedureService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_reconcile_(ProcedureService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_migrate_(ProcedureService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_migrate_(ProcedureService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_details_(ProcedureService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_details_(ProcedureService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_gc_regions_(ProcedureService_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_gc_table_(ProcedureService_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
{} {}
::grpc::Status ProcedureService::Stub::query(::grpc::ClientContext* context, const ::greptime::v1::meta::QueryProcedureRequest& request, ::greptime::v1::meta::ProcedureStateResponse* response) { ::grpc::Status ProcedureService::Stub::query(::grpc::ClientContext* context, const ::greptime::v1::meta::QueryProcedureRequest& request, ::greptime::v1::meta::ProcedureStateResponse* response) {
@@ -160,6 +164,52 @@ void ProcedureService::Stub::async::details(::grpc::ClientContext* context, cons
return result; return result;
} }
::grpc::Status ProcedureService::Stub::gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::greptime::v1::meta::GcRegionsResponse* response) {
return ::grpc::internal::BlockingUnaryCall< ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_gc_regions_, context, request, response);
}
void ProcedureService::Stub::async::gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, std::function<void(::grpc::Status)> f) {
::grpc::internal::CallbackUnaryCall< ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_gc_regions_, context, request, response, std::move(f));
}
void ProcedureService::Stub::async::gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, ::grpc::ClientUnaryReactor* reactor) {
::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_gc_regions_, context, request, response, reactor);
}
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>* ProcedureService::Stub::PrepareAsyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::greptime::v1::meta::GcRegionsResponse, ::greptime::v1::meta::GcRegionsRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_gc_regions_, context, request);
}
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>* ProcedureService::Stub::Asyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
auto* result =
this->PrepareAsyncgc_regionsRaw(context, request, cq);
result->StartCall();
return result;
}
::grpc::Status ProcedureService::Stub::gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::greptime::v1::meta::GcTableResponse* response) {
return ::grpc::internal::BlockingUnaryCall< ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_gc_table_, context, request, response);
}
void ProcedureService::Stub::async::gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, std::function<void(::grpc::Status)> f) {
::grpc::internal::CallbackUnaryCall< ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_gc_table_, context, request, response, std::move(f));
}
void ProcedureService::Stub::async::gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, ::grpc::ClientUnaryReactor* reactor) {
::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_gc_table_, context, request, response, reactor);
}
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>* ProcedureService::Stub::PrepareAsyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::greptime::v1::meta::GcTableResponse, ::greptime::v1::meta::GcTableRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_gc_table_, context, request);
}
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>* ProcedureService::Stub::Asyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
auto* result =
this->PrepareAsyncgc_tableRaw(context, request, cq);
result->StartCall();
return result;
}
ProcedureService::Service::Service() { ProcedureService::Service::Service() {
AddMethod(new ::grpc::internal::RpcServiceMethod( AddMethod(new ::grpc::internal::RpcServiceMethod(
ProcedureService_method_names[0], ProcedureService_method_names[0],
@@ -211,6 +261,26 @@ ProcedureService::Service::Service() {
::greptime::v1::meta::ProcedureDetailResponse* resp) { ::greptime::v1::meta::ProcedureDetailResponse* resp) {
return service->details(ctx, req, resp); return service->details(ctx, req, resp);
}, this))); }, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
ProcedureService_method_names[5],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< ProcedureService::Service, ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](ProcedureService::Service* service,
::grpc::ServerContext* ctx,
const ::greptime::v1::meta::GcRegionsRequest* req,
::greptime::v1::meta::GcRegionsResponse* resp) {
return service->gc_regions(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
ProcedureService_method_names[6],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< ProcedureService::Service, ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](ProcedureService::Service* service,
::grpc::ServerContext* ctx,
const ::greptime::v1::meta::GcTableRequest* req,
::greptime::v1::meta::GcTableResponse* resp) {
return service->gc_table(ctx, req, resp);
}, this)));
} }
ProcedureService::Service::~Service() { ProcedureService::Service::~Service() {
@@ -251,6 +321,20 @@ ProcedureService::Service::~Service() {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
} }
::grpc::Status ProcedureService::Service::gc_regions(::grpc::ServerContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response) {
(void) context;
(void) request;
(void) response;
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
::grpc::Status ProcedureService::Service::gc_table(::grpc::ServerContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response) {
(void) context;
(void) request;
(void) response;
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
} // namespace greptime } // namespace greptime
} // namespace v1 } // namespace v1
+324 -4
View File
@@ -82,6 +82,22 @@ class ProcedureService final {
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>> PrepareAsyncdetails(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>> PrepareAsyncdetails(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>>(PrepareAsyncdetailsRaw(context, request, cq)); return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>>(PrepareAsyncdetailsRaw(context, request, cq));
} }
// Manually trigger GC for a specific list of regions
virtual ::grpc::Status gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::greptime::v1::meta::GcRegionsResponse* response) = 0;
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>> Asyncgc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>>(Asyncgc_regionsRaw(context, request, cq));
}
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>> PrepareAsyncgc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>>(PrepareAsyncgc_regionsRaw(context, request, cq));
}
// Manually trigger GC for a table (all its regions)
virtual ::grpc::Status gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::greptime::v1::meta::GcTableResponse* response) = 0;
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>> Asyncgc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>>(Asyncgc_tableRaw(context, request, cq));
}
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>> PrepareAsyncgc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>>(PrepareAsyncgc_tableRaw(context, request, cq));
}
class async_interface { class async_interface {
public: public:
virtual ~async_interface() {} virtual ~async_interface() {}
@@ -100,6 +116,12 @@ class ProcedureService final {
// Query all submitted procedures details // Query all submitted procedures details
virtual void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, std::function<void(::grpc::Status)>) = 0; virtual void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, std::function<void(::grpc::Status)>) = 0;
virtual void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; virtual void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
// Manually trigger GC for a specific list of regions
virtual void gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, std::function<void(::grpc::Status)>) = 0;
virtual void gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
// Manually trigger GC for a table (all its regions)
virtual void gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, std::function<void(::grpc::Status)>) = 0;
virtual void gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
}; };
typedef class async_interface experimental_async_interface; typedef class async_interface experimental_async_interface;
virtual class async_interface* async() { return nullptr; } virtual class async_interface* async() { return nullptr; }
@@ -115,6 +137,10 @@ class ProcedureService final {
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::MigrateRegionResponse>* PrepareAsyncmigrateRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::MigrateRegionResponse>* PrepareAsyncmigrateRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>* AsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>* AsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>* PrepareAsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::ProcedureDetailResponse>* PrepareAsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>* Asyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcRegionsResponse>* PrepareAsyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>* Asyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::greptime::v1::meta::GcTableResponse>* PrepareAsyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) = 0;
}; };
class Stub final : public StubInterface { class Stub final : public StubInterface {
public: public:
@@ -154,6 +180,20 @@ class ProcedureService final {
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>> PrepareAsyncdetails(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>> PrepareAsyncdetails(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>>(PrepareAsyncdetailsRaw(context, request, cq)); return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>>(PrepareAsyncdetailsRaw(context, request, cq));
} }
::grpc::Status gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::greptime::v1::meta::GcRegionsResponse* response) override;
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>> Asyncgc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>>(Asyncgc_regionsRaw(context, request, cq));
}
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>> PrepareAsyncgc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>>(PrepareAsyncgc_regionsRaw(context, request, cq));
}
::grpc::Status gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::greptime::v1::meta::GcTableResponse* response) override;
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>> Asyncgc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>>(Asyncgc_tableRaw(context, request, cq));
}
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>> PrepareAsyncgc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>>(PrepareAsyncgc_tableRaw(context, request, cq));
}
class async final : class async final :
public StubInterface::async_interface { public StubInterface::async_interface {
public: public:
@@ -167,6 +207,10 @@ class ProcedureService final {
void migrate(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest* request, ::greptime::v1::meta::MigrateRegionResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void migrate(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest* request, ::greptime::v1::meta::MigrateRegionResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, std::function<void(::grpc::Status)>) override; void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, std::function<void(::grpc::Status)>) override;
void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void details(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
void gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, std::function<void(::grpc::Status)>) override;
void gc_regions(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
void gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, std::function<void(::grpc::Status)>) override;
void gc_table(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
private: private:
friend class Stub; friend class Stub;
explicit async(Stub* stub): stub_(stub) { } explicit async(Stub* stub): stub_(stub) { }
@@ -188,11 +232,17 @@ class ProcedureService final {
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::MigrateRegionResponse>* PrepareAsyncmigrateRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::MigrateRegionResponse>* PrepareAsyncmigrateRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::MigrateRegionRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>* AsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>* AsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>* PrepareAsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::ProcedureDetailResponse>* PrepareAsyncdetailsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::ProcedureDetailRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>* Asyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcRegionsResponse>* PrepareAsyncgc_regionsRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcRegionsRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>* Asyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::greptime::v1::meta::GcTableResponse>* PrepareAsyncgc_tableRaw(::grpc::ClientContext* context, const ::greptime::v1::meta::GcTableRequest& request, ::grpc::CompletionQueue* cq) override;
const ::grpc::internal::RpcMethod rpcmethod_query_; const ::grpc::internal::RpcMethod rpcmethod_query_;
const ::grpc::internal::RpcMethod rpcmethod_ddl_; const ::grpc::internal::RpcMethod rpcmethod_ddl_;
const ::grpc::internal::RpcMethod rpcmethod_reconcile_; const ::grpc::internal::RpcMethod rpcmethod_reconcile_;
const ::grpc::internal::RpcMethod rpcmethod_migrate_; const ::grpc::internal::RpcMethod rpcmethod_migrate_;
const ::grpc::internal::RpcMethod rpcmethod_details_; const ::grpc::internal::RpcMethod rpcmethod_details_;
const ::grpc::internal::RpcMethod rpcmethod_gc_regions_;
const ::grpc::internal::RpcMethod rpcmethod_gc_table_;
}; };
static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
@@ -210,6 +260,10 @@ class ProcedureService final {
virtual ::grpc::Status migrate(::grpc::ServerContext* context, const ::greptime::v1::meta::MigrateRegionRequest* request, ::greptime::v1::meta::MigrateRegionResponse* response); virtual ::grpc::Status migrate(::grpc::ServerContext* context, const ::greptime::v1::meta::MigrateRegionRequest* request, ::greptime::v1::meta::MigrateRegionResponse* response);
// Query all submitted procedures details // Query all submitted procedures details
virtual ::grpc::Status details(::grpc::ServerContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response); virtual ::grpc::Status details(::grpc::ServerContext* context, const ::greptime::v1::meta::ProcedureDetailRequest* request, ::greptime::v1::meta::ProcedureDetailResponse* response);
// Manually trigger GC for a specific list of regions
virtual ::grpc::Status gc_regions(::grpc::ServerContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response);
// Manually trigger GC for a table (all its regions)
virtual ::grpc::Status gc_table(::grpc::ServerContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response);
}; };
template <class BaseClass> template <class BaseClass>
class WithAsyncMethod_query : public BaseClass { class WithAsyncMethod_query : public BaseClass {
@@ -311,7 +365,47 @@ class ProcedureService final {
::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag); ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
} }
}; };
typedef WithAsyncMethod_query<WithAsyncMethod_ddl<WithAsyncMethod_reconcile<WithAsyncMethod_migrate<WithAsyncMethod_details<Service > > > > > AsyncService; template <class BaseClass>
class WithAsyncMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_gc_regions() {
::grpc::Service::MarkMethodAsync(5);
}
~WithAsyncMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void Requestgc_regions(::grpc::ServerContext* context, ::greptime::v1::meta::GcRegionsRequest* request, ::grpc::ServerAsyncResponseWriter< ::greptime::v1::meta::GcRegionsResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
}
};
template <class BaseClass>
class WithAsyncMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_gc_table() {
::grpc::Service::MarkMethodAsync(6);
}
~WithAsyncMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void Requestgc_table(::grpc::ServerContext* context, ::greptime::v1::meta::GcTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::greptime::v1::meta::GcTableResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
}
};
typedef WithAsyncMethod_query<WithAsyncMethod_ddl<WithAsyncMethod_reconcile<WithAsyncMethod_migrate<WithAsyncMethod_details<WithAsyncMethod_gc_regions<WithAsyncMethod_gc_table<Service > > > > > > > AsyncService;
template <class BaseClass> template <class BaseClass>
class WithCallbackMethod_query : public BaseClass { class WithCallbackMethod_query : public BaseClass {
private: private:
@@ -447,7 +541,61 @@ class ProcedureService final {
virtual ::grpc::ServerUnaryReactor* details( virtual ::grpc::ServerUnaryReactor* details(
::grpc::CallbackServerContext* /*context*/, const ::greptime::v1::meta::ProcedureDetailRequest* /*request*/, ::greptime::v1::meta::ProcedureDetailResponse* /*response*/) { return nullptr; } ::grpc::CallbackServerContext* /*context*/, const ::greptime::v1::meta::ProcedureDetailRequest* /*request*/, ::greptime::v1::meta::ProcedureDetailResponse* /*response*/) { return nullptr; }
}; };
typedef WithCallbackMethod_query<WithCallbackMethod_ddl<WithCallbackMethod_reconcile<WithCallbackMethod_migrate<WithCallbackMethod_details<Service > > > > > CallbackService; template <class BaseClass>
class WithCallbackMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_gc_regions() {
::grpc::Service::MarkMethodCallback(5,
new ::grpc::internal::CallbackUnaryHandler< ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse>(
[this](
::grpc::CallbackServerContext* context, const ::greptime::v1::meta::GcRegionsRequest* request, ::greptime::v1::meta::GcRegionsResponse* response) { return this->gc_regions(context, request, response); }));}
void SetMessageAllocatorFor_gc_regions(
::grpc::MessageAllocator< ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse>* allocator) {
::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(5);
static_cast<::grpc::internal::CallbackUnaryHandler< ::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse>*>(handler)
->SetMessageAllocator(allocator);
}
~WithCallbackMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
virtual ::grpc::ServerUnaryReactor* gc_regions(
::grpc::CallbackServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) { return nullptr; }
};
template <class BaseClass>
class WithCallbackMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_gc_table() {
::grpc::Service::MarkMethodCallback(6,
new ::grpc::internal::CallbackUnaryHandler< ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse>(
[this](
::grpc::CallbackServerContext* context, const ::greptime::v1::meta::GcTableRequest* request, ::greptime::v1::meta::GcTableResponse* response) { return this->gc_table(context, request, response); }));}
void SetMessageAllocatorFor_gc_table(
::grpc::MessageAllocator< ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse>* allocator) {
::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(6);
static_cast<::grpc::internal::CallbackUnaryHandler< ::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse>*>(handler)
->SetMessageAllocator(allocator);
}
~WithCallbackMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
virtual ::grpc::ServerUnaryReactor* gc_table(
::grpc::CallbackServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) { return nullptr; }
};
typedef WithCallbackMethod_query<WithCallbackMethod_ddl<WithCallbackMethod_reconcile<WithCallbackMethod_migrate<WithCallbackMethod_details<WithCallbackMethod_gc_regions<WithCallbackMethod_gc_table<Service > > > > > > > CallbackService;
typedef CallbackService ExperimentalCallbackService; typedef CallbackService ExperimentalCallbackService;
template <class BaseClass> template <class BaseClass>
class WithGenericMethod_query : public BaseClass { class WithGenericMethod_query : public BaseClass {
@@ -535,6 +683,40 @@ class ProcedureService final {
} }
}; };
template <class BaseClass> template <class BaseClass>
class WithGenericMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_gc_regions() {
::grpc::Service::MarkMethodGeneric(5);
}
~WithGenericMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
};
template <class BaseClass>
class WithGenericMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_gc_table() {
::grpc::Service::MarkMethodGeneric(6);
}
~WithGenericMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
};
template <class BaseClass>
class WithRawMethod_query : public BaseClass { class WithRawMethod_query : public BaseClass {
private: private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
@@ -635,6 +817,46 @@ class ProcedureService final {
} }
}; };
template <class BaseClass> template <class BaseClass>
class WithRawMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_gc_regions() {
::grpc::Service::MarkMethodRaw(5);
}
~WithRawMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void Requestgc_regions(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
}
};
template <class BaseClass>
class WithRawMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_gc_table() {
::grpc::Service::MarkMethodRaw(6);
}
~WithRawMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void Requestgc_table(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
}
};
template <class BaseClass>
class WithRawCallbackMethod_query : public BaseClass { class WithRawCallbackMethod_query : public BaseClass {
private: private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
@@ -745,6 +967,50 @@ class ProcedureService final {
::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
}; };
template <class BaseClass> template <class BaseClass>
class WithRawCallbackMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_gc_regions() {
::grpc::Service::MarkMethodRawCallback(5,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->gc_regions(context, request, response); }));
}
~WithRawCallbackMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
virtual ::grpc::ServerUnaryReactor* gc_regions(
::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
};
template <class BaseClass>
class WithRawCallbackMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_gc_table() {
::grpc::Service::MarkMethodRawCallback(6,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->gc_table(context, request, response); }));
}
~WithRawCallbackMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable synchronous version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
virtual ::grpc::ServerUnaryReactor* gc_table(
::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
};
template <class BaseClass>
class WithStreamedUnaryMethod_query : public BaseClass { class WithStreamedUnaryMethod_query : public BaseClass {
private: private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
@@ -879,9 +1145,63 @@ class ProcedureService final {
// replace default version of method with streamed unary // replace default version of method with streamed unary
virtual ::grpc::Status Streameddetails(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::greptime::v1::meta::ProcedureDetailRequest,::greptime::v1::meta::ProcedureDetailResponse>* server_unary_streamer) = 0; virtual ::grpc::Status Streameddetails(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::greptime::v1::meta::ProcedureDetailRequest,::greptime::v1::meta::ProcedureDetailResponse>* server_unary_streamer) = 0;
}; };
typedef WithStreamedUnaryMethod_query<WithStreamedUnaryMethod_ddl<WithStreamedUnaryMethod_reconcile<WithStreamedUnaryMethod_migrate<WithStreamedUnaryMethod_details<Service > > > > > StreamedUnaryService; template <class BaseClass>
class WithStreamedUnaryMethod_gc_regions : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_gc_regions() {
::grpc::Service::MarkMethodStreamed(5,
new ::grpc::internal::StreamedUnaryHandler<
::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse>(
[this](::grpc::ServerContext* context,
::grpc::ServerUnaryStreamer<
::greptime::v1::meta::GcRegionsRequest, ::greptime::v1::meta::GcRegionsResponse>* streamer) {
return this->Streamedgc_regions(context,
streamer);
}));
}
~WithStreamedUnaryMethod_gc_regions() override {
BaseClassMustBeDerivedFromService(this);
}
// disable regular version of this method
::grpc::Status gc_regions(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcRegionsRequest* /*request*/, ::greptime::v1::meta::GcRegionsResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
// replace default version of method with streamed unary
virtual ::grpc::Status Streamedgc_regions(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::greptime::v1::meta::GcRegionsRequest,::greptime::v1::meta::GcRegionsResponse>* server_unary_streamer) = 0;
};
template <class BaseClass>
class WithStreamedUnaryMethod_gc_table : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_gc_table() {
::grpc::Service::MarkMethodStreamed(6,
new ::grpc::internal::StreamedUnaryHandler<
::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse>(
[this](::grpc::ServerContext* context,
::grpc::ServerUnaryStreamer<
::greptime::v1::meta::GcTableRequest, ::greptime::v1::meta::GcTableResponse>* streamer) {
return this->Streamedgc_table(context,
streamer);
}));
}
~WithStreamedUnaryMethod_gc_table() override {
BaseClassMustBeDerivedFromService(this);
}
// disable regular version of this method
::grpc::Status gc_table(::grpc::ServerContext* /*context*/, const ::greptime::v1::meta::GcTableRequest* /*request*/, ::greptime::v1::meta::GcTableResponse* /*response*/) override {
abort();
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
// replace default version of method with streamed unary
virtual ::grpc::Status Streamedgc_table(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::greptime::v1::meta::GcTableRequest,::greptime::v1::meta::GcTableResponse>* server_unary_streamer) = 0;
};
typedef WithStreamedUnaryMethod_query<WithStreamedUnaryMethod_ddl<WithStreamedUnaryMethod_reconcile<WithStreamedUnaryMethod_migrate<WithStreamedUnaryMethod_details<WithStreamedUnaryMethod_gc_regions<WithStreamedUnaryMethod_gc_table<Service > > > > > > > StreamedUnaryService;
typedef Service SplitStreamedService; typedef Service SplitStreamedService;
typedef WithStreamedUnaryMethod_query<WithStreamedUnaryMethod_ddl<WithStreamedUnaryMethod_reconcile<WithStreamedUnaryMethod_migrate<WithStreamedUnaryMethod_details<Service > > > > > StreamedService; typedef WithStreamedUnaryMethod_query<WithStreamedUnaryMethod_ddl<WithStreamedUnaryMethod_reconcile<WithStreamedUnaryMethod_migrate<WithStreamedUnaryMethod_details<WithStreamedUnaryMethod_gc_regions<WithStreamedUnaryMethod_gc_table<Service > > > > > > > StreamedService;
}; };
} // namespace meta } // namespace meta
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+566 -78
View File
@@ -812,6 +812,353 @@ func (x *ReconcileResponse) GetPid() *ProcedureId {
return nil return nil
} }
type GcRegionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
RegionIds []uint64 `protobuf:"varint,2,rep,packed,name=region_ids,json=regionIds,proto3" json:"region_ids,omitempty"`
// Whether to perform a full file listing on datanodes when GC'ing the regions.
FullFileListing bool `protobuf:"varint,3,opt,name=full_file_listing,json=fullFileListing,proto3" json:"full_file_listing,omitempty"`
// Timeout in seconds for the entire GC procedure.
TimeoutSecs uint32 `protobuf:"varint,4,opt,name=timeout_secs,json=timeoutSecs,proto3" json:"timeout_secs,omitempty"`
}
func (x *GcRegionsRequest) Reset() {
*x = GcRegionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcRegionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcRegionsRequest) ProtoMessage() {}
func (x *GcRegionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcRegionsRequest.ProtoReflect.Descriptor instead.
func (*GcRegionsRequest) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_procedure_proto_rawDescGZIP(), []int{10}
}
func (x *GcRegionsRequest) GetHeader() *RequestHeader {
if x != nil {
return x.Header
}
return nil
}
func (x *GcRegionsRequest) GetRegionIds() []uint64 {
if x != nil {
return x.RegionIds
}
return nil
}
func (x *GcRegionsRequest) GetFullFileListing() bool {
if x != nil {
return x.FullFileListing
}
return false
}
func (x *GcRegionsRequest) GetTimeoutSecs() uint32 {
if x != nil {
return x.TimeoutSecs
}
return 0
}
type GcStats struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number of regions requested for GC (accepted by the server side).
ProcessedRegions uint64 `protobuf:"varint,1,opt,name=processed_regions,json=processedRegions,proto3" json:"processed_regions,omitempty"`
// Regions that need retry in the next GC round.
NeedRetryRegions []uint64 `protobuf:"varint,2,rep,packed,name=need_retry_regions,json=needRetryRegions,proto3" json:"need_retry_regions,omitempty"`
// Number of deleted SST files.
DeletedFiles uint64 `protobuf:"varint,3,opt,name=deleted_files,json=deletedFiles,proto3" json:"deleted_files,omitempty"`
// Number of deleted index files.
DeletedIndexes uint64 `protobuf:"varint,4,opt,name=deleted_indexes,json=deletedIndexes,proto3" json:"deleted_indexes,omitempty"`
}
func (x *GcStats) Reset() {
*x = GcStats{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcStats) ProtoMessage() {}
func (x *GcStats) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcStats.ProtoReflect.Descriptor instead.
func (*GcStats) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_procedure_proto_rawDescGZIP(), []int{11}
}
func (x *GcStats) GetProcessedRegions() uint64 {
if x != nil {
return x.ProcessedRegions
}
return 0
}
func (x *GcStats) GetNeedRetryRegions() []uint64 {
if x != nil {
return x.NeedRetryRegions
}
return nil
}
func (x *GcStats) GetDeletedFiles() uint64 {
if x != nil {
return x.DeletedFiles
}
return 0
}
func (x *GcStats) GetDeletedIndexes() uint64 {
if x != nil {
return x.DeletedIndexes
}
return 0
}
type GcRegionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Stats *GcStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
}
func (x *GcRegionsResponse) Reset() {
*x = GcRegionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcRegionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcRegionsResponse) ProtoMessage() {}
func (x *GcRegionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcRegionsResponse.ProtoReflect.Descriptor instead.
func (*GcRegionsResponse) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_procedure_proto_rawDescGZIP(), []int{12}
}
func (x *GcRegionsResponse) GetHeader() *ResponseHeader {
if x != nil {
return x.Header
}
return nil
}
func (x *GcRegionsResponse) GetStats() *GcStats {
if x != nil {
return x.Stats
}
return nil
}
type GcTableRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
CatalogName string `protobuf:"bytes,2,opt,name=catalog_name,json=catalogName,proto3" json:"catalog_name,omitempty"`
SchemaName string `protobuf:"bytes,3,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"`
TableName string `protobuf:"bytes,4,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
// Whether to perform a full file listing on datanodes when GC'ing the regions.
FullFileListing bool `protobuf:"varint,5,opt,name=full_file_listing,json=fullFileListing,proto3" json:"full_file_listing,omitempty"`
// Timeout in seconds for the entire GC procedure.
TimeoutSecs uint32 `protobuf:"varint,6,opt,name=timeout_secs,json=timeoutSecs,proto3" json:"timeout_secs,omitempty"`
}
func (x *GcTableRequest) Reset() {
*x = GcTableRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcTableRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcTableRequest) ProtoMessage() {}
func (x *GcTableRequest) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcTableRequest.ProtoReflect.Descriptor instead.
func (*GcTableRequest) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_procedure_proto_rawDescGZIP(), []int{13}
}
func (x *GcTableRequest) GetHeader() *RequestHeader {
if x != nil {
return x.Header
}
return nil
}
func (x *GcTableRequest) GetCatalogName() string {
if x != nil {
return x.CatalogName
}
return ""
}
func (x *GcTableRequest) GetSchemaName() string {
if x != nil {
return x.SchemaName
}
return ""
}
func (x *GcTableRequest) GetTableName() string {
if x != nil {
return x.TableName
}
return ""
}
func (x *GcTableRequest) GetFullFileListing() bool {
if x != nil {
return x.FullFileListing
}
return false
}
func (x *GcTableRequest) GetTimeoutSecs() uint32 {
if x != nil {
return x.TimeoutSecs
}
return 0
}
type GcTableResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Stats *GcStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"`
}
func (x *GcTableResponse) Reset() {
*x = GcTableResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GcTableResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GcTableResponse) ProtoMessage() {}
func (x *GcTableResponse) ProtoReflect() protoreflect.Message {
mi := &file_greptime_v1_meta_procedure_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GcTableResponse.ProtoReflect.Descriptor instead.
func (*GcTableResponse) Descriptor() ([]byte, []int) {
return file_greptime_v1_meta_procedure_proto_rawDescGZIP(), []int{14}
}
func (x *GcTableResponse) GetHeader() *ResponseHeader {
if x != nil {
return x.Header
}
return nil
}
func (x *GcTableResponse) GetStats() *GcStats {
if x != nil {
return x.Stats
}
return nil
}
var File_greptime_v1_meta_procedure_proto protoreflect.FileDescriptor var File_greptime_v1_meta_procedure_proto protoreflect.FileDescriptor
var file_greptime_v1_meta_procedure_proto_rawDesc = []byte{ var file_greptime_v1_meta_procedure_proto_rawDesc = []byte{
@@ -938,52 +1285,118 @@ var file_greptime_v1_meta_procedure_proto_rawDesc = []byte{
0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x03, 0x70, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64,
0x75, 0x72, 0x65, 0x49, 0x64, 0x52, 0x03, 0x70, 0x69, 0x64, 0x2a, 0x76, 0x0a, 0x0f, 0x50, 0x72, 0x75, 0x72, 0x65, 0x49, 0x64, 0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x47,
0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x07, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x6f, 0x37, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x6e, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x74, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x1f, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65,
0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x13, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x0a, 0x0f, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69,
0x6b, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65,
0x63, 0x6b, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x65, 0x64, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x5f,
0x10, 0x06, 0x2a, 0x45, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x53, 0x74, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01,
0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74,
0x73, 0x74, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73,
0x72, 0x76, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x4f, 0x6e, 0x43, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f,
0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x10, 0x02, 0x32, 0xcc, 0x03, 0x0a, 0x10, 0x50, 0x72, 0x75, 0x74, 0x53, 0x65, 0x63, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x07, 0x47, 0x63, 0x53, 0x74, 0x61,
0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f,
0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65,
0x1a, 0x28, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x10, 0x6e, 0x65, 0x65,
0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x64, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a,
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x03, 0x64, 0x64, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03,
0x6c, 0x12, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c,
0x6d, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e,
0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x64, 0x65, 0x6c,
0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x65, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x7e, 0x0a, 0x11, 0x47,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x69, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x12, 0x38, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74,
0x63, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70,
0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x53,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x0e,
0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x63, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37,
0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52,
0x69, 0x6c, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c,
0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74,
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x75,
0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4c,
0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69,
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x73, 0x22, 0x7c, 0x0a, 0x0f, 0x47, 0x63, 0x54,
0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06,
0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06,
0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2a, 0x76, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65,
0x64, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x75,
0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x6f, 0x6e, 0x65, 0x10,
0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x74, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12,
0x0a, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x50,
0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x10, 0x04,
0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x10,
0x05, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6f, 0x69, 0x73, 0x6f, 0x6e, 0x65, 0x64, 0x10, 0x06, 0x2a,
0x45, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
0x67, 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x10,
0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x72, 0x76, 0x10,
0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
0x6c, 0x69, 0x63, 0x74, 0x10, 0x02, 0x32, 0xf4, 0x04, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x63, 0x65,
0x64, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x71,
0x75, 0x65, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f,
0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61,
0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x03, 0x64, 0x64, 0x6c, 0x12, 0x20,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74,
0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x61, 0x2e, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x1a, 0x21, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x64, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65,
0x12, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x6d, 0x69, 0x67,
0x72, 0x61, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67,
0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e,
0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x12, 0x28, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d,
0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x65,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72,
0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x67, 0x63, 0x5f, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x52, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08,
0x67, 0x63, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x67, 0x72, 0x65, 0x70, 0x74,
0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x54, 0x61,
0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x72, 0x65,
0x70, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63,
0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3c, 0x5a,
0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x72, 0x65, 0x70,
0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74, 0x69, 0x6d,
0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x72, 0x65, 0x70, 0x74,
0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
} }
var ( var (
@@ -999,7 +1412,7 @@ func file_greptime_v1_meta_procedure_proto_rawDescGZIP() []byte {
} }
var file_greptime_v1_meta_procedure_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_greptime_v1_meta_procedure_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_greptime_v1_meta_procedure_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_greptime_v1_meta_procedure_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_greptime_v1_meta_procedure_proto_goTypes = []interface{}{ var file_greptime_v1_meta_procedure_proto_goTypes = []interface{}{
(ProcedureStatus)(0), // 0: greptime.v1.meta.ProcedureStatus (ProcedureStatus)(0), // 0: greptime.v1.meta.ProcedureStatus
(ResolveStrategy)(0), // 1: greptime.v1.meta.ResolveStrategy (ResolveStrategy)(0), // 1: greptime.v1.meta.ResolveStrategy
@@ -1013,48 +1426,63 @@ var file_greptime_v1_meta_procedure_proto_goTypes = []interface{}{
(*ReconcileCatalog)(nil), // 9: greptime.v1.meta.ReconcileCatalog (*ReconcileCatalog)(nil), // 9: greptime.v1.meta.ReconcileCatalog
(*ReconcileRequest)(nil), // 10: greptime.v1.meta.ReconcileRequest (*ReconcileRequest)(nil), // 10: greptime.v1.meta.ReconcileRequest
(*ReconcileResponse)(nil), // 11: greptime.v1.meta.ReconcileResponse (*ReconcileResponse)(nil), // 11: greptime.v1.meta.ReconcileResponse
(*ProcedureId)(nil), // 12: greptime.v1.meta.ProcedureId (*GcRegionsRequest)(nil), // 12: greptime.v1.meta.GcRegionsRequest
(*RequestHeader)(nil), // 13: greptime.v1.meta.RequestHeader (*GcStats)(nil), // 13: greptime.v1.meta.GcStats
(*ResponseHeader)(nil), // 14: greptime.v1.meta.ResponseHeader (*GcRegionsResponse)(nil), // 14: greptime.v1.meta.GcRegionsResponse
(*DdlTaskRequest)(nil), // 15: greptime.v1.meta.DdlTaskRequest (*GcTableRequest)(nil), // 15: greptime.v1.meta.GcTableRequest
(*MigrateRegionRequest)(nil), // 16: greptime.v1.meta.MigrateRegionRequest (*GcTableResponse)(nil), // 16: greptime.v1.meta.GcTableResponse
(*DdlTaskResponse)(nil), // 17: greptime.v1.meta.DdlTaskResponse (*ProcedureId)(nil), // 17: greptime.v1.meta.ProcedureId
(*MigrateRegionResponse)(nil), // 18: greptime.v1.meta.MigrateRegionResponse (*RequestHeader)(nil), // 18: greptime.v1.meta.RequestHeader
(*ResponseHeader)(nil), // 19: greptime.v1.meta.ResponseHeader
(*DdlTaskRequest)(nil), // 20: greptime.v1.meta.DdlTaskRequest
(*MigrateRegionRequest)(nil), // 21: greptime.v1.meta.MigrateRegionRequest
(*DdlTaskResponse)(nil), // 22: greptime.v1.meta.DdlTaskResponse
(*MigrateRegionResponse)(nil), // 23: greptime.v1.meta.MigrateRegionResponse
} }
var file_greptime_v1_meta_procedure_proto_depIdxs = []int32{ var file_greptime_v1_meta_procedure_proto_depIdxs = []int32{
12, // 0: greptime.v1.meta.ProcedureMeta.id:type_name -> greptime.v1.meta.ProcedureId 17, // 0: greptime.v1.meta.ProcedureMeta.id:type_name -> greptime.v1.meta.ProcedureId
0, // 1: greptime.v1.meta.ProcedureMeta.status:type_name -> greptime.v1.meta.ProcedureStatus 0, // 1: greptime.v1.meta.ProcedureMeta.status:type_name -> greptime.v1.meta.ProcedureStatus
13, // 2: greptime.v1.meta.QueryProcedureRequest.header:type_name -> greptime.v1.meta.RequestHeader 18, // 2: greptime.v1.meta.QueryProcedureRequest.header:type_name -> greptime.v1.meta.RequestHeader
12, // 3: greptime.v1.meta.QueryProcedureRequest.pid:type_name -> greptime.v1.meta.ProcedureId 17, // 3: greptime.v1.meta.QueryProcedureRequest.pid:type_name -> greptime.v1.meta.ProcedureId
14, // 4: greptime.v1.meta.ProcedureStateResponse.header:type_name -> greptime.v1.meta.ResponseHeader 19, // 4: greptime.v1.meta.ProcedureStateResponse.header:type_name -> greptime.v1.meta.ResponseHeader
0, // 5: greptime.v1.meta.ProcedureStateResponse.status:type_name -> greptime.v1.meta.ProcedureStatus 0, // 5: greptime.v1.meta.ProcedureStateResponse.status:type_name -> greptime.v1.meta.ProcedureStatus
13, // 6: greptime.v1.meta.ProcedureDetailRequest.header:type_name -> greptime.v1.meta.RequestHeader 18, // 6: greptime.v1.meta.ProcedureDetailRequest.header:type_name -> greptime.v1.meta.RequestHeader
14, // 7: greptime.v1.meta.ProcedureDetailResponse.header:type_name -> greptime.v1.meta.ResponseHeader 19, // 7: greptime.v1.meta.ProcedureDetailResponse.header:type_name -> greptime.v1.meta.ResponseHeader
2, // 8: greptime.v1.meta.ProcedureDetailResponse.procedures:type_name -> greptime.v1.meta.ProcedureMeta 2, // 8: greptime.v1.meta.ProcedureDetailResponse.procedures:type_name -> greptime.v1.meta.ProcedureMeta
1, // 9: greptime.v1.meta.ReconcileTable.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy 1, // 9: greptime.v1.meta.ReconcileTable.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy
1, // 10: greptime.v1.meta.ReconcileDatabase.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy 1, // 10: greptime.v1.meta.ReconcileDatabase.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy
1, // 11: greptime.v1.meta.ReconcileCatalog.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy 1, // 11: greptime.v1.meta.ReconcileCatalog.resolve_strategy:type_name -> greptime.v1.meta.ResolveStrategy
13, // 12: greptime.v1.meta.ReconcileRequest.header:type_name -> greptime.v1.meta.RequestHeader 18, // 12: greptime.v1.meta.ReconcileRequest.header:type_name -> greptime.v1.meta.RequestHeader
7, // 13: greptime.v1.meta.ReconcileRequest.reconcile_table:type_name -> greptime.v1.meta.ReconcileTable 7, // 13: greptime.v1.meta.ReconcileRequest.reconcile_table:type_name -> greptime.v1.meta.ReconcileTable
8, // 14: greptime.v1.meta.ReconcileRequest.reconcile_database:type_name -> greptime.v1.meta.ReconcileDatabase 8, // 14: greptime.v1.meta.ReconcileRequest.reconcile_database:type_name -> greptime.v1.meta.ReconcileDatabase
9, // 15: greptime.v1.meta.ReconcileRequest.reconcile_catalog:type_name -> greptime.v1.meta.ReconcileCatalog 9, // 15: greptime.v1.meta.ReconcileRequest.reconcile_catalog:type_name -> greptime.v1.meta.ReconcileCatalog
14, // 16: greptime.v1.meta.ReconcileResponse.header:type_name -> greptime.v1.meta.ResponseHeader 19, // 16: greptime.v1.meta.ReconcileResponse.header:type_name -> greptime.v1.meta.ResponseHeader
12, // 17: greptime.v1.meta.ReconcileResponse.pid:type_name -> greptime.v1.meta.ProcedureId 17, // 17: greptime.v1.meta.ReconcileResponse.pid:type_name -> greptime.v1.meta.ProcedureId
3, // 18: greptime.v1.meta.ProcedureService.query:input_type -> greptime.v1.meta.QueryProcedureRequest 18, // 18: greptime.v1.meta.GcRegionsRequest.header:type_name -> greptime.v1.meta.RequestHeader
15, // 19: greptime.v1.meta.ProcedureService.ddl:input_type -> greptime.v1.meta.DdlTaskRequest 19, // 19: greptime.v1.meta.GcRegionsResponse.header:type_name -> greptime.v1.meta.ResponseHeader
10, // 20: greptime.v1.meta.ProcedureService.reconcile:input_type -> greptime.v1.meta.ReconcileRequest 13, // 20: greptime.v1.meta.GcRegionsResponse.stats:type_name -> greptime.v1.meta.GcStats
16, // 21: greptime.v1.meta.ProcedureService.migrate:input_type -> greptime.v1.meta.MigrateRegionRequest 18, // 21: greptime.v1.meta.GcTableRequest.header:type_name -> greptime.v1.meta.RequestHeader
5, // 22: greptime.v1.meta.ProcedureService.details:input_type -> greptime.v1.meta.ProcedureDetailRequest 19, // 22: greptime.v1.meta.GcTableResponse.header:type_name -> greptime.v1.meta.ResponseHeader
4, // 23: greptime.v1.meta.ProcedureService.query:output_type -> greptime.v1.meta.ProcedureStateResponse 13, // 23: greptime.v1.meta.GcTableResponse.stats:type_name -> greptime.v1.meta.GcStats
17, // 24: greptime.v1.meta.ProcedureService.ddl:output_type -> greptime.v1.meta.DdlTaskResponse 3, // 24: greptime.v1.meta.ProcedureService.query:input_type -> greptime.v1.meta.QueryProcedureRequest
11, // 25: greptime.v1.meta.ProcedureService.reconcile:output_type -> greptime.v1.meta.ReconcileResponse 20, // 25: greptime.v1.meta.ProcedureService.ddl:input_type -> greptime.v1.meta.DdlTaskRequest
18, // 26: greptime.v1.meta.ProcedureService.migrate:output_type -> greptime.v1.meta.MigrateRegionResponse 10, // 26: greptime.v1.meta.ProcedureService.reconcile:input_type -> greptime.v1.meta.ReconcileRequest
6, // 27: greptime.v1.meta.ProcedureService.details:output_type -> greptime.v1.meta.ProcedureDetailResponse 21, // 27: greptime.v1.meta.ProcedureService.migrate:input_type -> greptime.v1.meta.MigrateRegionRequest
23, // [23:28] is the sub-list for method output_type 5, // 28: greptime.v1.meta.ProcedureService.details:input_type -> greptime.v1.meta.ProcedureDetailRequest
18, // [18:23] is the sub-list for method input_type 12, // 29: greptime.v1.meta.ProcedureService.gc_regions:input_type -> greptime.v1.meta.GcRegionsRequest
18, // [18:18] is the sub-list for extension type_name 15, // 30: greptime.v1.meta.ProcedureService.gc_table:input_type -> greptime.v1.meta.GcTableRequest
18, // [18:18] is the sub-list for extension extendee 4, // 31: greptime.v1.meta.ProcedureService.query:output_type -> greptime.v1.meta.ProcedureStateResponse
0, // [0:18] is the sub-list for field type_name 22, // 32: greptime.v1.meta.ProcedureService.ddl:output_type -> greptime.v1.meta.DdlTaskResponse
11, // 33: greptime.v1.meta.ProcedureService.reconcile:output_type -> greptime.v1.meta.ReconcileResponse
23, // 34: greptime.v1.meta.ProcedureService.migrate:output_type -> greptime.v1.meta.MigrateRegionResponse
6, // 35: greptime.v1.meta.ProcedureService.details:output_type -> greptime.v1.meta.ProcedureDetailResponse
14, // 36: greptime.v1.meta.ProcedureService.gc_regions:output_type -> greptime.v1.meta.GcRegionsResponse
16, // 37: greptime.v1.meta.ProcedureService.gc_table:output_type -> greptime.v1.meta.GcTableResponse
31, // [31:38] is the sub-list for method output_type
24, // [24:31] is the sub-list for method input_type
24, // [24:24] is the sub-list for extension type_name
24, // [24:24] is the sub-list for extension extendee
0, // [0:24] is the sub-list for field type_name
} }
func init() { file_greptime_v1_meta_procedure_proto_init() } func init() { file_greptime_v1_meta_procedure_proto_init() }
@@ -1186,6 +1614,66 @@ func file_greptime_v1_meta_procedure_proto_init() {
return nil return nil
} }
} }
file_greptime_v1_meta_procedure_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcRegionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_procedure_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcStats); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_procedure_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcRegionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_procedure_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcTableRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_greptime_v1_meta_procedure_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GcTableResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
file_greptime_v1_meta_procedure_proto_msgTypes[8].OneofWrappers = []interface{}{ file_greptime_v1_meta_procedure_proto_msgTypes[8].OneofWrappers = []interface{}{
(*ReconcileRequest_ReconcileTable)(nil), (*ReconcileRequest_ReconcileTable)(nil),
@@ -1198,7 +1686,7 @@ func file_greptime_v1_meta_procedure_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_greptime_v1_meta_procedure_proto_rawDesc, RawDescriptor: file_greptime_v1_meta_procedure_proto_rawDesc,
NumEnums: 2, NumEnums: 2,
NumMessages: 10, NumMessages: 15,
NumExtensions: 0, NumExtensions: 0,
NumServices: 1, NumServices: 1,
}, },
+76
View File
@@ -32,6 +32,10 @@ type ProcedureServiceClient interface {
Migrate(ctx context.Context, in *MigrateRegionRequest, opts ...grpc.CallOption) (*MigrateRegionResponse, error) Migrate(ctx context.Context, in *MigrateRegionRequest, opts ...grpc.CallOption) (*MigrateRegionResponse, error)
// Query all submitted procedures details // Query all submitted procedures details
Details(ctx context.Context, in *ProcedureDetailRequest, opts ...grpc.CallOption) (*ProcedureDetailResponse, error) Details(ctx context.Context, in *ProcedureDetailRequest, opts ...grpc.CallOption) (*ProcedureDetailResponse, error)
// Manually trigger GC for a specific list of regions
GcRegions(ctx context.Context, in *GcRegionsRequest, opts ...grpc.CallOption) (*GcRegionsResponse, error)
// Manually trigger GC for a table (all its regions)
GcTable(ctx context.Context, in *GcTableRequest, opts ...grpc.CallOption) (*GcTableResponse, error)
} }
type procedureServiceClient struct { type procedureServiceClient struct {
@@ -87,6 +91,24 @@ func (c *procedureServiceClient) Details(ctx context.Context, in *ProcedureDetai
return out, nil return out, nil
} }
func (c *procedureServiceClient) GcRegions(ctx context.Context, in *GcRegionsRequest, opts ...grpc.CallOption) (*GcRegionsResponse, error) {
out := new(GcRegionsResponse)
err := c.cc.Invoke(ctx, "/greptime.v1.meta.ProcedureService/gc_regions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *procedureServiceClient) GcTable(ctx context.Context, in *GcTableRequest, opts ...grpc.CallOption) (*GcTableResponse, error) {
out := new(GcTableResponse)
err := c.cc.Invoke(ctx, "/greptime.v1.meta.ProcedureService/gc_table", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProcedureServiceServer is the server API for ProcedureService service. // ProcedureServiceServer is the server API for ProcedureService service.
// All implementations must embed UnimplementedProcedureServiceServer // All implementations must embed UnimplementedProcedureServiceServer
// for forward compatibility // for forward compatibility
@@ -101,6 +123,10 @@ type ProcedureServiceServer interface {
Migrate(context.Context, *MigrateRegionRequest) (*MigrateRegionResponse, error) Migrate(context.Context, *MigrateRegionRequest) (*MigrateRegionResponse, error)
// Query all submitted procedures details // Query all submitted procedures details
Details(context.Context, *ProcedureDetailRequest) (*ProcedureDetailResponse, error) Details(context.Context, *ProcedureDetailRequest) (*ProcedureDetailResponse, error)
// Manually trigger GC for a specific list of regions
GcRegions(context.Context, *GcRegionsRequest) (*GcRegionsResponse, error)
// Manually trigger GC for a table (all its regions)
GcTable(context.Context, *GcTableRequest) (*GcTableResponse, error)
mustEmbedUnimplementedProcedureServiceServer() mustEmbedUnimplementedProcedureServiceServer()
} }
@@ -123,6 +149,12 @@ func (UnimplementedProcedureServiceServer) Migrate(context.Context, *MigrateRegi
func (UnimplementedProcedureServiceServer) Details(context.Context, *ProcedureDetailRequest) (*ProcedureDetailResponse, error) { func (UnimplementedProcedureServiceServer) Details(context.Context, *ProcedureDetailRequest) (*ProcedureDetailResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Details not implemented") return nil, status.Errorf(codes.Unimplemented, "method Details not implemented")
} }
func (UnimplementedProcedureServiceServer) GcRegions(context.Context, *GcRegionsRequest) (*GcRegionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GcRegions not implemented")
}
func (UnimplementedProcedureServiceServer) GcTable(context.Context, *GcTableRequest) (*GcTableResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GcTable not implemented")
}
func (UnimplementedProcedureServiceServer) mustEmbedUnimplementedProcedureServiceServer() {} func (UnimplementedProcedureServiceServer) mustEmbedUnimplementedProcedureServiceServer() {}
// UnsafeProcedureServiceServer may be embedded to opt out of forward compatibility for this service. // UnsafeProcedureServiceServer may be embedded to opt out of forward compatibility for this service.
@@ -226,6 +258,42 @@ func _ProcedureService_Details_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _ProcedureService_GcRegions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GcRegionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProcedureServiceServer).GcRegions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/greptime.v1.meta.ProcedureService/gc_regions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProcedureServiceServer).GcRegions(ctx, req.(*GcRegionsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ProcedureService_GcTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GcTableRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProcedureServiceServer).GcTable(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/greptime.v1.meta.ProcedureService/gc_table",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProcedureServiceServer).GcTable(ctx, req.(*GcTableRequest))
}
return interceptor(ctx, in, info, handler)
}
// ProcedureService_ServiceDesc is the grpc.ServiceDesc for ProcedureService service. // ProcedureService_ServiceDesc is the grpc.ServiceDesc for ProcedureService service.
// It's only intended for direct use with grpc.RegisterService, // It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy) // and not to be introspected or modified (even as a copy)
@@ -253,6 +321,14 @@ var ProcedureService_ServiceDesc = grpc.ServiceDesc{
MethodName: "details", MethodName: "details",
Handler: _ProcedureService_Details_Handler, Handler: _ProcedureService_Details_Handler,
}, },
{
MethodName: "gc_regions",
Handler: _ProcedureService_GcRegions_Handler,
},
{
MethodName: "gc_table",
Handler: _ProcedureService_GcTable_Handler,
},
}, },
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "greptime/v1/meta/procedure.proto", Metadata: "greptime/v1/meta/procedure.proto",
File diff suppressed because it is too large Load Diff
+47
View File
@@ -92,6 +92,47 @@ message ReconcileResponse {
ProcedureId pid = 2; ProcedureId pid = 2;
} }
message GcRegionsRequest {
RequestHeader header = 1;
repeated uint64 region_ids = 2;
// Whether to perform a full file listing on datanodes when GC'ing the regions.
bool full_file_listing = 3;
// Timeout in seconds for the entire GC procedure.
uint32 timeout_secs = 4;
}
message GcStats {
// Number of regions requested for GC (accepted by the server side).
uint64 processed_regions = 1;
// Regions that need retry in the next GC round.
repeated uint64 need_retry_regions = 2;
// Number of deleted SST files.
uint64 deleted_files = 3;
// Number of deleted index files.
uint64 deleted_indexes = 4;
}
message GcRegionsResponse {
ResponseHeader header = 1;
GcStats stats = 2;
}
message GcTableRequest {
RequestHeader header = 1;
string catalog_name = 2;
string schema_name = 3;
string table_name = 4;
// Whether to perform a full file listing on datanodes when GC'ing the regions.
bool full_file_listing = 5;
// Timeout in seconds for the entire GC procedure.
uint32 timeout_secs = 6;
}
message GcTableResponse {
ResponseHeader header = 1;
GcStats stats = 2;
}
service ProcedureService { service ProcedureService {
// Query a submitted procedure state // Query a submitted procedure state
rpc query(QueryProcedureRequest) returns (ProcedureStateResponse); rpc query(QueryProcedureRequest) returns (ProcedureStateResponse);
@@ -107,4 +148,10 @@ service ProcedureService {
// Query all submitted procedures details // Query all submitted procedures details
rpc details(ProcedureDetailRequest) returns (ProcedureDetailResponse); rpc details(ProcedureDetailRequest) returns (ProcedureDetailResponse);
// Manually trigger GC for a specific list of regions
rpc gc_regions(GcRegionsRequest) returns (GcRegionsResponse);
// Manually trigger GC for a table (all its regions)
rpc gc_table(GcTableRequest) returns (GcTableResponse);
} }