Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
da40f72
Get rid of pedantic check (#3342)
CyberROFL Apr 1, 2024
7050857
Send unsubcribe in viewer (#3371)
kruall Apr 2, 2024
d547c4c
Reduce severity of some health check issues (#3067) (#3176)
shmel1k Apr 2, 2024
2631f5b
fix bug: limit retries in starting state (#3398)
gridnevvvit Apr 3, 2024
c301eca
disable db metadata cache (#3444)
vporyadke Apr 3, 2024
9acd579
Decrease default value of SharedCacheSizeMb to 1024 (#3421)
nshestakov Apr 5, 2024
b6a279d
Kafka balance fixes to 24 1 (#3537)
niksaveliev Apr 8, 2024
b7e863d
Update github.com/ydb-platform/fq-connector-go image to v0.1.2 (#1574)
vitalyisaev2 Feb 5, 2024
dd11a80
fix coverity issues: evaluation order violations (#1556)
uzhastik Feb 5, 2024
57656eb
YQ-2734 added retries for internal queries (#1457)
GrigoriyPA Feb 6, 2024
f03fba0
Update github.com/ydb-platform/fq-connector-go to v0.1.3 (#1651)
vitalyisaev2 Feb 7, 2024
58465ac
YQ-2634: S3 runtime file listing (#925)
MetaGigachad Feb 8, 2024
567ea76
Fix win build (#1760)
Hor911 Feb 9, 2024
6dfda2f
Added 'FQ_CONNECTOR_ENDPOINT' env variable to `local_ydb` (#1769)
vitalyisaev2 Feb 9, 2024
90f3743
Break deps from core/grpc_services to core/fq/libs/actors (#1781)
Hor911 Feb 10, 2024
3edaf8c
Use six's 'urllib.parse' in 'PY23_LIBRARY' modules (#1833)
vitalyisaev2 Feb 12, 2024
9e07e1d
Fixed missing PEERDIR in ydb/public/tools/lib/cmds (#1856)
vitalyisaev2 Feb 12, 2024
2470db5
YQ-2417 show ast in case of compilation error (#1353)
GrigoriyPA Feb 13, 2024
f2841f1
Added missing settings to `query_service_config` in `local_ydb` (#2021)
vitalyisaev2 Feb 16, 2024
b93b2b7
YQ-2819 fix forget operation timeout (#1655)
GrigoriyPA Feb 19, 2024
35c7dad
Update github.com/ydb-platform/fq-connector-go to 0.2.0 (#2053)
vitalyisaev2 Feb 19, 2024
aeb799f
YQ-2735 Hopping on analytic (v2) (#1029)
kardymonds Feb 20, 2024
101d0bf
YQ-2884 fixed fq cancel operation race (#2055)
GrigoriyPA Feb 20, 2024
7c0606d
Do not aggregate stats inside single task (#2082)
Hor911 Feb 20, 2024
01611bb
Add `SslCaCrt` field to `TGenericConnectorConfig` (#2102)
vitalyisaev2 Feb 20, 2024
c1fc3fe
YQ-2883 fix retries for recover point COMPLETING (#2107)
GrigoriyPA Feb 20, 2024
d4f53d7
Query service execute script parameters (#2193)
uzhastik Feb 22, 2024
c9d1466
partitioning has been fixed YQ-2789 (#1538)
dorooleg Feb 23, 2024
9d38986
parquet DateTime insert has been supported YQ-2570 (#1410)
dorooleg Feb 26, 2024
79abfb0
Handle NOT Ready GetOperationResponse for Scripts (#1479)
Hor911 Feb 26, 2024
a19791f
Dynamic listing mass fix (#1913)
Hor911 Feb 26, 2024
6057cd3
REST Monitoring API Support for CPU Load Control (#2229)
Hor911 Feb 26, 2024
ff0b33d
Support YDB in YQL Generic Provider (YQv1) (#2300)
vitalyisaev2 Mar 1, 2024
f6cbc40
Add MySQL and MS SQL Server to the list of external data sources (#2407)
vitalyisaev2 Mar 4, 2024
5c3dd40
YQ-2885 fix issue script execution is canceled (#2106)
GrigoriyPA Mar 4, 2024
17fca4f
YQ-2898 fix query failed with unknown uncommitted upload issue (#2240)
GrigoriyPA Mar 4, 2024
33e7429
New methods to provide IAM-tokens when accessing managed YDB from `dq…
vitalyisaev2 Mar 4, 2024
d78b9ca
Add docs for YDB Federated Query + Connector deployment (#1895)
vitalyisaev2 Mar 6, 2024
32cc787
YQ-2915 DdResolver / Pass errors to Response (#2439)
kardymonds Mar 6, 2024
cd65d33
Use per tenant load config (#2501)
Hor911 Mar 6, 2024
5ee3175
queries with pagination have been speed up (#2577)
dorooleg Mar 8, 2024
99fd3ec
Hint-based statistics (#2647)
Hor911 Mar 12, 2024
38ea237
Support Managed YDB as an external data source for YDB (#2662)
vitalyisaev2 Mar 12, 2024
aa50bfd
Update github.com/ydb-platform/fq-connector-go to 0.2.5 (#2424)
vitalyisaev2 Mar 13, 2024
26a482e
Relax configuration requirements when starting `DatabaseAsyncResolver…
vitalyisaev2 Mar 13, 2024
32ad702
Fix test builds (#2691)
Hor911 Mar 13, 2024
b80a8b3
YQ-2957 fix error in s3 stream read actor (#2702)
GrigoriyPA Mar 13, 2024
2b769d5
No retry for REST requests and per database sensors (#2768)
Hor911 Mar 14, 2024
e1c4b69
remove unused import from proto (#2985)
uzhastik Mar 20, 2024
b5b3d9d
Fix connection error handling in database resolver (#2990)
vitalyisaev2 Mar 20, 2024
db3414b
Fix access to private backets (use correct auth info) in Dynamic List…
Hor911 Mar 24, 2024
9c2b299
Extra sensors and logs (#3107)
Hor911 Mar 24, 2024
dd00498
Restore in-progress stat (in not Ready replies) (#3111)
Hor911 Mar 25, 2024
e0eb05b
Splitting of `ydb/library/yql/providers/generic/connector/tests` into…
vitalyisaev2 Mar 27, 2024
e149548
Run Lister in User Pool and avoid deadlocks (#3333)
Hor911 Apr 1, 2024
59e98f1
Missed peerdir (#3364)
Hor911 Apr 2, 2024
a095b9e
Disable style tests in ydb/library/yql/providers/generic/connector/te…
vitalyisaev2 Apr 2, 2024
99caba2
YDB FQ: basic integration tests for YDB as an external data source (#…
vitalyisaev2 Apr 2, 2024
add75cc
Remove permanently failing tests `ydb/core/kqp/ut/federated_query/gen…
vitalyisaev2 Apr 4, 2024
dec9e00
YQ-2899 fix url escaping (#3439)
GrigoriyPA Apr 4, 2024
4ffba3f
Method to reply, finish stream and rpc actor. (#1429)
dcherednik Jan 31, 2024
29ad95f
YQ-3035: fix cherry-picking troubles
EgorkaZ Apr 8, 2024
e9829a9
Fix for unequal nulls bitmap size YQL-17564 (#1570)
aakulaga-ydb Feb 5, 2024
7052940
Fix TzTimestamp wrong encoding (YQL-17920) (#2222)
aakulaga-ydb Feb 25, 2024
a4ffac0
Fix nulls bitmap size when number of columns is more than 64 (YQL-179…
aakulaga-ydb Mar 5, 2024
06c23f1
KqpRun add results into clear execution (#1661)
GrigoriyPA Feb 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 5 additions & 3 deletions .github/config/muted_ya.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@ ydb/core/quoter/ut QuoterWithKesusTest.PrefetchCoefficient
ydb/core/kafka_proxy/ut KafkaProtocol.CreatePartitionsScenario
ydb/core/kafka_proxy/ut KafkaProtocol.ProduceScenario
ydb/core/kqp/provider/ut KikimrIcGateway.TestLoadBasicSecretValueFromExternalDataSourceMetadata
ydb/core/kqp/ut/federated_query/generic *
ydb/core/kqp/ut/olap *
ydb/core/kqp/ut/olap KqpOlap.IndexesActualization
ydb/core/kqp/ut/olap KqpOlap.BlobsSharing*
ydb/core/kqp/ut/olap KqpOlap.ScanQueryOltpAndOlap
ydb/core/kqp/ut/olap KqpOlap.StatsUsageWithTTL
ydb/core/kqp/ut/olap KqpOlap.YqlScriptOltpAndOlap
ydb/core/kqp/ut/pg KqpPg.CreateIndex
ydb/core/kqp/ut/query KqpLimits.QueryReplySize
ydb/core/kqp/ut/query KqpQuery.QueryTimeout
Expand All @@ -29,7 +32,6 @@ ydb/core/kqp/ut/scheme KqpScheme.QueryWithAlter
ydb/core/kqp/ut/scheme [44/50]*
ydb/core/kqp/ut/service KqpQueryService.ExecuteQueryPgTableSelect
ydb/core/kqp/ut/service KqpQueryService.QueryOnClosedSession
ydb/core/kqp/ut/service KqpQueryServiceScripts.ForgetScriptExecutionRace
ydb/core/kqp/ut/service KqpService.CloseSessionsWithLoad
ydb/core/kqp/ut/service [38/50]*
ydb/core/tx/columnshard/ut_schema TColumnShardTestSchema.ForgetAfterFail
Expand Down
1 change: 1 addition & 0 deletions ydb/core/base/events.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ struct TKikimrEvents : TEvents {
ES_GRAPH,
ES_REPLICATION_SERVICE,
ES_CHANGE_EXCHANGE,
ES_S3_FILE_QUEUE,
};
};

Expand Down
1 change: 1 addition & 0 deletions ydb/core/driver_lib/run/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ union TBasicKikimrServicesMask {

TBasicKikimrServicesMask() {
EnableAll();
EnableDatabaseMetadataCache = false;
}
};

Expand Down
11 changes: 6 additions & 5 deletions ydb/core/external_sources/object_storage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,20 @@ struct TObjectStorageExternalSource : public IExternalSource {
const NKikimrExternalSources::TGeneral& general) const override {
NKikimrExternalSources::TObjectStorage objectStorage;
for (const auto& [key, value]: general.attributes()) {
if (key == "format") {
auto lowerKey = to_lower(key);
if (lowerKey == "format") {
objectStorage.set_format(value);
} else if (key == "compression") {
} else if (lowerKey == "compression") {
objectStorage.set_compression(value);
} else if (key.StartsWith("projection.") || key == "storage.location.template") {
objectStorage.mutable_projection()->insert({key, value});
} else if (key == "partitioned_by") {
} else if (lowerKey == "partitioned_by") {
auto json = NSc::TValue::FromJsonThrow(value);
for (const auto& column: json.GetArray()) {
*objectStorage.add_partitioned_by() = column;
}
} else if (IsIn({"file_pattern"sv, "data.interval.unit"sv, "data.datetime.format_name"sv, "data.datetime.format"sv, "data.timestamp.format_name"sv, "data.timestamp.format"sv, "csv_delimiter"sv}, key)) {
objectStorage.mutable_format_setting()->insert({key, value});
} else if (IsIn({"file_pattern"sv, "data.interval.unit"sv, "data.datetime.format_name"sv, "data.datetime.format"sv, "data.timestamp.format_name"sv, "data.timestamp.format"sv, "csv_delimiter"sv}, lowerKey)) {
objectStorage.mutable_format_setting()->insert({lowerKey, value});
} else {
ythrow TExternalSourceException() << "Unknown attribute " << key;
}
Expand Down
15 changes: 6 additions & 9 deletions ydb/core/fq/libs/actors/clusters_from_connections.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -216,17 +216,14 @@ void AddClustersFromConnections(
switch (conn.content().setting().connection_case()) {
case FederatedQuery::ConnectionSetting::kYdbDatabase: {
const auto& db = conn.content().setting().ydb_database();
auto* clusterCfg = gatewaysConfig.MutableYdb()->AddClusterMapping();
auto* clusterCfg = gatewaysConfig.MutableGeneric()->AddClusterMapping();
clusterCfg->SetKind(NYql::NConnector::NApi::EDataSourceKind::YDB);
clusterCfg->SetProtocol(NYql::NConnector::NApi::EProtocol::NATIVE);
clusterCfg->SetName(connectionName);
clusterCfg->SetId(db.database_id());
if (db.database())
clusterCfg->SetDatabase(db.database());
if (db.endpoint())
clusterCfg->SetEndpoint(db.endpoint());
clusterCfg->SetSecure(db.secure());
clusterCfg->SetAddBearerToToken(common.GetUseBearerForYdb());
clusterCfg->SetDatabaseId(db.database_id());
clusterCfg->SetUseSsl(!common.GetDisableSslForGenericDataSources());
FillClusterAuth(*clusterCfg, db.auth(), authToken, accountIdSignatures);
clusters.emplace(connectionName, YdbProviderName);
clusters.emplace(connectionName, GenericProviderName);
break;
}
case FederatedQuery::ConnectionSetting::kClickhouseCluster: {
Expand Down
104 changes: 55 additions & 49 deletions ydb/core/fq/libs/actors/database_resolver.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "database_resolver.h"

#include <util/string/split.h>
#include <ydb/core/fq/libs/common/cache.h>
#include <ydb/core/fq/libs/config/protos/issue_id.pb.h>
#include <ydb/core/fq/libs/events/events.h>
Expand Down Expand Up @@ -98,8 +99,6 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
}

void DieOnTtl() {
Success = false;

auto errorMsg = TStringBuilder() << "Could not resolve database ids: ";
bool firstUnresolvedDbId = true;
for (const auto& [_, params]: Requests) {
Expand All @@ -112,46 +111,41 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
}
errorMsg << " in " << ResolvingTtl << " seconds.";
LOG_E("ResponseProcessor::DieOnTtl: errorMsg=" << errorMsg);

SendResolvedEndpointsAndDie(errorMsg);
Issues.AddIssue(errorMsg);
SendResolvedEndpointsAndDie();
}

void SendResolvedEndpointsAndDie(const TString& errorMsg) {
NYql::TIssues issues;
if (errorMsg) {
issues.AddIssue(errorMsg);
}

void SendResolvedEndpointsAndDie() {
Send(Sender,
new TEvents::TEvEndpointResponse(
NYql::TDatabaseResolverResponse(std::move(DatabaseId2Description), Success, issues)));
NYql::TDatabaseResolverResponse(std::move(DatabaseId2Description), Issues.Empty(), Issues)));
PassAway();
LOG_D("ResponseProcessor::SendResolvedEndpointsAndDie: passed away");
}

void Handle(NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr& ev)
{
TString errorMessage;
TMaybe<TDatabaseDescription> result;
const auto requestIter = Requests.find(ev->Get()->Request);
HandledIds++;

LOG_T("ResponseProcessor::Handle(HttpIncomingResponse): got MDB API response: code=" << ev->Get()->Response->Status);
LOG_T("ResponseProcessor::Handle(HttpIncomingResponse): got API response: code=" << ev->Get()->Response->Status);

try {
HandleResponse(ev, requestIter, errorMessage, result);
HandleResponse(ev, requestIter, result);
} catch (...) {
const TString msg = TStringBuilder() << "error while response processing, params "
<< ((requestIter != Requests.end()) ? requestIter->second.ToDebugString() : TString{"unknown"})
<< ", details: " << CurrentExceptionMessage();
LOG_E("ResponseProccessor::Handle(TEvHttpIncomingResponse): " << msg);
Issues.AddIssue(msg);
}

LOG_T("ResponseProcessor::Handle(HttpIncomingResponse): progress: "
<< DatabaseId2Description.size() << " of " << Requests.size() << " requests are done");

if (HandledIds == Requests.size()) {
SendResolvedEndpointsAndDie(errorMessage);
SendResolvedEndpointsAndDie();
}
}

Expand All @@ -160,18 +154,25 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
void HandleResponse(
NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr& ev,
const TRequestMap::const_iterator& requestIter,
TString& errorMessage,
TMaybe<TDatabaseDescription>& result)
{
if (ev->Get()->Error.empty() && (ev->Get()->Response && ev->Get()->Response->Status == "200")) {
errorMessage = HandleSuccessfulResponse(ev, requestIter, result);
{
TString errorMessage;

if (requestIter == Requests.end()) {
// Requests are guaranteed to be kept in within TResponseProcessor until the response arrives.
// If there is no appropriate request, it's a fatal error.
errorMessage = "Invariant violation: unknown request";
} else {
errorMessage = HandleFailedResponse(ev, requestIter);
if (ev->Get()->Error.empty() && (ev->Get()->Response && ev->Get()->Response->Status == "200")) {
errorMessage = HandleSuccessfulResponse(ev, *requestIter, result);
} else {
errorMessage = HandleFailedResponse(ev, *requestIter);
}
}

if (errorMessage) {
Issues.AddIssue(errorMessage);
LOG_E("ResponseProcessor::Handle(HttpIncomingResponse): error=" << errorMessage);
Success = false;
} else {
const auto& params = requestIter->second;
auto key = std::make_tuple(params.Id, params.DatabaseType, params.DatabaseAuth);
Expand All @@ -191,17 +192,13 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>

TString HandleSuccessfulResponse(
NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr& ev,
const TRequestMap::const_iterator& requestIter,
const TRequestMap::value_type& requestWithParams,
TMaybe<TDatabaseDescription>& result
) {
if (requestIter == Requests.end()) {
return "unknown request";
}

NJson::TJsonReaderConfig jsonConfig;
NJson::TJsonValue databaseInfo;

const auto& params = requestIter->second;
const auto& params = requestWithParams.second;
const bool parseJsonOk = NJson::ReadJsonTree(ev->Get()->Response->Body, &jsonConfig, &databaseInfo);
TParsers::const_iterator parserIt;
if (parseJsonOk && (parserIt = Parsers.find(params.DatabaseType)) != Parsers.end()) {
Expand Down Expand Up @@ -232,37 +229,37 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>

TString HandleFailedResponse(
NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr& ev,
const TRequestMap::const_iterator& requestIter
const TRequestMap::value_type& requestWithParams
) const {
if (requestIter == Requests.end()) {
return "unknown request";
}
auto sb = TStringBuilder()
<< "Error while trying to resolve managed " << ToString(requestWithParams.second.DatabaseType)
<< " database with id " << requestWithParams.second.Id << " via HTTP request to"
<< ": endpoint '" << requestWithParams.first->Host << "'"
<< ", url '" << requestWithParams.first->URL << "'"
<< ": ";

// Handle network error (when the response is empty)
if (!ev->Get()->Response) {
return sb << ev->Get()->Error;
}

// Handle unauthenticated error
const auto& status = ev->Get()->Response->Status;

if (status == "403") {
return TStringBuilder() << "You have no permission to resolve database id into database endpoint. " + DetailedPermissionsError(requestIter->second);
return sb << "you have no permission to resolve database id into database endpoint." + DetailedPermissionsError(requestWithParams.second);
}

auto errorMessage = ev->Get()->Error;

const TString error = TStringBuilder()
<< "Cannot resolve database id (status = " << status << "). "
<< "Response body from " << ev->Get()->Request->URL << ": " << (ev->Get()->Response ? ev->Get()->Response->Body : "empty");
if (!errorMessage.empty()) {
errorMessage += '\n';
}
errorMessage += error;

return errorMessage;
// Unexpected error. Add response body for debug
return sb << Endl
<< "Status: " << status << Endl
<< "Response body: " << ev->Get()->Response->Body;
}


TString DetailedPermissionsError(const TResolveParams& params) const {

if (params.DatabaseType == EDatabaseType::ClickHouse || params.DatabaseType == EDatabaseType::PostgreSQL) {
auto mdbTypeStr = NYql::DatabaseTypeLowercase(params.DatabaseType);
return TStringBuilder() << "Please check that your service account has role " <<
return TStringBuilder() << " Please check that your service account has role " <<
"`managed-" << mdbTypeStr << ".viewer`.";
}
return {};
Expand All @@ -275,7 +272,7 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
const NYql::IMdbEndpointGenerator::TPtr MdbEndpointGenerator;
TDatabaseResolverResponse::TDatabaseDescriptionMap DatabaseId2Description;
size_t HandledIds = 0;
bool Success = true;
NYql::TIssues Issues;
const TParsers& Parsers;
TDuration ResolvingTtl = TDuration::Seconds(30); //TODO: Use cfg
};
Expand Down Expand Up @@ -312,7 +309,12 @@ class TDatabaseResolver: public TActor<TDatabaseResolver>
}

Y_ENSURE(endpoint);
return TDatabaseDescription{endpoint, "", 0, database, secure};

TVector<TString> split = StringSplitter(endpoint).Split(':');

Y_ENSURE(split.size() == 2);

return TDatabaseDescription{endpoint, split[0], FromString(split[1]), database, secure};
};
Parsers[NYql::EDatabaseType::Ydb] = ydbParser;
Parsers[NYql::EDatabaseType::DataStreams] = [ydbParser](
Expand All @@ -327,9 +329,11 @@ class TDatabaseResolver: public TActor<TDatabaseResolver>
if (!isDedicatedDb && ret.Endpoint.StartsWith("ydb.")) {
// Replace "ydb." -> "yds."
ret.Endpoint[2] = 's';
ret.Host[2] = 's';
}
if (isDedicatedDb) {
ret.Endpoint = "u-" + ret.Endpoint;
ret.Host = "u-" + ret.Host;
}
return ret;
};
Expand Down Expand Up @@ -486,6 +490,7 @@ class TDatabaseResolver: public TActor<TDatabaseResolver>
try {
TString url;
if (IsIn({NYql::EDatabaseType::Ydb, NYql::EDatabaseType::DataStreams }, databaseType)) {
YQL_ENSURE(ev->Get()->YdbMvpEndpoint.Size() > 0, "empty YDB MVP Endpoint");
url = TUrlBuilder(ev->Get()->YdbMvpEndpoint + "/database")
.AddUrlParam("databaseId", databaseId)
.Build();
Expand All @@ -497,7 +502,6 @@ class TDatabaseResolver: public TActor<TDatabaseResolver>
.AddPathComponent("hosts")
.Build();
}
LOG_D("ResponseProccessor::Handle(EndpointRequest): start GET request: " << url);

NHttp::THttpOutgoingRequestPtr httpRequest = NHttp::THttpOutgoingRequest::CreateRequestGet(url);

Expand All @@ -507,6 +511,8 @@ class TDatabaseResolver: public TActor<TDatabaseResolver>
httpRequest->Set("Authorization", token);
}

LOG_D("ResponseProccessor::Handle(EndpointRequest): start GET request: " << "url: " << httpRequest->URL);

requests[httpRequest] = TResolveParams{databaseId, databaseType, databaseAuth};
} catch (const std::exception& e) {
const TString msg = TStringBuilder() << "error while preparing to resolve database id: " << databaseId
Expand Down
2 changes: 0 additions & 2 deletions ydb/core/fq/libs/actors/proxy_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ namespace NKikimr {

namespace NFq {

NActors::TActorId MakeYqPrivateProxyId();

NActors::IActor* CreateYqlAnalyticsPrivateProxy(
const NConfig::TPrivateProxyConfig& privateProxyConfig,
TIntrusivePtr<ITimeProvider> timeProvider,
Expand Down
7 changes: 1 addition & 6 deletions ydb/core/fq/libs/actors/run_actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
#include <ydb/library/yql/providers/pq/proto/dq_io.pb.h>
#include <ydb/library/yql/providers/pq/task_meta/task_meta.h>
#include <ydb/library/yql/providers/s3/provider/yql_s3_provider.h>
#include <ydb/library/yql/providers/ydb/provider/yql_ydb_provider.h>
#include <ydb/library/yql/providers/solomon/gateway/yql_solomon_gateway.h>
#include <ydb/library/yql/providers/solomon/provider/yql_solomon_provider.h>
#include <ydb/library/yql/providers/s3/actors/yql_s3_applicator_actor.h>
Expand Down Expand Up @@ -1940,11 +1939,7 @@ class TRunActor : public NActors::TActorBootstrapped<TRunActor> {
}

{
dataProvidersInit.push_back(GetYdbDataProviderInitializer(Params.YqSharedResources->UserSpaceYdbDriver, Params.CredentialsFactory, dbResolver));
}

{
dataProvidersInit.push_back(GetGenericDataProviderInitializer(Params.ConnectorClient, dbResolver));
dataProvidersInit.push_back(GetGenericDataProviderInitializer(Params.ConnectorClient, dbResolver, Params.CredentialsFactory));
}

{
Expand Down
Loading