aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordinmukhammed <dinmukhammed@yandex-team.ru>2022-02-08 18:41:02 +0300
committerdinmukhammed <dinmukhammed@yandex-team.ru>2022-02-08 18:41:02 +0300
commitee2eb24b50fd4b9ec4a1af87614303850a2b90d3 (patch)
tree57a37b221e33e59ee685c1da609951a391a27693
parenta3ac8a71f16e0db7d50d5b1235466ff754e0d228 (diff)
downloadydb-ee2eb24b50fd4b9ec4a1af87614303850a2b90d3.tar.gz
YQ-830 Using ActorSystem for YQ logging
Use actorSystem for logging ref:9fa574efac22c0e7d1eed08d4083566fac881387
-rw-r--r--ydb/core/yq/libs/actors/pending_fetcher.cpp5
-rw-r--r--ydb/core/yq/libs/actors/run_actor.cpp4
-rw-r--r--ydb/core/yq/libs/init/init.cpp2
-rw-r--r--ydb/library/yql/utils/actor_log/log.cpp17
-rw-r--r--ydb/library/yql/utils/actor_log/log.h25
5 files changed, 37 insertions, 16 deletions
diff --git a/ydb/core/yq/libs/actors/pending_fetcher.cpp b/ydb/core/yq/libs/actors/pending_fetcher.cpp
index 6193fa3d44..0095963c8f 100644
--- a/ydb/core/yq/libs/actors/pending_fetcher.cpp
+++ b/ydb/core/yq/libs/actors/pending_fetcher.cpp
@@ -154,6 +154,7 @@ public:
Send(SelfId(), new NActors::TEvents::TEvWakeup());
LOG_I("STARTED");
+ LogScope.ConstructInPlace(NActors::TActivationContext::ActorSystem(), NKikimrServices::YQL_PROXY, Guid);
}
private:
@@ -263,7 +264,7 @@ private:
ClientCounters);
NDq::SetYqlLogLevels(NActors::NLog::PRI_TRACE);
- Register(new NDq::TLogWrapReceive(CreateRunActor(ServiceCounters, std::move(params)), Guid));
+ Register(CreateRunActor(ServiceCounters, std::move(params)));
}
STRICT_STFUNC(
@@ -302,6 +303,8 @@ private:
const TString Guid; //OwnerId
const NMonitoring::TDynamicCounterPtr ClientCounters;
TPrivateClient Client;
+
+ TMaybe<NYql::NLog::TScopedBackend<NYql::NDq::TYqlLogScope>> LogScope;
};
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp
index cb14422d2d..5549f8f254 100644
--- a/ydb/core/yq/libs/actors/run_actor.cpp
+++ b/ydb/core/yq/libs/actors/run_actor.cpp
@@ -874,11 +874,9 @@ private:
columns.emplace_back(column);
}
resultId = NActors::TActivationContext::Register(
- new NDq::TLogWrapReceive(
CreateResultWriter(
Params.Driver, ExecuterId, dqGraphParams.GetResultType(), Params.PrivateApiConfig,
- writerResultId, columns, dqGraphParams.GetSession(), Params.Deadline, Params.ClientCounters)
- , dqGraphParams.GetSession()));
+ writerResultId, columns, dqGraphParams.GetSession(), Params.Deadline, Params.ClientCounters));
} else {
LOG_D("ResultWriter was NOT CREATED since ResultType is empty");
resultId = ExecuterId;
diff --git a/ydb/core/yq/libs/init/init.cpp b/ydb/core/yq/libs/init/init.cpp
index 23f748fd68..d66ac202bf 100644
--- a/ydb/core/yq/libs/init/init.cpp
+++ b/ydb/core/yq/libs/init/init.cpp
@@ -209,7 +209,7 @@ void Init(
lwmOptions.MkqlInitialMemoryLimit = mkqlInitialMemoryLimit;
lwmOptions.MkqlTotalMemoryLimit = mkqlTotalMemoryLimit;
lwmOptions.MkqlMinAllocSize = mkqlAllocSize;
- auto resman = new NYql::NDq::TLogWrapReceive(NYql::NDqs::CreateLocalWorkerManager(lwmOptions), "");
+ auto resman = NYql::NDqs::CreateLocalWorkerManager(lwmOptions);
actorRegistrator(NYql::NDqs::MakeWorkerManagerActorID(nodeId), resman);
}
diff --git a/ydb/library/yql/utils/actor_log/log.cpp b/ydb/library/yql/utils/actor_log/log.cpp
index a603b4ca99..3b3002208c 100644
--- a/ydb/library/yql/utils/actor_log/log.cpp
+++ b/ydb/library/yql/utils/actor_log/log.cpp
@@ -57,13 +57,16 @@ NYql::NLog::ELevel GetYqlLogLevel(NActors::NLog::EPriority priority) {
} // namespace
void TActorYqlLogBackend::WriteData(const TLogRecord& rec) {
- if (TraceId.empty()) {
- LOG_LOG(ActorCtx, GetActorLogPriority(rec.Priority), Component,
- "SessionId: %s %.*s", SessionId.c_str(), (int)rec.Len, rec.Data);
- } else {
- LOG_LOG(ActorCtx, GetActorLogPriority(rec.Priority), Component,
- "TraceId: %s, SessionId: %s %.*s", TraceId.c_str(), SessionId.c_str(), (int)rec.Len, rec.Data);
- }
+ std::visit([&](const auto* actorCtxOrSystem){
+ Y_VERIFY(actorCtxOrSystem);
+ if (TraceId.empty()) {
+ LOG_LOG(*actorCtxOrSystem, GetActorLogPriority(rec.Priority), Component,
+ "SessionId: %s %.*s", SessionId.c_str(), (int)rec.Len, rec.Data);
+ } else {
+ LOG_LOG(*actorCtxOrSystem, GetActorLogPriority(rec.Priority), Component,
+ "TraceId: %s, SessionId: %s %.*s", TraceId.c_str(), SessionId.c_str(), (int)rec.Len, rec.Data);
+ }
+ }, ActorCtxOrSystem);
}
void SetYqlLogLevels(const NActors::NLog::EPriority& priority) {
diff --git a/ydb/library/yql/utils/actor_log/log.h b/ydb/library/yql/utils/actor_log/log.h
index 17bf5eafee..08d525d28b 100644
--- a/ydb/library/yql/utils/actor_log/log.h
+++ b/ydb/library/yql/utils/actor_log/log.h
@@ -11,8 +11,22 @@ namespace NDq {
class TActorYqlLogBackend : public TLogBackend {
public:
- TActorYqlLogBackend(const NActors::TActorContext &actorCtx, int component, const TString& sessionId, const TString& traceId)
- : ActorCtx(actorCtx)
+ TActorYqlLogBackend(
+ const NActors::TActorContext& actorCtx,
+ int component,
+ const TString& sessionId,
+ const TString& traceId)
+ : ActorCtxOrSystem(&actorCtx)
+ , Component(component)
+ , SessionId(sessionId)
+ , TraceId(traceId) {}
+
+ TActorYqlLogBackend(
+ const NActors::TActorSystem* actorSystem,
+ int component,
+ const TString& sessionId,
+ const TString& traceId)
+ : ActorCtxOrSystem(actorSystem)
, Component(component)
, SessionId(sessionId)
, TraceId(traceId) {}
@@ -21,7 +35,7 @@ public:
void ReopenLog() override {}
private:
- const NActors::TActorContext& ActorCtx;
+ std::variant<const NActors::TActorContext*, const NActors::TActorSystem*> ActorCtxOrSystem;
int Component;
TString SessionId;
TString TraceId;
@@ -29,8 +43,11 @@ private:
class TYqlLogScope : public NYql::NLog::TScopedBackend<TActorYqlLogBackend> {
public:
- TYqlLogScope(const NActors::TActorContext &actorCtx, int component, const TString& sessionId, const TString& traceId = "")
+ TYqlLogScope(const NActors::TActorContext& actorCtx, int component, const TString& sessionId, const TString& traceId = "")
: NYql::NLog::TScopedBackend<TActorYqlLogBackend>(actorCtx, component, sessionId, traceId) {};
+
+ TYqlLogScope(const NActors::TActorSystem* actorSystem, int component, const TString& sessionId, const TString& traceId = "")
+ : NYql::NLog::TScopedBackend<TActorYqlLogBackend>(actorSystem, component, sessionId, traceId) {};
};
class TLogWrapReceive: public NActors::TDecorator {