aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgabaydulin <dgabaydulin@yandex-team.ru>2022-02-10 16:52:17 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:52:17 +0300
commit3e85b4ab515714ff8015c117263c2aa19321b182 (patch)
treeb3924dd56d7ec8c15bee766a310bf6a39ee127e2
parentaf28643b7c02cbeb5df8240f479dfc9a323382ec (diff)
downloadydb-3e85b4ab515714ff8015c117263c2aa19321b182.tar.gz
Restoring authorship annotation for <dgabaydulin@yandex-team.ru>. Commit 1 of 2.
-rw-r--r--ydb/library/yql/dq/common/dq_common.h10
-rw-r--r--ydb/library/yql/protos/clickhouse.proto18
-rw-r--r--ydb/library/yql/protos/common.proto34
-rw-r--r--ydb/library/yql/protos/ya.make4
-rw-r--r--ydb/library/yql/providers/common/proto/gateways_config.proto74
-rw-r--r--ydb/library/yql/providers/common/proto/ya.make6
-rw-r--r--ydb/library/yql/providers/dq/actors/worker_actor.cpp6
-rw-r--r--ydb/library/yql/providers/dq/api/grpc/api.proto4
-rw-r--r--ydb/library/yql/providers/dq/api/protos/dqs.proto32
-rw-r--r--ydb/library/yql/providers/dq/api/protos/service.proto32
-rw-r--r--ydb/library/yql/providers/dq/service/grpc_service.cpp64
-rw-r--r--ydb/library/yql/providers/dq/service/service_node.cpp2
-rw-r--r--ydb/library/yql/providers/dq/worker_manager/interface/events.cpp8
-rw-r--r--ydb/library/yql/providers/dq/worker_manager/interface/events.h50
-rw-r--r--ydb/library/yql/providers/dq/worker_manager/local_worker_manager.cpp26
-rw-r--r--ydb/library/yql/utils/failure_injector/failure_injector.cpp22
-rw-r--r--ydb/library/yql/utils/failure_injector/failure_injector.h28
-rw-r--r--ydb/library/yql/utils/failure_injector/failure_injector_ut.cpp50
-rw-r--r--ydb/library/yql/utils/failure_injector/ut/ya.make16
-rw-r--r--ydb/library/yql/utils/failure_injector/ya.make22
20 files changed, 254 insertions, 254 deletions
diff --git a/ydb/library/yql/dq/common/dq_common.h b/ydb/library/yql/dq/common/dq_common.h
index 71cc7be6cb8..a294c6c1b34 100644
--- a/ydb/library/yql/dq/common/dq_common.h
+++ b/ydb/library/yql/dq/common/dq_common.h
@@ -27,11 +27,11 @@ struct TBaseDqResManEvents {
ES_IS_READY_RESPONSE,
ES_JOB_STOP,
ES_JOB_STOP_RESPONSE,
-
- ES_GET_MASTER,
- ES_GET_MASTER_RESPONSE,
-
- ES_CONFIGURE_FAILURE_INJECTOR,
+
+ ES_GET_MASTER,
+ ES_GET_MASTER_RESPONSE,
+
+ ES_CONFIGURE_FAILURE_INJECTOR,
ES_CONFIGURE_FAILURE_INJECTOR_RESPONSE,
ES_QUERY_STATUS,
diff --git a/ydb/library/yql/protos/clickhouse.proto b/ydb/library/yql/protos/clickhouse.proto
index 71511e9d317..8f6c1920b9a 100644
--- a/ydb/library/yql/protos/clickhouse.proto
+++ b/ydb/library/yql/protos/clickhouse.proto
@@ -1,10 +1,10 @@
-package NYql.NProto;
-option java_package = "ru.yandex.yql.proto";
-
+package NYql.NProto;
+option java_package = "ru.yandex.yql.proto";
+
import "ydb/library/yql/protos/common.proto";
-
-message TClickHouseRunnerConfig {
- optional uint32 MaxResultRows = 3 [default = 1000];
- optional uint32 MaxResultBytes = 4 [default = 30000000];
- optional TTime MaxExecutionTime = 5;
-}
+
+message TClickHouseRunnerConfig {
+ optional uint32 MaxResultRows = 3 [default = 1000];
+ optional uint32 MaxResultBytes = 4 [default = 30000000];
+ optional TTime MaxExecutionTime = 5;
+}
diff --git a/ydb/library/yql/protos/common.proto b/ydb/library/yql/protos/common.proto
index 7274deeb4cf..09477f7edc4 100644
--- a/ydb/library/yql/protos/common.proto
+++ b/ydb/library/yql/protos/common.proto
@@ -1,17 +1,17 @@
-package NYql.NProto;
-option java_package = "ru.yandex.yql.proto";
-
-message TTime {
- enum TUnit {
- NANOSECONDS = 1;
- MICROSECONDS = 2;
- MILLISECONDS = 3;
- SECONDS = 4;
- MINUTES = 5;
- HOURS = 6;
- DAYS = 7;
- }
-
- optional uint64 Value = 1;
- optional TUnit Unit = 2;
-}
+package NYql.NProto;
+option java_package = "ru.yandex.yql.proto";
+
+message TTime {
+ enum TUnit {
+ NANOSECONDS = 1;
+ MICROSECONDS = 2;
+ MILLISECONDS = 3;
+ SECONDS = 4;
+ MINUTES = 5;
+ HOURS = 6;
+ DAYS = 7;
+ }
+
+ optional uint64 Value = 1;
+ optional TUnit Unit = 2;
+}
diff --git a/ydb/library/yql/protos/ya.make b/ydb/library/yql/protos/ya.make
index c9200505fb4..f81d765f1d0 100644
--- a/ydb/library/yql/protos/ya.make
+++ b/ydb/library/yql/protos/ya.make
@@ -3,9 +3,9 @@ PROTO_LIBRARY()
OWNER(g:yql)
SRCS(
- common.proto
+ common.proto
yql_mount.proto
- clickhouse.proto
+ clickhouse.proto
)
EXCLUDE_TAGS(GO_PROTO)
diff --git a/ydb/library/yql/providers/common/proto/gateways_config.proto b/ydb/library/yql/providers/common/proto/gateways_config.proto
index 8561fe25368..061c091a3ea 100644
--- a/ydb/library/yql/providers/common/proto/gateways_config.proto
+++ b/ydb/library/yql/providers/common/proto/gateways_config.proto
@@ -2,7 +2,7 @@ package NYql;
option java_package = "ru.yandex.yql.proto";
import "ydb/library/yql/protos/clickhouse.proto";
-
+
/////////////////////////////// common ///////////////////////////////
message TActivationByHour {
@@ -43,13 +43,13 @@ enum EHostScheme {
HS_HTTPS = 1;
};
-enum ETokenType {
- IAM = 0;
- OAUTH = 1;
- BLACKBOX = 2;
- CREDENTIALS = 3;
-};
-
+enum ETokenType {
+ IAM = 0;
+ OAUTH = 1;
+ BLACKBOX = 2;
+ CREDENTIALS = 3;
+};
+
/////////////////////////////// HTTP GATEWAY //////////////////////
message THttpGatewayConfig {
@@ -117,7 +117,7 @@ message TKikimrClusterConfig {
optional string ProxyUrl = 8;
optional string Location = 9;
optional bool IsFromMvp = 10;
- optional ETokenType TokenType = 11;
+ optional ETokenType TokenType = 11;
repeated TAttr Settings = 101;
}
@@ -176,7 +176,7 @@ message TClickHouseClusterConfig {
optional string CHTokenYavSecretId = 7;
optional string CHTokenYavVersionId = 8;
optional string CHTokenYavKey = 9;
- optional NYql.NProto.TClickHouseRunnerConfig Runner = 10;
+ optional NYql.NProto.TClickHouseRunnerConfig Runner = 10;
optional uint32 NativeHostPort = 11 [default = 9000];
optional bool NativeSecure = 12 [default = false];
optional string Id = 13;
@@ -366,31 +366,31 @@ message TFileStorageAdditionalConfig {
repeated string AllowedUrlPatterns = 1;
}
-/////////////////////////////// Postgresql /////////////////////////////
-
-message TPostgresqlClusterConfig {
- optional string Name = 1;
- optional string Cluster = 2;
- optional string PGtoken = 3;
-}
-
-message TPostgresqlGatewayConfig {
- repeated TPostgresqlClusterConfig ClusterMapping = 1;
-}
-
-/////////////////////////////// Mysql /////////////////////////////
-
-message TMysqlClusterConfig {
- optional string Name = 1;
- optional string Cluster = 2;
- optional string MysqlToken = 3;
-}
-
-message TMysqlGatewayConfig {
- repeated TMysqlClusterConfig ClusterMapping = 1;
-}
-
-
+/////////////////////////////// Postgresql /////////////////////////////
+
+message TPostgresqlClusterConfig {
+ optional string Name = 1;
+ optional string Cluster = 2;
+ optional string PGtoken = 3;
+}
+
+message TPostgresqlGatewayConfig {
+ repeated TPostgresqlClusterConfig ClusterMapping = 1;
+}
+
+/////////////////////////////// Mysql /////////////////////////////
+
+message TMysqlClusterConfig {
+ optional string Name = 1;
+ optional string Cluster = 2;
+ optional string MysqlToken = 3;
+}
+
+message TMysqlGatewayConfig {
+ repeated TMysqlClusterConfig ClusterMapping = 1;
+}
+
+
/////////////////////////////// Dq /////////////////////////////////////
message TDqGatewayConfig {
message TDefaultAutoByHourPercentage {
@@ -446,10 +446,10 @@ message TGatewaysConfig {
optional TSolomonGatewayConfig Solomon = 8;
optional TFileStorageAdditionalConfig Fs = 9;
optional TYqlCoreConfig YqlCore = 10;
- optional TPostgresqlGatewayConfig Postgresql = 11;
+ optional TPostgresqlGatewayConfig Postgresql = 11;
optional TSqlCoreConfig SqlCore = 12;
optional TDqGatewayConfig Dq = 13;
- optional TMysqlGatewayConfig Mysql = 14;
+ optional TMysqlGatewayConfig Mysql = 14;
optional TYdbGatewayConfig Ydb = 15;
optional TPqGatewayConfig Pq = 16;
optional TS3GatewayConfig S3 = 17;
diff --git a/ydb/library/yql/providers/common/proto/ya.make b/ydb/library/yql/providers/common/proto/ya.make
index 5b79b7dd12d..0fc53da0ea2 100644
--- a/ydb/library/yql/providers/common/proto/ya.make
+++ b/ydb/library/yql/providers/common/proto/ya.make
@@ -7,10 +7,10 @@ SRCS(
udf_resolver.proto
)
-PEERDIR(
+PEERDIR(
ydb/library/yql/protos
-)
-
+)
+
IF (NOT PY_PROTOS_FOR)
EXCLUDE_TAGS(GO_PROTO)
ENDIF()
diff --git a/ydb/library/yql/providers/dq/actors/worker_actor.cpp b/ydb/library/yql/providers/dq/actors/worker_actor.cpp
index f4503a60b2e..a3adfa186a9 100644
--- a/ydb/library/yql/providers/dq/actors/worker_actor.cpp
+++ b/ydb/library/yql/providers/dq/actors/worker_actor.cpp
@@ -14,7 +14,7 @@
#include <util/stream/file.h>
#include <util/string/split.h>
-#include <util/stream/output.h>
+#include <util/stream/output.h>
using namespace NYql::NDq;
using namespace NYql::NDq::NTaskRunnerActor;
@@ -22,7 +22,7 @@ using namespace NYql::NDqProto;
using namespace NActors;
namespace NYql::NDqs {
-
+
struct TInputChannel {
bool Finished{false};
bool Requested{false};
@@ -286,7 +286,7 @@ private:
YQL_LOG(DEBUG) << "TDqWorker::OnDqTask";
TFailureInjector::Reach("dq_task_failure", [] {::_exit(1); });
-
+
Y_VERIFY(!TaskRunnerActor);
Stat.StartCounter(Stat.GetCounterName("Actor", {{"ClusterName", RuntimeData ? RuntimeData->ClusterName : "local"}}, "ProcessInit"));
diff --git a/ydb/library/yql/providers/dq/api/grpc/api.proto b/ydb/library/yql/providers/dq/api/grpc/api.proto
index ef620dca4f4..d249323163c 100644
--- a/ydb/library/yql/providers/dq/api/grpc/api.proto
+++ b/ydb/library/yql/providers/dq/api/grpc/api.proto
@@ -16,8 +16,8 @@ service DqService {
rpc OperationStop (OperationStopRequest) returns (OperationStopResponse);
rpc QueryStatus (QueryStatusRequest) returns (QueryStatusResponse);
rpc JobStop (JobStopRequest) returns (JobStopResponse);
- rpc GetMaster (GetMasterRequest) returns (GetMasterResponse);
- rpc ConfigureFailureInjector (ConfigureFailureInjectorRequest) returns (ConfigureFailureInjectorResponse);
+ rpc GetMaster (GetMasterRequest) returns (GetMasterResponse);
+ rpc ConfigureFailureInjector (ConfigureFailureInjectorRequest) returns (ConfigureFailureInjectorResponse);
rpc IsReady (IsReadyRequest) returns (IsReadyResponse);
rpc Routes (RoutesRequest) returns (RoutesResponse);
rpc Benchmark (BenchmarkRequest) returns (BenchmarkResponse);
diff --git a/ydb/library/yql/providers/dq/api/protos/dqs.proto b/ydb/library/yql/providers/dq/api/protos/dqs.proto
index 09aecfcf923..f8bbe272809 100644
--- a/ydb/library/yql/providers/dq/api/protos/dqs.proto
+++ b/ydb/library/yql/providers/dq/api/protos/dqs.proto
@@ -244,22 +244,22 @@ message TDqTaskPrepareResult {
bool Result = 1;
repeated TMetric Metric = 2;
}
-
-message TEvGetMasterRequest {
- bool IsForwarded = 1;
-}
-
-message TEvGetMasterResponse {
- Yql.DqsProto.GetMasterResponse Response = 1;
-}
-
-message TEvConfigureFailureInjectorRequest {
- Yql.DqsProto.ConfigureFailureInjectorRequest Request = 1;
-}
-
-message TEvConfigureFailureInjectorRequestResponse {
- Yql.DqsProto.ConfigureFailureInjectorResponse Response = 1;
-}
+
+message TEvGetMasterRequest {
+ bool IsForwarded = 1;
+}
+
+message TEvGetMasterResponse {
+ Yql.DqsProto.GetMasterResponse Response = 1;
+}
+
+message TEvConfigureFailureInjectorRequest {
+ Yql.DqsProto.ConfigureFailureInjectorRequest Request = 1;
+}
+
+message TEvConfigureFailureInjectorRequestResponse {
+ Yql.DqsProto.ConfigureFailureInjectorResponse Response = 1;
+}
message TPingRequest {
diff --git a/ydb/library/yql/providers/dq/api/protos/service.proto b/ydb/library/yql/providers/dq/api/protos/service.proto
index b91351e5d12..d627dfa8b3b 100644
--- a/ydb/library/yql/providers/dq/api/protos/service.proto
+++ b/ydb/library/yql/providers/dq/api/protos/service.proto
@@ -299,24 +299,24 @@ message ClusterStatusResponse {
repeated TServiceNode ServiceNode = 10;
}
-
-message GetMasterRequest {
-}
-
-message GetMasterResponse {
- string Host = 1;
- uint64 Port = 2;
-}
-
-message ConfigureFailureInjectorRequest {
- string Name = 1;
+
+message GetMasterRequest {
+}
+
+message GetMasterResponse {
+ string Host = 1;
+ uint64 Port = 2;
+}
+
+message ConfigureFailureInjectorRequest {
+ string Name = 1;
uint64 Skip = 2;
uint64 CountOfFails = 5;
- uint32 NodeId = 4; // aka actor id
-}
-
-message ConfigureFailureInjectorResponse {
- bool success = 1;
+ uint32 NodeId = 4; // aka actor id
+}
+
+message ConfigureFailureInjectorResponse {
+ bool success = 1;
}
message IsReadyRequest {
diff --git a/ydb/library/yql/providers/dq/service/grpc_service.cpp b/ydb/library/yql/providers/dq/service/grpc_service.cpp
index 65a9e500d9d..683e193d0f7 100644
--- a/ydb/library/yql/providers/dq/service/grpc_service.cpp
+++ b/ydb/library/yql/providers/dq/service/grpc_service.cpp
@@ -684,42 +684,42 @@ namespace NYql::NDqs {
ActorSystem.Send(new IEventHandle(MakeWorkerManagerActorID(ActorSystem.NodeId), callbackId, ev.Release(), IEventHandle::FlagTrackDelivery));
});
-
- ADD_REQUEST(GetMaster, GetMasterRequest, GetMasterResponse, {
- auto* request = dynamic_cast<const Yql::DqsProto::GetMasterRequest*>(ctx->GetRequest());
- Y_VERIFY(!!request);
-
- auto requestEvent = MakeHolder<TEvGetMasterRequest>();
-
- auto callback = MakeHolder<TActorFutureCallback<TEvGetMasterResponse>>(
- [ctx] (TAutoPtr<TEventHandle<TEvGetMasterResponse>>& event) mutable {
- auto* result = google::protobuf::Arena::CreateMessage<Yql::DqsProto::GetMasterResponse>(ctx->GetArena());
- result->MergeFrom(event->Get()->Record.GetResponse());
- ctx->Reply(result, Ydb::StatusIds::SUCCESS);
- });
-
+
+ ADD_REQUEST(GetMaster, GetMasterRequest, GetMasterResponse, {
+ auto* request = dynamic_cast<const Yql::DqsProto::GetMasterRequest*>(ctx->GetRequest());
+ Y_VERIFY(!!request);
+
+ auto requestEvent = MakeHolder<TEvGetMasterRequest>();
+
+ auto callback = MakeHolder<TActorFutureCallback<TEvGetMasterResponse>>(
+ [ctx] (TAutoPtr<TEventHandle<TEvGetMasterResponse>>& event) mutable {
+ auto* result = google::protobuf::Arena::CreateMessage<Yql::DqsProto::GetMasterResponse>(ctx->GetArena());
+ result->MergeFrom(event->Get()->Record.GetResponse());
+ ctx->Reply(result, Ydb::StatusIds::SUCCESS);
+ });
+
TActorId callbackId = ActorSystem.Register(callback.Release());
-
+
ActorSystem.Send(new IEventHandle(MakeWorkerManagerActorID(ActorSystem.NodeId), callbackId, requestEvent.Release()));
- });
-
- ADD_REQUEST(ConfigureFailureInjector, ConfigureFailureInjectorRequest, ConfigureFailureInjectorResponse,{
- auto* request = dynamic_cast<const Yql::DqsProto::ConfigureFailureInjectorRequest*>(ctx->GetRequest());
- Y_VERIFY(!!request);
-
- auto requestEvent = MakeHolder<TEvConfigureFailureInjectorRequest>(*request);
-
- auto callback = MakeHolder<TActorFutureCallback<TEvConfigureFailureInjectorResponse>>(
- [ctx] (TAutoPtr<TEventHandle<TEvConfigureFailureInjectorResponse>>& event) mutable {
- auto* result = google::protobuf::Arena::CreateMessage<Yql::DqsProto::ConfigureFailureInjectorResponse>(ctx->GetArena());
- result->MergeFrom(event->Get()->Record.GetResponse());
- ctx->Reply(result, Ydb::StatusIds::SUCCESS);
- });
-
+ });
+
+ ADD_REQUEST(ConfigureFailureInjector, ConfigureFailureInjectorRequest, ConfigureFailureInjectorResponse,{
+ auto* request = dynamic_cast<const Yql::DqsProto::ConfigureFailureInjectorRequest*>(ctx->GetRequest());
+ Y_VERIFY(!!request);
+
+ auto requestEvent = MakeHolder<TEvConfigureFailureInjectorRequest>(*request);
+
+ auto callback = MakeHolder<TActorFutureCallback<TEvConfigureFailureInjectorResponse>>(
+ [ctx] (TAutoPtr<TEventHandle<TEvConfigureFailureInjectorResponse>>& event) mutable {
+ auto* result = google::protobuf::Arena::CreateMessage<Yql::DqsProto::ConfigureFailureInjectorResponse>(ctx->GetArena());
+ result->MergeFrom(event->Get()->Record.GetResponse());
+ ctx->Reply(result, Ydb::StatusIds::SUCCESS);
+ });
+
TActorId callbackId = ActorSystem.Register(callback.Release());
-
+
ActorSystem.Send(new IEventHandle(MakeWorkerManagerActorID(ActorSystem.NodeId), callbackId, requestEvent.Release()));
- });
+ });
ADD_REQUEST(IsReady, IsReadyRequest, IsReadyResponse, {
auto* request = dynamic_cast<const Yql::DqsProto::IsReadyRequest*>(ctx->GetRequest());
diff --git a/ydb/library/yql/providers/dq/service/service_node.cpp b/ydb/library/yql/providers/dq/service/service_node.cpp
index cda24ec6cf7..05be5d67051 100644
--- a/ydb/library/yql/providers/dq/service/service_node.cpp
+++ b/ydb/library/yql/providers/dq/service/service_node.cpp
@@ -140,7 +140,7 @@ namespace NYql {
.SetMaxGlobalRequestInFlight(50000)
.SetUseAuth(false)
.SetKeepAliveEnable(true)
- .SetKeepAliveIdleTimeoutTriggerSec(360)
+ .SetKeepAliveIdleTimeoutTriggerSec(360)
.SetKeepAliveMaxProbeCount(3)
.SetKeepAliveProbeIntervalSec(1)
.SetServerBuilderMutator([](grpc::ServerBuilder& builder) {
diff --git a/ydb/library/yql/providers/dq/worker_manager/interface/events.cpp b/ydb/library/yql/providers/dq/worker_manager/interface/events.cpp
index 9044dc47e30..5036817e519 100644
--- a/ydb/library/yql/providers/dq/worker_manager/interface/events.cpp
+++ b/ydb/library/yql/providers/dq/worker_manager/interface/events.cpp
@@ -105,10 +105,10 @@ namespace NYql::NDqs {
Record.SetIsForwarded(false);
}
- TEvConfigureFailureInjectorRequest::TEvConfigureFailureInjectorRequest(const Yql::DqsProto::ConfigureFailureInjectorRequest& request) {
- *Record.MutableRequest() = request;
- }
-
+ TEvConfigureFailureInjectorRequest::TEvConfigureFailureInjectorRequest(const Yql::DqsProto::ConfigureFailureInjectorRequest& request) {
+ *Record.MutableRequest() = request;
+ }
+
TEvQueryStatus::TEvQueryStatus(const Yql::DqsProto::QueryStatusRequest& request) {
*Record.MutableRequest() = request;
}
diff --git a/ydb/library/yql/providers/dq/worker_manager/interface/events.h b/ydb/library/yql/providers/dq/worker_manager/interface/events.h
index a2d0c9f5409..51d6454d2d7 100644
--- a/ydb/library/yql/providers/dq/worker_manager/interface/events.h
+++ b/ydb/library/yql/providers/dq/worker_manager/interface/events.h
@@ -127,31 +127,31 @@ using TDqResManEvents = NDq::TBaseDqResManEvents<NActors::TEvents::EEventSpace::
TEvRoutesResponse() = default;
};
- struct TEvGetMasterRequest
- : NActors::TEventPB<TEvGetMasterRequest, NYql::NDqProto::TEvGetMasterRequest, TDqResManEvents::ES_GET_MASTER> {
-
- TEvGetMasterRequest() = default;
- };
-
- struct TEvGetMasterResponse
- : NActors::TEventPB<TEvGetMasterResponse, NYql::NDqProto::TEvGetMasterResponse, TDqResManEvents::ES_GET_MASTER_RESPONSE> {
-
- TEvGetMasterResponse() = default;
- };
-
- struct TEvConfigureFailureInjectorRequest
- : NActors::TEventPB<TEvConfigureFailureInjectorRequest, NYql::NDqProto::TEvConfigureFailureInjectorRequest, TDqResManEvents::ES_CONFIGURE_FAILURE_INJECTOR> {
-
- TEvConfigureFailureInjectorRequest() = default;
- TEvConfigureFailureInjectorRequest(const Yql::DqsProto::ConfigureFailureInjectorRequest& request);
- };
-
- struct TEvConfigureFailureInjectorResponse
- : NActors::TEventPB<TEvConfigureFailureInjectorResponse, NYql::NDqProto::TEvConfigureFailureInjectorRequestResponse, TDqResManEvents::ES_CONFIGURE_FAILURE_INJECTOR_RESPONSE> {
-
- TEvConfigureFailureInjectorResponse() = default;
- };
-
+ struct TEvGetMasterRequest
+ : NActors::TEventPB<TEvGetMasterRequest, NYql::NDqProto::TEvGetMasterRequest, TDqResManEvents::ES_GET_MASTER> {
+
+ TEvGetMasterRequest() = default;
+ };
+
+ struct TEvGetMasterResponse
+ : NActors::TEventPB<TEvGetMasterResponse, NYql::NDqProto::TEvGetMasterResponse, TDqResManEvents::ES_GET_MASTER_RESPONSE> {
+
+ TEvGetMasterResponse() = default;
+ };
+
+ struct TEvConfigureFailureInjectorRequest
+ : NActors::TEventPB<TEvConfigureFailureInjectorRequest, NYql::NDqProto::TEvConfigureFailureInjectorRequest, TDqResManEvents::ES_CONFIGURE_FAILURE_INJECTOR> {
+
+ TEvConfigureFailureInjectorRequest() = default;
+ TEvConfigureFailureInjectorRequest(const Yql::DqsProto::ConfigureFailureInjectorRequest& request);
+ };
+
+ struct TEvConfigureFailureInjectorResponse
+ : NActors::TEventPB<TEvConfigureFailureInjectorResponse, NYql::NDqProto::TEvConfigureFailureInjectorRequestResponse, TDqResManEvents::ES_CONFIGURE_FAILURE_INJECTOR_RESPONSE> {
+
+ TEvConfigureFailureInjectorResponse() = default;
+ };
+
inline NActors::TActorId MakeWorkerManagerActorID(ui32 nodeId) {
char x[12] = {'r', 'e', 's', 'm', 'a', 'n'};
memcpy(x + 7, &nodeId, sizeof(ui32));
diff --git a/ydb/library/yql/providers/dq/worker_manager/local_worker_manager.cpp b/ydb/library/yql/providers/dq/worker_manager/local_worker_manager.cpp
index 5ecf0a4a852..adc63e9edc5 100644
--- a/ydb/library/yql/providers/dq/worker_manager/local_worker_manager.cpp
+++ b/ydb/library/yql/providers/dq/worker_manager/local_worker_manager.cpp
@@ -174,21 +174,21 @@ private:
}
void OnConfigureFailureInjector(TEvConfigureFailureInjectorRequest::TPtr& ev) {
- YQL_LOG(DEBUG) << "TEvConfigureFailureInjectorRequest ";
-
- auto& request = ev->Get()->Record.GetRequest();
- YQL_ENSURE(request.GetNodeId() == SelfId().NodeId(), "Wrong node id!");
-
+ YQL_LOG(DEBUG) << "TEvConfigureFailureInjectorRequest ";
+
+ auto& request = ev->Get()->Record.GetRequest();
+ YQL_ENSURE(request.GetNodeId() == SelfId().NodeId(), "Wrong node id!");
+
TFailureInjector::Set(request.GetName(), request.GetSkip(), request.GetCountOfFails());
YQL_LOG(DEBUG) << "Failure injector is configured " << request.GetName();
-
- auto response = MakeHolder<TEvConfigureFailureInjectorResponse>();
- auto* r = response->Record.MutableResponse();
- r->Setsuccess(true);
-
- Send(ev->Sender, response.Release());
- }
-
+
+ auto response = MakeHolder<TEvConfigureFailureInjectorResponse>();
+ auto* r = response->Record.MutableResponse();
+ r->Setsuccess(true);
+
+ Send(ev->Sender, response.Release());
+ }
+
void OnAllocateWorkersRequest(TEvAllocateWorkersRequest::TPtr& ev) {
ui64 resourceId;
if (ev->Get()->Record.GetResourceId()) {
diff --git a/ydb/library/yql/utils/failure_injector/failure_injector.cpp b/ydb/library/yql/utils/failure_injector/failure_injector.cpp
index db368a0aa67..d288d8f85cf 100644
--- a/ydb/library/yql/utils/failure_injector/failure_injector.cpp
+++ b/ydb/library/yql/utils/failure_injector/failure_injector.cpp
@@ -1,8 +1,8 @@
-#include "failure_injector.h"
+#include "failure_injector.h"
#include <ydb/library/yql/utils/log/log.h>
#include <ydb/library/yql/utils/yql_panic.h>
-
+
#include <util/generic/singleton.h>
namespace NYql {
@@ -14,16 +14,16 @@ void TFailureInjector::Activate() {
void TFailureInjector::Set(std::string_view name, ui64 skip, ui64 countOfFails) {
Singleton<TFailureInjector>()->SetImpl(name, skip, countOfFails);
}
-
+
void TFailureInjector::Reach(std::string_view name, std::function<void()> action) {
Singleton<TFailureInjector>()->ReachImpl(name, action);
}
-
+
void TFailureInjector::ActivateImpl() {
Enabled_.store(true);
YQL_LOG(DEBUG) << "TFailureInjector::Activate";
}
-
+
void TFailureInjector::ReachImpl(std::string_view name, std::function<void()> action) {
if (!Enabled_.load()) {
return;
@@ -37,16 +37,16 @@ void TFailureInjector::ReachImpl(std::string_view name, std::function<void()> ac
YQL_LOG(DEBUG) << "TFailureInjector::OnReach: " << name;
--failureSpec->CountOfFails;
action();
- }
- }
- }
+ }
+ }
+ }
}
-
+
void TFailureInjector::SetImpl(std::string_view name, ui64 skip, ui64 countOfFails) {
with_lock(Lock) {
YQL_ENSURE(countOfFails > 0, "failure " << name << ", 'countOfFails' must be positive");
FailureSpecs[TString{name}] = TFailureSpec{skip, countOfFails};
- }
+ }
}
-
+
} // NYql
diff --git a/ydb/library/yql/utils/failure_injector/failure_injector.h b/ydb/library/yql/utils/failure_injector/failure_injector.h
index ea2304f5d89..fa6e3d0375c 100644
--- a/ydb/library/yql/utils/failure_injector/failure_injector.h
+++ b/ydb/library/yql/utils/failure_injector/failure_injector.h
@@ -1,34 +1,34 @@
-#pragma once
-
-#include <util/generic/hash.h>
-#include <util/generic/string.h>
-#include <util/system/mutex.h>
+#pragma once
+
+#include <util/generic/hash.h>
+#include <util/generic/string.h>
+#include <util/system/mutex.h>
#include <string_view>
-
-namespace NYql {
-
+
+namespace NYql {
+
class TFailureInjector {
public:
static void Activate();
-
+
static void Set(std::string_view name, ui64 skip, ui64 countOfFails);
static void Reach(std::string_view name, std::function<void()> action);
-
+
private:
void ActivateImpl();
-
+
void SetImpl(std::string_view name, ui64 skip, ui64 countOfFails);
void ReachImpl(std::string_view name, std::function<void()> action);
-
+
struct TFailureSpec {
ui64 Skip;
ui64 CountOfFails;
};
-
+
std::atomic<bool> Enabled_ = false;
THashMap<TString, TFailureSpec> FailureSpecs;
TMutex Lock;
};
-
+
} // NYql
diff --git a/ydb/library/yql/utils/failure_injector/failure_injector_ut.cpp b/ydb/library/yql/utils/failure_injector/failure_injector_ut.cpp
index dd59d9283d7..33a03c22981 100644
--- a/ydb/library/yql/utils/failure_injector/failure_injector_ut.cpp
+++ b/ydb/library/yql/utils/failure_injector/failure_injector_ut.cpp
@@ -1,31 +1,31 @@
#include "failure_injector.h"
-
+
#include <ydb/library/yql/utils/log/log.h>
#include <library/cpp/testing/unittest/registar.h>
#include <util/datetime/base.h>
-#include <chrono>
-
-using namespace NYql;
-using namespace NYql::NLog;
-using namespace std::chrono;
-
-// do nothing
-void OnReach(std::atomic<bool>& called) {
- called.store(true);
-}
-
-void SetUpLogger() {
- TString logType = "cout";
- NLog::InitLogger(logType, false);
- NLog::EComponentHelpers::ForEach([](NLog::EComponent component) {
- NLog::YqlLogger().SetComponentLevel(component, ELevel::DEBUG);
- });
-}
-
-Y_UNIT_TEST_SUITE(TFailureInjectorTests) {
+#include <chrono>
+
+using namespace NYql;
+using namespace NYql::NLog;
+using namespace std::chrono;
+
+// do nothing
+void OnReach(std::atomic<bool>& called) {
+ called.store(true);
+}
+
+void SetUpLogger() {
+ TString logType = "cout";
+ NLog::InitLogger(logType, false);
+ NLog::EComponentHelpers::ForEach([](NLog::EComponent component) {
+ NLog::YqlLogger().SetComponentLevel(component, ELevel::DEBUG);
+ });
+}
+
+Y_UNIT_TEST_SUITE(TFailureInjectorTests) {
Y_UNIT_TEST(BasicFailureTest) {
SetUpLogger();
std::atomic<bool> called;
@@ -38,7 +38,7 @@ Y_UNIT_TEST_SUITE(TFailureInjectorTests) {
TFailureInjector::Reach("misc_failure", behavior);
UNIT_ASSERT_EQUAL(true, called.load());
}
-
+
Y_UNIT_TEST(CheckSkipTest) {
SetUpLogger();
std::atomic<bool> called;
@@ -46,13 +46,13 @@ Y_UNIT_TEST_SUITE(TFailureInjectorTests) {
auto behavior = [&called] { OnReach(called); };
TFailureInjector::Activate();
TFailureInjector::Set("misc_failure", 1, 1);
-
+
TFailureInjector::Reach("misc_failure", behavior);
UNIT_ASSERT_EQUAL(false, called.load());
TFailureInjector::Reach("misc_failure", behavior);
UNIT_ASSERT_EQUAL(true, called.load());
}
-
+
Y_UNIT_TEST(CheckFailCountTest) {
SetUpLogger();
int called = 0;
@@ -76,7 +76,7 @@ Y_UNIT_TEST_SUITE(TFailureInjectorTests) {
SetUpLogger();
TFailureInjector::Activate();
TFailureInjector::Set("misc_failure", 0, 1);
-
+
auto start = system_clock::now();
TFailureInjector::Reach("misc_failure", [] { ::Sleep(TDuration::Seconds(5)); });
auto finish = system_clock::now();
diff --git a/ydb/library/yql/utils/failure_injector/ut/ya.make b/ydb/library/yql/utils/failure_injector/ut/ya.make
index 3bf651a4f42..5d7792820de 100644
--- a/ydb/library/yql/utils/failure_injector/ut/ya.make
+++ b/ydb/library/yql/utils/failure_injector/ut/ya.make
@@ -1,17 +1,17 @@
-OWNER(g:yql)
-
-IF (OS_LINUX OR OS_DARWIN)
+OWNER(g:yql)
+
+IF (OS_LINUX OR OS_DARWIN)
UNITTEST_FOR(ydb/library/yql/utils/failure_injector)
-
+
SIZE(SMALL)
-
+
SRCS(
failure_injector_ut.cpp
)
-
+
PEERDIR(
ydb/library/yql/utils/log
)
-
+
END()
-ENDIF()
+ENDIF()
diff --git a/ydb/library/yql/utils/failure_injector/ya.make b/ydb/library/yql/utils/failure_injector/ya.make
index 6f55ad68512..23fbe489897 100644
--- a/ydb/library/yql/utils/failure_injector/ya.make
+++ b/ydb/library/yql/utils/failure_injector/ya.make
@@ -1,17 +1,17 @@
-LIBRARY()
-
+LIBRARY()
+
OWNER(g:yql)
-
-SRCS(
- failure_injector.cpp
-)
-
-PEERDIR(
+
+SRCS(
+ failure_injector.cpp
+)
+
+PEERDIR(
ydb/library/yql/utils
ydb/library/yql/utils/log
-)
-
-END()
+)
+
+END()
RECURSE_FOR_TESTS(
ut