diff --git a/ydb/core/driver_lib/run/run.cpp b/ydb/core/driver_lib/run/run.cpp index 160affb9d238..69ac30badc98 100644 --- a/ydb/core/driver_lib/run/run.cpp +++ b/ydb/core/driver_lib/run/run.cpp @@ -111,7 +111,6 @@ #include #include #include -#include #include #include #include @@ -565,8 +564,6 @@ void TKikimrRunner::InitializeGRpc(const TKikimrRunConfig& runConfig) { names["clickhouse_internal"] = &hasClickhouseInternal; TServiceCfg hasRateLimiter = false; names["rate_limiter"] = &hasRateLimiter; - TServiceCfg hasLongTx = false; - names["long_tx"] = &hasLongTx; TServiceCfg hasExport = services.empty(); names["export"] = &hasExport; TServiceCfg hasImport = services.empty(); @@ -726,11 +723,6 @@ void TKikimrRunner::InitializeGRpc(const TKikimrRunConfig& runConfig) { grpcRequestProxies[0], hasScripting.IsRlAllowed())); } - if (hasLongTx) { - server.AddService(new NGRpcService::TGRpcYdbLongTxService(ActorSystem.Get(), Counters, - grpcRequestProxies[0], hasLongTx.IsRlAllowed())); - } - if (hasSchemeService) { // RPC RL enabled // We have no way to disable or enable this service explicitly diff --git a/ydb/core/grpc_services/rpc_long_tx.cpp b/ydb/core/grpc_services/rpc_long_tx.cpp index 80e9d7e76821..59dc26c2990d 100644 --- a/ydb/core/grpc_services/rpc_long_tx.cpp +++ b/ydb/core/grpc_services/rpc_long_tx.cpp @@ -1,8 +1,5 @@ #include "rpc_common/rpc_common.h" #include "rpc_deferrable.h" -#include "service_longtx.h" - -#include #include #include @@ -23,235 +20,10 @@ namespace NKikimr { -namespace { - -using TEvLongTxBeginRequest = NGRpcService::TGrpcRequestOperationCall; -using TEvLongTxCommitRequest = NGRpcService::TGrpcRequestOperationCall; -using TEvLongTxRollbackRequest = NGRpcService::TGrpcRequestOperationCall; -using TEvLongTxWriteRequest = NGRpcService::TGrpcRequestOperationCall; - -} - namespace NGRpcService { using namespace NActors; using namespace NLongTxService; -class TLongTxBeginRPC : public TActorBootstrapped { - using TBase = TActorBootstrapped; - -public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() { - return NKikimrServices::TActivity::GRPC_REQ; - } - - explicit TLongTxBeginRPC(std::unique_ptr request) - : TBase() - , Request(std::move(request)) - , DatabaseName(Request->GetDatabaseName().GetOrElse(DatabaseFromDomain(AppData()))) - {} - - void Bootstrap() { - const auto* req = TEvLongTxBeginRequest::GetProtoRequest(Request); - - NKikimrLongTxService::TEvBeginTx::EMode mode = {}; - switch (req->tx_type()) { - case Ydb::LongTx::BeginTransactionRequest::READ: - mode = NKikimrLongTxService::TEvBeginTx::MODE_READ_ONLY; - break; - case Ydb::LongTx::BeginTransactionRequest::WRITE: - mode = NKikimrLongTxService::TEvBeginTx::MODE_WRITE_ONLY; - break; - default: - // TODO: report error - break; - } - - Send(MakeLongTxServiceID(SelfId().NodeId()), new TEvLongTxService::TEvBeginTx(DatabaseName, mode)); - Become(&TThis::StateWork); - } - -private: - STFUNC(StateWork) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvLongTxService::TEvBeginTxResult, Handle); - } - } - - void Handle(TEvLongTxService::TEvBeginTxResult::TPtr& ev) { - const auto* msg = ev->Get(); - - if (msg->Record.GetStatus() != Ydb::StatusIds::SUCCESS) { - NYql::TIssues issues; - NYql::IssuesFromMessage(msg->Record.GetIssues(), issues); - if (issues) { - Request->RaiseIssues(std::move(issues)); - } - Request->ReplyWithYdbStatus(msg->Record.GetStatus()); - return PassAway(); - } - - Ydb::LongTx::BeginTransactionResult result; - result.set_tx_id(msg->GetLongTxId().ToString()); - ReplySuccess(result); - } - - void ReplySuccess(const Ydb::LongTx::BeginTransactionResult& result) { - Request->SendResult(result, Ydb::StatusIds::SUCCESS); - PassAway(); - } - -private: - std::unique_ptr Request; - TString DatabaseName; -}; - -// - -class TLongTxCommitRPC : public TActorBootstrapped { - using TBase = TActorBootstrapped; -public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() { - return NKikimrServices::TActivity::GRPC_REQ; - } - - explicit TLongTxCommitRPC(std::unique_ptr request) - : TBase() - , Request(std::move(request)) - { - } - - void Bootstrap() { - const auto* req = TEvLongTxCommitRequest::GetProtoRequest(Request); - - TString errMsg; - if (!LongTxId.ParseString(req->tx_id(), &errMsg)) { - return ReplyError(Ydb::StatusIds::BAD_REQUEST, errMsg); - } - - Send(MakeLongTxServiceID(SelfId().NodeId()), new TEvLongTxService::TEvCommitTx(LongTxId)); - Become(&TThis::StateWork); - } - -private: - STFUNC(StateWork) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvLongTxService::TEvCommitTxResult, Handle); - } - } - - void Handle(TEvLongTxService::TEvCommitTxResult::TPtr& ev) { - const auto* msg = ev->Get(); - - if (msg->Record.GetStatus() != Ydb::StatusIds::SUCCESS) { - NYql::TIssues issues; - NYql::IssuesFromMessage(msg->Record.GetIssues(), issues); - if (issues) { - Request->RaiseIssues(std::move(issues)); - } - Request->ReplyWithYdbStatus(msg->Record.GetStatus()); - return PassAway(); - } - - Ydb::LongTx::CommitTransactionResult result; - const auto* req = TEvLongTxCommitRequest::GetProtoRequest(Request); - result.set_tx_id(req->tx_id()); - ReplySuccess(result); - } - - void ReplyError(Ydb::StatusIds::StatusCode status, const TString& message) { - if (!message.empty()) { - Request->RaiseIssue(NYql::TIssue(message)); - } - Request->ReplyWithYdbStatus(status); - PassAway(); - } - - void ReplySuccess(const Ydb::LongTx::CommitTransactionResult& result) { - Request->SendResult(result, Ydb::StatusIds::SUCCESS); - PassAway(); - } - -private: - std::unique_ptr Request; - TLongTxId LongTxId; -}; - -// - -class TLongTxRollbackRPC : public TActorBootstrapped { - using TBase = TActorBootstrapped; -public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() { - return NKikimrServices::TActivity::GRPC_REQ; - } - - explicit TLongTxRollbackRPC(std::unique_ptr request) - : TBase() - , Request(std::move(request)) - { - } - - void Bootstrap() { - const auto* req = TEvLongTxRollbackRequest::GetProtoRequest(Request); - - TString errMsg; - if (!LongTxId.ParseString(req->tx_id(), &errMsg)) { - return ReplyError(Ydb::StatusIds::BAD_REQUEST, errMsg); - } - - Send(MakeLongTxServiceID(SelfId().NodeId()), new TEvLongTxService::TEvRollbackTx(LongTxId)); - Become(&TThis::StateWork); - } - -private: - STFUNC(StateWork) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvLongTxService::TEvRollbackTxResult, Handle); - } - } - - void Handle(TEvLongTxService::TEvRollbackTxResult::TPtr& ev) { - const auto* msg = ev->Get(); - - if (msg->Record.GetStatus() != Ydb::StatusIds::SUCCESS) { - NYql::TIssues issues; - NYql::IssuesFromMessage(msg->Record.GetIssues(), issues); - if (issues) { - Request->RaiseIssues(std::move(issues)); - } - Request->ReplyWithYdbStatus(msg->Record.GetStatus()); - return PassAway(); - } - - Ydb::LongTx::RollbackTransactionResult result; - const auto* req = TEvLongTxRollbackRequest::GetProtoRequest(Request); - result.set_tx_id(req->tx_id()); - ReplySuccess(result); - } - - void ReplyError(Ydb::StatusIds::StatusCode status, const TString& message) { - if (!message.empty()) { - Request->RaiseIssue(NYql::TIssue(message)); - } - Request->ReplyWithYdbStatus(status); - PassAway(); - } - - void ReplySuccess(const Ydb::LongTx::RollbackTransactionResult& result) { - Request->SendResult(result, Ydb::StatusIds::SUCCESS); - PassAway(); - } - -private: - std::unique_ptr Request; - TLongTxId LongTxId; -}; - - // Common logic of LongTx Write that takes care of splitting the data according to the sharding scheme, // sending it to shards and collecting their responses template @@ -411,136 +183,6 @@ class TLongTxWriteBase : public TActorBootstrapped { bool IndexReady = false; }; - -// GRPC call implementation of LongTx Write -class TLongTxWriteRPC : public TLongTxWriteBase { - using TBase = TLongTxWriteBase; - - class TProtoDataWrapper : public NEvWrite::IShardsSplitter::IEvWriteDataAccessor { - const TEvLongTxWriteRequest::TRequest* ProtoRequest = nullptr; - mutable std::shared_ptr Batch; - public: - TProtoDataWrapper(const TEvLongTxWriteRequest::TRequest* request) - : ProtoRequest(request) - { - } - - std::shared_ptr GetDeserializedBatch() const override { - if (Batch) { - return Batch; - } else { - auto res = NArrow::NSerialization::TFullDataDeserializer().Deserialize(GetSerializedData()); - if (res.ok()) { - Batch = *res; - } - } - return Batch; - } - - TString GetSerializedData() const override { - Y_ABORT_UNLESS(ProtoRequest); - return ProtoRequest->data().data(); - } - }; - - NEvWrite::IShardsSplitter::IEvWriteDataAccessor::TPtr DataAccessor; -public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() { - return NKikimrServices::TActivity::GRPC_REQ; - } - - explicit TLongTxWriteRPC(std::unique_ptr request) - : TBase(request->GetDatabaseName().GetOrElse(DatabaseFromDomain(AppData())), - TEvLongTxWriteRequest::GetProtoRequest(request)->path(), - request->GetSerializedToken(), - TLongTxId(), - TEvLongTxWriteRequest::GetProtoRequest(request)->dedup_id()) - , Request(std::move(request)) - , SchemeCache(MakeSchemeCacheID()) - { - DataAccessor = std::make_shared(GetProtoRequest()); - } - - void Bootstrap() { - const auto* req = GetProtoRequest(); - - TString errMsg; - if (!LongTxId.ParseString(req->tx_id(), &errMsg)) { - return ReplyError(Ydb::StatusIds::BAD_REQUEST, errMsg); - } - - if (GetProtoRequest()->data().format() != Ydb::LongTx::Data::APACHE_ARROW) { - return ReplyError(Ydb::StatusIds::BAD_REQUEST, "Only APACHE_ARROW data format is supported"); - } - - SendNavigateRequest(); - } - - void SendNavigateRequest() { - auto request = MakeHolder(); - request->DatabaseName = this->DatabaseName; - auto& entry = request->ResultSet.emplace_back(); - entry.Path = ::NKikimr::SplitPath(Path); - entry.Operation = NSchemeCache::TSchemeCacheNavigate::OpPath; - Send(SchemeCache, new TEvTxProxySchemeCache::TEvNavigateKeySet(request.Release())); - Become(&TThis::StateNavigate); - } - - STFUNC(StateNavigate) { - switch (ev->GetTypeRewrite()) { - hFunc(TEvTxProxySchemeCache::TEvNavigateKeySetResult, Handle); - } - } - - void Handle(TEvTxProxySchemeCache::TEvNavigateKeySetResult::TPtr& ev) { - NSchemeCache::TSchemeCacheNavigate* resp = ev->Get()->Request.Get(); - Y_ABORT_UNLESS(resp); - ProceedWithSchema(*resp); - } - -private: - const TEvLongTxWriteRequest::TRequest* GetProtoRequest() const { - return TEvLongTxWriteRequest::GetProtoRequest(Request); - } - -protected: - NEvWrite::IShardsSplitter::IEvWriteDataAccessor& GetDataAccessor() const override { - return *DataAccessor; - } - - void RaiseIssue(const NYql::TIssue& issue) override { - Request->RaiseIssue(issue); - } - - void ReplyError(Ydb::StatusIds::StatusCode status, const TString& message = TString()) override { - if (!message.empty()) { - Request->RaiseIssue(NYql::TIssue(message)); - } - Request->ReplyWithYdbStatus(status); - PassAway(); - } - - void ReplySuccess() override { - Ydb::LongTx::WriteResult result; - result.set_tx_id(GetProtoRequest()->tx_id()); - result.set_path(Path); - result.set_dedup_id(DedupId); - - Request->SendResult(result, Ydb::StatusIds::SUCCESS); - PassAway(); - } - -private: - std::unique_ptr Request; - TActorId SchemeCache; -}; - - -template<> -IActor* TEvLongTxWriteRequest::CreateRpcActor(NKikimr::NGRpcService::IRequestOpCtx* msg) { - return new TLongTxWriteRPC(std::unique_ptr(msg)); -} - // LongTx Write implementation called from the inside of YDB (e.g. as a part of BulkUpsert call) // NOTE: permission checks must have been done by the caller class TLongTxWriteInternal : public TLongTxWriteBase { @@ -630,21 +272,6 @@ TActorId DoLongTxWriteSameMailbox(const TActorContext& ctx, const TActorId& repl // -void DoLongTxBeginRPC(std::unique_ptr p, const IFacilityProvider& f) { - f.RegisterActor(new TLongTxBeginRPC(std::move(p))); -} - -void DoLongTxCommitRPC(std::unique_ptr p, const IFacilityProvider& f) { - f.RegisterActor(new TLongTxCommitRPC(std::move(p))); -} - -void DoLongTxRollbackRPC(std::unique_ptr p, const IFacilityProvider& f) { - f.RegisterActor(new TLongTxRollbackRPC(std::move(p))); -} - -void DoLongTxWriteRPC(std::unique_ptr p, const IFacilityProvider& f) { - f.RegisterActor(new TLongTxWriteRPC(std::move(p))); -} } } diff --git a/ydb/core/grpc_services/service_longtx.h b/ydb/core/grpc_services/service_longtx.h deleted file mode 100644 index 2d46a639eecd..000000000000 --- a/ydb/core/grpc_services/service_longtx.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#include - -namespace NKikimr { -namespace NGRpcService { - -class IRequestOpCtx; -class IFacilityProvider; - -void DoLongTxBeginRPC(std::unique_ptr p, const IFacilityProvider& f); -void DoLongTxCommitRPC(std::unique_ptr p, const IFacilityProvider& f); -void DoLongTxRollbackRPC(std::unique_ptr p, const IFacilityProvider& f); -void DoLongTxWriteRPC(std::unique_ptr p, const IFacilityProvider& f); - -} -} diff --git a/ydb/core/testlib/test_client.cpp b/ydb/core/testlib/test_client.cpp index bc4a5645342b..609cedf3184f 100644 --- a/ydb/core/testlib/test_client.cpp +++ b/ydb/core/testlib/test_client.cpp @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -385,7 +384,6 @@ namespace Tests { GRpcServer->AddService(discoveryService); GRpcServer->AddService(new NGRpcService::TGRpcYdbClickhouseInternalService(system, counters, appData.InFlightLimiterRegistry, grpcRequestProxies[0], true)); GRpcServer->AddService(new NQuoter::TRateLimiterGRpcService(system, counters, grpcRequestProxies[0])); - GRpcServer->AddService(new NGRpcService::TGRpcYdbLongTxService(system, counters, grpcRequestProxies[0], true)); GRpcServer->AddService(new NGRpcService::TGRpcDataStreamsService(system, counters, grpcRequestProxies[0], true)); GRpcServer->AddService(new NGRpcService::TGRpcMonitoringService(system, counters, grpcRequestProxies[0], true)); GRpcServer->AddService(new NGRpcService::TGRpcYdbQueryService(system, counters, grpcRequestProxies[0], true)); diff --git a/ydb/core/tx/data_events/shard_writer.h b/ydb/core/tx/data_events/shard_writer.h index 7357c22d29c2..fe713d1960be 100644 --- a/ydb/core/tx/data_events/shard_writer.h +++ b/ydb/core/tx/data_events/shard_writer.h @@ -5,7 +5,6 @@ #include #include #include -#include #include #include diff --git a/ydb/core/tx/tx_proxy/upload_rows_common_impl.h b/ydb/core/tx/tx_proxy/upload_rows_common_impl.h index 7388dfc339c2..907578f0346d 100644 --- a/ydb/core/tx/tx_proxy/upload_rows_common_impl.h +++ b/ydb/core/tx/tx_proxy/upload_rows_common_impl.h @@ -23,7 +23,6 @@ #include #include -#include #define INCLUDE_YDB_INTERNAL_H #include @@ -169,7 +168,6 @@ class TUploadRowsBase : public TActorBootstrapped Issues = std::make_shared(); NLongTxService::TLongTxId LongTxId; - NThreading::TFuture WriteBatchResult; TUploadCounters UploadCounters; protected: diff --git a/ydb/public/api/grpc/draft/CMakeLists.darwin-arm64.txt b/ydb/public/api/grpc/draft/CMakeLists.darwin-arm64.txt index 5ec7da389c4a..ec91e2feae26 100644 --- a/ydb/public/api/grpc/draft/CMakeLists.darwin-arm64.txt +++ b/ydb/public/api/grpc/draft/CMakeLists.darwin-arm64.txt @@ -138,7 +138,6 @@ target_proto_messages(api-grpc-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_clickhouse_internal_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_persqueue_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_datastreams_v1.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_logstore_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/CMakeLists.darwin-x86_64.txt b/ydb/public/api/grpc/draft/CMakeLists.darwin-x86_64.txt index 5ec7da389c4a..ec91e2feae26 100644 --- a/ydb/public/api/grpc/draft/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/api/grpc/draft/CMakeLists.darwin-x86_64.txt @@ -138,7 +138,6 @@ target_proto_messages(api-grpc-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_clickhouse_internal_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_persqueue_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_datastreams_v1.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_logstore_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/CMakeLists.linux-aarch64.txt b/ydb/public/api/grpc/draft/CMakeLists.linux-aarch64.txt index 501f71bd6ddf..bf26eb685a8e 100644 --- a/ydb/public/api/grpc/draft/CMakeLists.linux-aarch64.txt +++ b/ydb/public/api/grpc/draft/CMakeLists.linux-aarch64.txt @@ -139,7 +139,6 @@ target_proto_messages(api-grpc-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_clickhouse_internal_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_persqueue_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_datastreams_v1.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_logstore_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/CMakeLists.linux-x86_64.txt b/ydb/public/api/grpc/draft/CMakeLists.linux-x86_64.txt index 501f71bd6ddf..bf26eb685a8e 100644 --- a/ydb/public/api/grpc/draft/CMakeLists.linux-x86_64.txt +++ b/ydb/public/api/grpc/draft/CMakeLists.linux-x86_64.txt @@ -139,7 +139,6 @@ target_proto_messages(api-grpc-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_clickhouse_internal_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_persqueue_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_datastreams_v1.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_logstore_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/CMakeLists.windows-x86_64.txt b/ydb/public/api/grpc/draft/CMakeLists.windows-x86_64.txt index 5ec7da389c4a..ec91e2feae26 100644 --- a/ydb/public/api/grpc/draft/CMakeLists.windows-x86_64.txt +++ b/ydb/public/api/grpc/draft/CMakeLists.windows-x86_64.txt @@ -138,7 +138,6 @@ target_proto_messages(api-grpc-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_clickhouse_internal_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_persqueue_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_datastreams_v1.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_maintenance_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_logstore_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/ya.make b/ydb/public/api/grpc/draft/ya.make index f508a9309e46..908ae4985028 100644 --- a/ydb/public/api/grpc/draft/ya.make +++ b/ydb/public/api/grpc/draft/ya.make @@ -10,7 +10,6 @@ SRCS( ydb_clickhouse_internal_v1.proto ydb_persqueue_v1.proto ydb_datastreams_v1.proto - ydb_long_tx_v1.proto ydb_maintenance_v1.proto ydb_logstore_v1.proto ydb_dynamic_config_v1.proto diff --git a/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto b/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto deleted file mode 100644 index 7f920b44af39..000000000000 --- a/ydb/public/api/grpc/draft/ydb_long_tx_v1.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto3"; - -package Ydb.LongTx.V1; -option java_package = "com.yandex.ydb.long_tx.v1"; - -import "ydb/public/api/protos/draft/ydb_long_tx.proto"; - -service LongTxService { - rpc BeginTx(BeginTransactionRequest) returns (BeginTransactionResponse); - rpc CommitTx(CommitTransactionRequest) returns (CommitTransactionResponse); - rpc RollbackTx(RollbackTransactionRequest) returns (RollbackTransactionResponse); - rpc Write(WriteRequest) returns (WriteResponse); -// rpc ResolveNodes(ResolveNodesRequest) returns (stream ResolveNodesResponse); -} diff --git a/ydb/public/api/protos/CMakeLists.darwin-arm64.txt b/ydb/public/api/protos/CMakeLists.darwin-arm64.txt index b9750e7dc20a..472587120819 100644 --- a/ydb/public/api/protos/CMakeLists.darwin-arm64.txt +++ b/ydb/public/api/protos/CMakeLists.darwin-arm64.txt @@ -460,7 +460,6 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/fq.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_common.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_error_codes.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_long_tx.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_maintenance.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_dynamic_config.proto diff --git a/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt b/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt index b9750e7dc20a..472587120819 100644 --- a/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt @@ -460,7 +460,6 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/fq.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_common.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_error_codes.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_long_tx.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_maintenance.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_dynamic_config.proto diff --git a/ydb/public/api/protos/CMakeLists.linux-aarch64.txt b/ydb/public/api/protos/CMakeLists.linux-aarch64.txt index 5b0fa3407712..ff7dd71ab01c 100644 --- a/ydb/public/api/protos/CMakeLists.linux-aarch64.txt +++ b/ydb/public/api/protos/CMakeLists.linux-aarch64.txt @@ -461,7 +461,6 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/fq.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_common.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_error_codes.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_long_tx.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_maintenance.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_dynamic_config.proto diff --git a/ydb/public/api/protos/CMakeLists.linux-x86_64.txt b/ydb/public/api/protos/CMakeLists.linux-x86_64.txt index 5b0fa3407712..ff7dd71ab01c 100644 --- a/ydb/public/api/protos/CMakeLists.linux-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.linux-x86_64.txt @@ -461,7 +461,6 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/fq.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_common.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_error_codes.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_long_tx.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_maintenance.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_dynamic_config.proto diff --git a/ydb/public/api/protos/CMakeLists.windows-x86_64.txt b/ydb/public/api/protos/CMakeLists.windows-x86_64.txt index b9750e7dc20a..472587120819 100644 --- a/ydb/public/api/protos/CMakeLists.windows-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.windows-x86_64.txt @@ -460,7 +460,6 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/fq.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_common.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/persqueue_error_codes.proto - ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_long_tx.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_maintenance.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_dynamic_config.proto diff --git a/ydb/public/api/protos/draft/ydb_long_tx.proto b/ydb/public/api/protos/draft/ydb_long_tx.proto deleted file mode 100644 index d5b658595fdd..000000000000 --- a/ydb/public/api/protos/draft/ydb_long_tx.proto +++ /dev/null @@ -1,89 +0,0 @@ -syntax = "proto3"; -option cc_enable_arenas = true; - -package Ydb.LongTx; -option java_package = "com.yandex.ydb.long_tx"; -option java_outer_classname = "LongTxProtos"; - -import "ydb/public/api/protos/ydb_operation.proto"; - -message Data -{ - enum Format { - FORMAT_UNSPECIFIED = 0x0000; - YDB_ROWS = 0x0001; - //CLICKHOUSE = 0x0002; - APACHE_ARROW = 0x0003; - //APACHE_PARQUET = 0x0004; - //APACHE_ORC = 0x0005; - } - - Format format = 1; - bytes data = 2; -} - -message BeginTransactionRequest { - enum TxTypeId { - TX_TYPE_ID_UNSPECIFIED = 0x0000; - WRITE = 0x0001; - READ = 0x0002; - //UPDATE = 0x0003; - //DELETE = 0x0004; - } - - Ydb.Operations.OperationParams operation_params = 1; - TxTypeId tx_type = 2; -} - -message BeginTransactionResult { - // Transaction id required for other requests. - string tx_id = 1; -} - -message BeginTransactionResponse { - Ydb.Operations.Operation operation = 1; -} - -message CommitTransactionRequest { - Ydb.Operations.OperationParams operation_params = 1; - string tx_id = 2; -} - -message CommitTransactionResult { - string tx_id = 1; -} - -message CommitTransactionResponse { - Ydb.Operations.Operation operation = 1; -} - -message RollbackTransactionRequest { - Ydb.Operations.OperationParams operation_params = 1; - string tx_id = 2; -} - -message RollbackTransactionResult { - string tx_id = 1; -} - -message RollbackTransactionResponse { - Ydb.Operations.Operation operation = 1; -} - -message WriteRequest { - Ydb.Operations.OperationParams operation_params = 1; - string tx_id = 2; - string path = 3; - string dedup_id = 4; - Data data = 5; -} - -message WriteResult { - string tx_id = 1; - string path = 2; - string dedup_id = 3; -} - -message WriteResponse { - Ydb.Operations.Operation operation = 1; -} diff --git a/ydb/public/api/protos/ya.make b/ydb/public/api/protos/ya.make index e21024ef0aa8..2b0ea3e8d39a 100644 --- a/ydb/public/api/protos/ya.make +++ b/ydb/public/api/protos/ya.make @@ -11,7 +11,6 @@ SRCS( draft/fq.proto draft/persqueue_common.proto draft/persqueue_error_codes.proto - draft/ydb_long_tx.proto draft/ydb_maintenance.proto draft/ydb_logstore.proto draft/ydb_dynamic_config.proto diff --git a/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-arm64.txt b/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-arm64.txt index f030fbc25cdc..5b65c5c25dc4 100644 --- a/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-arm64.txt +++ b/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-arm64.txt @@ -20,5 +20,4 @@ target_link_libraries(cpp-client-draft PUBLIC target_sources(cpp-client-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_dynamic_config.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_scripting.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp ) diff --git a/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-x86_64.txt b/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-x86_64.txt index f030fbc25cdc..5b65c5c25dc4 100644 --- a/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/sdk/cpp/client/draft/CMakeLists.darwin-x86_64.txt @@ -20,5 +20,4 @@ target_link_libraries(cpp-client-draft PUBLIC target_sources(cpp-client-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_dynamic_config.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_scripting.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp ) diff --git a/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-aarch64.txt b/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-aarch64.txt index c4dd9ff9e7e0..586b17a94d25 100644 --- a/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-aarch64.txt +++ b/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-aarch64.txt @@ -21,5 +21,4 @@ target_link_libraries(cpp-client-draft PUBLIC target_sources(cpp-client-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_dynamic_config.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_scripting.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp ) diff --git a/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-x86_64.txt b/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-x86_64.txt index c4dd9ff9e7e0..586b17a94d25 100644 --- a/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-x86_64.txt +++ b/ydb/public/sdk/cpp/client/draft/CMakeLists.linux-x86_64.txt @@ -21,5 +21,4 @@ target_link_libraries(cpp-client-draft PUBLIC target_sources(cpp-client-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_dynamic_config.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_scripting.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp ) diff --git a/ydb/public/sdk/cpp/client/draft/CMakeLists.windows-x86_64.txt b/ydb/public/sdk/cpp/client/draft/CMakeLists.windows-x86_64.txt index f030fbc25cdc..5b65c5c25dc4 100644 --- a/ydb/public/sdk/cpp/client/draft/CMakeLists.windows-x86_64.txt +++ b/ydb/public/sdk/cpp/client/draft/CMakeLists.windows-x86_64.txt @@ -20,5 +20,4 @@ target_link_libraries(cpp-client-draft PUBLIC target_sources(cpp-client-draft PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_dynamic_config.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_scripting.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp ) diff --git a/ydb/public/sdk/cpp/client/draft/ya.make b/ydb/public/sdk/cpp/client/draft/ya.make index 91b96fc5d04f..7d4f206e71be 100644 --- a/ydb/public/sdk/cpp/client/draft/ya.make +++ b/ydb/public/sdk/cpp/client/draft/ya.make @@ -3,7 +3,6 @@ LIBRARY() SRCS( ydb_dynamic_config.cpp ydb_scripting.cpp - ydb_long_tx.cpp ) PEERDIR( diff --git a/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp b/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp deleted file mode 100644 index 06ef07b11135..000000000000 --- a/ydb/public/sdk/cpp/client/draft/ydb_long_tx.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include "ydb_long_tx.h" - -#define INCLUDE_YDB_INTERNAL_H -#include -#undef INCLUDE_YDB_INTERNAL_H - -#include - -namespace NYdb { -namespace NLongTx { - -namespace { - -struct TOpSettings : public TOperationRequestSettings { -}; - -} - -class TClient::TImpl: public TClientImplCommon { -public: - TImpl(std::shared_ptr&& connections, const TClientSettings& settings) - : TClientImplCommon(std::move(connections), settings) - {} - - TAsyncBeginTxResult BeginTx(Ydb::LongTx::BeginTransactionRequest::TxTypeId txType, - const TOpSettings& settings = TOpSettings()) { - auto request = MakeOperationRequest(settings); - request.set_tx_type(txType); - - return RunOperation( - std::move(request), - &Ydb::LongTx::V1::LongTxService::Stub::AsyncBeginTx, - TRpcRequestSettings::Make(settings)); - } - - TAsyncCommitTxResult CommitTx(const TString& txId, - const TOpSettings& settings = TOpSettings()) { - auto request = MakeOperationRequest(settings); - request.set_tx_id(txId); - - return RunOperation( - std::move(request), - &Ydb::LongTx::V1::LongTxService::Stub::AsyncCommitTx, - TRpcRequestSettings::Make(settings)); - } - - TAsyncRollbackTxResult RollbackTx(const TString& txId, - const TOpSettings& settings = TOpSettings()) { - auto request = MakeOperationRequest(settings); - request.set_tx_id(txId); - - return RunOperation( - std::move(request), - &Ydb::LongTx::V1::LongTxService::Stub::AsyncRollbackTx, - TRpcRequestSettings::Make(settings)); - } - - TAsyncWriteResult Write(const TString& txId, const TString& table, const TString& dedupId, - const TString& data, Ydb::LongTx::Data::Format format, - const TOpSettings& settings = TOpSettings()) { - auto request = MakeOperationRequest(settings); - request.set_tx_id(txId); - request.set_path(table); - request.set_dedup_id(dedupId); - - auto req_data = request.mutable_data(); - req_data->set_format(format); - req_data->set_data(data); - - return RunOperation( - std::move(request), - &Ydb::LongTx::V1::LongTxService::Stub::AsyncWrite, - TRpcRequestSettings::Make(settings)); - } - -}; - -TClient::TClient(const TDriver& driver, const TClientSettings& settings) - : Impl_(new TImpl(CreateInternalInterface(driver), settings)) -{} - -TClient::TAsyncBeginTxResult TClient::BeginWriteTx() { - return Impl_->BeginTx(Ydb::LongTx::BeginTransactionRequest::WRITE); -} - -TClient::TAsyncCommitTxResult TClient::CommitTx(const TString& txId) { - return Impl_->CommitTx(txId); -} - -TClient::TAsyncRollbackTxResult TClient::RollbackTx(const TString& txId) { - return Impl_->RollbackTx(txId); -} - -TClient::TAsyncWriteResult TClient::Write(const TString& txId, const TString& table, const TString& dedupId, - const TString& data, Ydb::LongTx::Data::Format format) { - return Impl_->Write(txId, table, dedupId, data, format); -} - - -} // namespace NLongTx -} // namespace NYdb diff --git a/ydb/public/sdk/cpp/client/draft/ydb_long_tx.h b/ydb/public/sdk/cpp/client/draft/ydb_long_tx.h deleted file mode 100644 index e749d0348ab8..000000000000 --- a/ydb/public/sdk/cpp/client/draft/ydb_long_tx.h +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once - -#include -#include -#include - -namespace NYdb { -namespace NLongTx { - -class TLongTxBeginResult : public TOperation { -public: - explicit TLongTxBeginResult(TStatus&& status) - : TOperation(std::move(status)) - {} - - TLongTxBeginResult(TStatus&& status, Ydb::Operations::Operation&& operation) - : TOperation(std::move(status), std::move(operation)) - {} - - Ydb::LongTx::BeginTransactionResult GetResult() { - Ydb::LongTx::BeginTransactionResult result; - GetProto().result().UnpackTo(&result); - return result; - } -}; - -class TLongTxCommitResult : public TOperation { -public: - explicit TLongTxCommitResult(TStatus&& status) - : TOperation(std::move(status)) - {} - - TLongTxCommitResult(TStatus&& status, Ydb::Operations::Operation&& operation) - : TOperation(std::move(status), std::move(operation)) - {} - - Ydb::LongTx::CommitTransactionResult GetResult() { - Ydb::LongTx::CommitTransactionResult result; - GetProto().result().UnpackTo(&result); - return result; - } -}; - -class TLongTxRollbackResult : public TOperation { -public: - explicit TLongTxRollbackResult(TStatus&& status) - : TOperation(std::move(status)) - {} - - TLongTxRollbackResult(TStatus&& status, Ydb::Operations::Operation&& operation) - : TOperation(std::move(status), std::move(operation)) - {} - - Ydb::LongTx::RollbackTransactionResult GetResult() { - Ydb::LongTx::RollbackTransactionResult result; - GetProto().result().UnpackTo(&result); - return result; - } -}; - -class TLongTxWriteResult : public TOperation { -public: - explicit TLongTxWriteResult(TStatus&& status) - : TOperation(std::move(status)) - {} - - TLongTxWriteResult(TStatus&& status, Ydb::Operations::Operation&& operation) - : TOperation(std::move(status), std::move(operation)) - {} - - Ydb::LongTx::WriteResult GetResult() { - Ydb::LongTx::WriteResult result; - GetProto().result().UnpackTo(&result); - return result; - } -}; - -struct TClientSettings : public TCommonClientSettingsBase { - using TSelf = TClientSettings; -}; - -class TClient { -public: - using TAsyncBeginTxResult = NThreading::TFuture; - using TAsyncCommitTxResult = NThreading::TFuture; - using TAsyncRollbackTxResult = NThreading::TFuture; - using TAsyncWriteResult = NThreading::TFuture; - - TClient(const TDriver& driver, const TClientSettings& settings = TClientSettings()); - - TAsyncBeginTxResult BeginWriteTx(); - TAsyncCommitTxResult CommitTx(const TString& txId); - TAsyncRollbackTxResult RollbackTx(const TString& txId); - TAsyncWriteResult Write(const TString& txId, const TString& table, const TString& dedupId, - const TString& data, Ydb::LongTx::Data::Format format); - -private: - class TImpl; - std::shared_ptr Impl_; -}; - -} // namespace NLongTx -} // namespace NYdb diff --git a/ydb/services/ydb/CMakeLists.darwin-arm64.txt b/ydb/services/ydb/CMakeLists.darwin-arm64.txt index 86a699d8001d..1eb633ff6647 100644 --- a/ydb/services/ydb/CMakeLists.darwin-arm64.txt +++ b/ydb/services/ydb/CMakeLists.darwin-arm64.txt @@ -45,5 +45,4 @@ target_sources(ydb-services-ydb PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scheme.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx.cpp ) diff --git a/ydb/services/ydb/CMakeLists.darwin-x86_64.txt b/ydb/services/ydb/CMakeLists.darwin-x86_64.txt index 86a699d8001d..1eb633ff6647 100644 --- a/ydb/services/ydb/CMakeLists.darwin-x86_64.txt +++ b/ydb/services/ydb/CMakeLists.darwin-x86_64.txt @@ -45,5 +45,4 @@ target_sources(ydb-services-ydb PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scheme.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx.cpp ) diff --git a/ydb/services/ydb/CMakeLists.linux-aarch64.txt b/ydb/services/ydb/CMakeLists.linux-aarch64.txt index 959b3536694c..53904b2d393b 100644 --- a/ydb/services/ydb/CMakeLists.linux-aarch64.txt +++ b/ydb/services/ydb/CMakeLists.linux-aarch64.txt @@ -46,5 +46,4 @@ target_sources(ydb-services-ydb PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scheme.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx.cpp ) diff --git a/ydb/services/ydb/CMakeLists.linux-x86_64.txt b/ydb/services/ydb/CMakeLists.linux-x86_64.txt index 959b3536694c..53904b2d393b 100644 --- a/ydb/services/ydb/CMakeLists.linux-x86_64.txt +++ b/ydb/services/ydb/CMakeLists.linux-x86_64.txt @@ -46,5 +46,4 @@ target_sources(ydb-services-ydb PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scheme.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx.cpp ) diff --git a/ydb/services/ydb/CMakeLists.windows-x86_64.txt b/ydb/services/ydb/CMakeLists.windows-x86_64.txt index 86a699d8001d..1eb633ff6647 100644 --- a/ydb/services/ydb/CMakeLists.windows-x86_64.txt +++ b/ydb/services/ydb/CMakeLists.windows-x86_64.txt @@ -45,5 +45,4 @@ target_sources(ydb-services-ydb PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scheme.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx.cpp ) diff --git a/ydb/services/ydb/ut/CMakeLists.darwin-arm64.txt b/ydb/services/ydb/ut/CMakeLists.darwin-arm64.txt index 5b40b5c912bb..ec2af8ae754d 100644 --- a/ydb/services/ydb/ut/CMakeLists.darwin-arm64.txt +++ b/ydb/services/ydb/ut/CMakeLists.darwin-arm64.txt @@ -62,7 +62,6 @@ target_sources(ydb-services-ydb-ut PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_stats_ut.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_logstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_olapstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ut/CMakeLists.darwin-x86_64.txt b/ydb/services/ydb/ut/CMakeLists.darwin-x86_64.txt index 7d3a542c5833..236ce002b2ac 100644 --- a/ydb/services/ydb/ut/CMakeLists.darwin-x86_64.txt +++ b/ydb/services/ydb/ut/CMakeLists.darwin-x86_64.txt @@ -63,7 +63,6 @@ target_sources(ydb-services-ydb-ut PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_stats_ut.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_logstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_olapstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ut/CMakeLists.linux-aarch64.txt b/ydb/services/ydb/ut/CMakeLists.linux-aarch64.txt index 10f9ea9c59a8..22602791c90c 100644 --- a/ydb/services/ydb/ut/CMakeLists.linux-aarch64.txt +++ b/ydb/services/ydb/ut/CMakeLists.linux-aarch64.txt @@ -66,7 +66,6 @@ target_sources(ydb-services-ydb-ut PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_stats_ut.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_logstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_olapstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ut/CMakeLists.linux-x86_64.txt b/ydb/services/ydb/ut/CMakeLists.linux-x86_64.txt index 4262e1a9d7d6..500d6550c29a 100644 --- a/ydb/services/ydb/ut/CMakeLists.linux-x86_64.txt +++ b/ydb/services/ydb/ut/CMakeLists.linux-x86_64.txt @@ -67,7 +67,6 @@ target_sources(ydb-services-ydb-ut PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_stats_ut.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_logstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_olapstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ut/CMakeLists.windows-x86_64.txt b/ydb/services/ydb/ut/CMakeLists.windows-x86_64.txt index fc2ccf0ac109..99cd79461a8f 100644 --- a/ydb/services/ydb/ut/CMakeLists.windows-x86_64.txt +++ b/ydb/services/ydb/ut/CMakeLists.windows-x86_64.txt @@ -56,7 +56,6 @@ target_sources(ydb-services-ydb-ut PRIVATE ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_scripting_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_table_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_stats_ut.cpp - ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_long_tx_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_logstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_olapstore_ut.cpp ${CMAKE_SOURCE_DIR}/ydb/services/ydb/ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ut/ya.make b/ydb/services/ydb/ut/ya.make index 7817f096c68a..669e766eed71 100644 --- a/ydb/services/ydb/ut/ya.make +++ b/ydb/services/ydb/ut/ya.make @@ -22,7 +22,6 @@ SRCS( ydb_scripting_ut.cpp ydb_table_ut.cpp ydb_stats_ut.cpp - ydb_long_tx_ut.cpp ydb_logstore_ut.cpp ydb_olapstore_ut.cpp ydb_monitoring_ut.cpp diff --git a/ydb/services/ydb/ya.make b/ydb/services/ydb/ya.make index 74632bf34d20..26c9ef2a1db9 100644 --- a/ydb/services/ydb/ya.make +++ b/ydb/services/ydb/ya.make @@ -11,7 +11,6 @@ SRCS( ydb_scheme.cpp ydb_scripting.cpp ydb_table.cpp - ydb_long_tx.cpp ) PEERDIR( diff --git a/ydb/services/ydb/ydb_bulk_upsert_olap_ut.cpp b/ydb/services/ydb/ydb_bulk_upsert_olap_ut.cpp index 6f6f9533968d..4ab649e0e446 100644 --- a/ydb/services/ydb/ydb_bulk_upsert_olap_ut.cpp +++ b/ydb/services/ydb/ydb_bulk_upsert_olap_ut.cpp @@ -2,7 +2,6 @@ #include #include -#include #include #include diff --git a/ydb/services/ydb/ydb_long_tx.cpp b/ydb/services/ydb/ydb_long_tx.cpp deleted file mode 100644 index 643d95b858a3..000000000000 --- a/ydb/services/ydb/ydb_long_tx.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "ydb_long_tx.h" - -#include -#include -#include - -namespace NKikimr { -namespace NGRpcService { - -void TGRpcYdbLongTxService::SetupIncomingRequests(NYdbGrpc::TLoggerPtr logger) { - auto getCounterBlock = CreateCounterCb(Counters_, ActorSystem_); - -#ifdef ADD_REQUEST -#error ADD_REQUEST macro already defined -#endif -#define ADD_REQUEST(NAME, REQ, CB) \ - MakeIntrusive> \ - (this, &Service_, CQ_, \ - [this](NYdbGrpc::IRequestContextBase *ctx) { \ - NGRpcService::ReportGrpcReqToMon(*ActorSystem_, ctx->GetPeer()); \ - ActorSystem_->Send(GRpcRequestProxyId_, \ - new TGrpcRequestOperationCall \ - (ctx, &CB, TRequestAuxSettings{TRateLimiterMode::Off, nullptr})); \ - }, &Ydb::LongTx::V1::LongTxService::AsyncService::Request ## NAME, \ - #NAME, logger, getCounterBlock("long_tx", #NAME))->Run(); - - ADD_REQUEST(BeginTx, BeginTransaction, DoLongTxBeginRPC) - ADD_REQUEST(CommitTx, CommitTransaction, DoLongTxCommitRPC) - ADD_REQUEST(RollbackTx, RollbackTransaction, DoLongTxRollbackRPC) - ADD_REQUEST(Write, Write, DoLongTxWriteRPC) -#undef ADD_REQUEST -} - -} // namespace NGRpcService -} // namespace NKikimr diff --git a/ydb/services/ydb/ydb_long_tx.h b/ydb/services/ydb/ydb_long_tx.h deleted file mode 100644 index 645459f5fd90..000000000000 --- a/ydb/services/ydb/ydb_long_tx.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -namespace NKikimr { -namespace NGRpcService { - -class TGRpcYdbLongTxService - : public TGrpcServiceBase -{ -public: - using TGrpcServiceBase::TGrpcServiceBase; -private: - void SetupIncomingRequests(NYdbGrpc::TLoggerPtr logger); -}; - -} // namespace NGRpcService -} // namespace NKikimr diff --git a/ydb/services/ydb/ydb_long_tx_ut.cpp b/ydb/services/ydb/ydb_long_tx_ut.cpp deleted file mode 100644 index ac1015b491c3..000000000000 --- a/ydb/services/ydb/ydb_long_tx_ut.cpp +++ /dev/null @@ -1,159 +0,0 @@ -#include "ydb_common_ut.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace NYdb; - -namespace -{ - -static const constexpr char* TestTablePath = TTestOlap::TablePath; - -TString TestBlob() { - auto batch = TTestOlap::SampleBatch(); - return NArrow::NSerialization::TFullDataSerializer(arrow::ipc::IpcWriteOptions::Defaults()).Serialize(batch); -} - -} - - -Y_UNIT_TEST_SUITE(YdbLongTx) { - - Y_UNIT_TEST(BeginWriteCommit) { - NKikimrConfig::TAppConfig appConfig; - TKikimrWithGrpcAndRootSchema server(appConfig); - server.Server_->GetRuntime()->SetLogPriority(NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG); - - ui16 grpc = server.GetPort(); - TString location = TStringBuilder() << "localhost:" << grpc; - auto connection = NYdb::TDriver(TDriverConfig().SetEndpoint(location)); - - TTestOlap::CreateTable(*server.ServerSettings); - - NYdb::NLongTx::TClient client(connection); - - NLongTx::TLongTxBeginResult resBeginTx = client.BeginWriteTx().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resBeginTx.Status().GetStatus(), EStatus::SUCCESS); - - auto txId = resBeginTx.GetResult().tx_id(); - TString data = TestBlob(); - - NLongTx::TLongTxWriteResult resWrite = - client.Write(txId, TestTablePath, "0", data, Ydb::LongTx::Data::APACHE_ARROW).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resWrite.Status().GetStatus(), EStatus::SUCCESS); - - NLongTx::TLongTxCommitResult resCommitTx = client.CommitTx(txId).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resCommitTx.Status().GetStatus(), EStatus::SUCCESS); - } - - Y_UNIT_TEST(BeginWriteRollback) { - NKikimrConfig::TAppConfig appConfig; - TKikimrWithGrpcAndRootSchema server(appConfig); - server.Server_->GetRuntime()->SetLogPriority(NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG); - - ui16 grpc = server.GetPort(); - TString location = TStringBuilder() << "localhost:" << grpc; - auto connection = NYdb::TDriver(TDriverConfig().SetEndpoint(location)); - - TTestOlap::CreateTable(*server.ServerSettings); - - NYdb::NLongTx::TClient client(connection); - - NLongTx::TLongTxBeginResult resBeginTx = client.BeginWriteTx().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resBeginTx.Status().GetStatus(), EStatus::SUCCESS); - - auto txId = resBeginTx.GetResult().tx_id(); - TString data = TestBlob(); - - NLongTx::TLongTxWriteResult resWrite = - client.Write(txId, TestTablePath, "0", data, Ydb::LongTx::Data::APACHE_ARROW).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resWrite.Status().GetStatus(), EStatus::SUCCESS); - - NLongTx::TLongTxRollbackResult resRollbackTx = client.RollbackTx(txId).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resRollbackTx.Status().GetStatus(), EStatus::SUCCESS); - } - - - Y_UNIT_TEST(WriteAclChecks) { - NKikimrConfig::TAppConfig appConfig; - appConfig.MutableDomainsConfig()->MutableSecurityConfig()->SetEnforceUserTokenRequirement(true); - TKikimrWithGrpcAndRootSchema server(appConfig); - server.Server_->GetRuntime()->SetLogPriority(NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG); - - ui16 grpc = server.GetPort(); - TString location = TStringBuilder() << "localhost:" << grpc; - auto connection1 = NYdb::TDriver(TDriverConfig() - .SetEndpoint(location) - .SetDatabase("/Root") - .SetAuthToken("user1@builtin")); - auto connection2 = NYdb::TDriver(TDriverConfig() - .SetEndpoint(location) - .SetDatabase("/Root") - .SetAuthToken("user2@builtin")); - - TTestOlap::CreateTable(*server.ServerSettings); - { - TClient annoyingClient(*server.ServerSettings); - annoyingClient.SetSecurityToken("root@builtin"); - NACLib::TDiffACL diff; - diff.AddAccess(NACLib::EAccessType::Allow, NACLib::UpdateRow, "user1@builtin"); - annoyingClient.ModifyACL("/Root/OlapStore", "OlapTable", diff.SerializeAsString()); - } - - // try user1 first - { - NYdb::NLongTx::TClient client(connection1); - - NLongTx::TLongTxBeginResult resBeginTx = client.BeginWriteTx().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resBeginTx.Status().GetStatus(), EStatus::SUCCESS); - - auto txId = resBeginTx.GetResult().tx_id(); - TString data = TestBlob(); - - NLongTx::TLongTxWriteResult resWrite = - client.Write(txId, TestTablePath, "0", data, Ydb::LongTx::Data::APACHE_ARROW).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resWrite.Status().GetStatus(), EStatus::SUCCESS); - - NLongTx::TLongTxCommitResult resCommitTx = client.CommitTx(txId).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resCommitTx.Status().GetStatus(), EStatus::SUCCESS); - } - - // try user2 next - { - NYdb::NLongTx::TClient client(connection2); - - NLongTx::TLongTxBeginResult resBeginTx = client.BeginWriteTx().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resBeginTx.Status().GetStatus(), EStatus::SUCCESS); - - auto txId = resBeginTx.GetResult().tx_id(); - TString data = TestBlob(); - - NLongTx::TLongTxWriteResult resWrite = - client.Write(txId, TestTablePath, "0", data, Ydb::LongTx::Data::APACHE_ARROW).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resWrite.Status().GetStatus(), EStatus::UNAUTHORIZED); - - NLongTx::TLongTxRollbackResult resRollbackTx = client.RollbackTx(txId).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL(resRollbackTx.Status().GetStatus(), EStatus::SUCCESS); - } - } - - Y_UNIT_TEST(CreateOlapWithDirs) { - NKikimrConfig::TAppConfig appConfig; - TKikimrWithGrpcAndRootSchema server(appConfig); - server.Server_->GetRuntime()->SetLogPriority(NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG); - - ui16 grpc = server.GetPort(); - TString location = TStringBuilder() << "localhost:" << grpc; - auto connection = NYdb::TDriver(TDriverConfig().SetEndpoint(location)); - - TTestOlap::CreateTable(*server.ServerSettings, 1, "DirA/OlapStore", "DirB/OlapTable"); - } - -}