Skip to content

Commit 19a6baa

Browse files
add S3 client knobs + split in‑flight limits (#29541) (#29969)
2 parents 1973e3f + 2c7b66e commit 19a6baa

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

ydb/core/protos/config.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import "ydb/core/protos/nbs/blockstore.proto";
4141
import "ydb/library/actors/protos/interconnect.proto";
4242
import "yql/essentials/core/file_storage/proto/file_storage.proto";
4343
import "yql/essentials/providers/common/proto/gateways_config.proto";
44+
import "ydb/core/protos/s3_settings.proto";
4445

4546
package NKikimrConfig;
4647
option java_package = "ru.yandex.kikimr.proto";
@@ -2141,6 +2142,7 @@ message TColumnShardConfig {
21412142
optional uint64 BadPortionsLimit = 52;
21422143
optional bool CombineChunksInResult = 54 [default = true];
21432144
optional bool EnableParallelCompaction = 56 [default = true];
2145+
optional NKikimrSchemeOp.TS3Settings S3Client = 58;
21442146
}
21452147

21462148
message TSchemeShardConfig {

ydb/core/tx/tiering/manager.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#include "common.h"
22
#include "manager.h"
33

4+
#include <ydb/core/base/appdata.h>
5+
#include <ydb/core/protos/config.pb.h>
46
#include <ydb/core/tx/columnshard/columnshard_private_events.h>
57
#include <ydb/core/tx/tiering/fetcher.h>
68
#include <ydb/core/tx/tiering/tier/identifier.h>
@@ -78,11 +80,16 @@ class TTiersManager::TActor: public TActorBootstrapped<TTiersManager::TActor> {
7880
ResetRetryState(tierId);
7981
if (description.GetSelf().GetPathType() == NKikimrSchemeOp::EPathTypeExternalDataSource) {
8082
NTiers::TTierConfig tier;
83+
if (HasAppData() && AppDataVerified().ColumnShardConfig.HasS3Client()) {
84+
tier = NTiers::TTierConfig(AppDataVerified().ColumnShardConfig.GetS3Client());
85+
}
86+
8187
if (const auto status = tier.DeserializeFromProto(description.GetExternalDataSourceDescription()); status.IsFail()) {
8288
AFL_WARN(NKikimrServices::TX_TIERING)("event", "fetched_invalid_tier_settings")("error", status.GetErrorMessage());
8389
Owner->UpdateTierConfig(std::nullopt, tierId);
8490
return;
8591
}
92+
8693
Owner->UpdateTierConfig(tier, tierId);
8794
} else {
8895
AFL_WARN(NKikimrServices::TX_TIERING)("error", "invalid_object_type")("type", static_cast<ui64>(description.GetSelf().GetPathType()))("path", tierId.GetConfigPath());

ydb/core/tx/tiering/tier/object.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ class TTierConfig {
2626
, Compression(compression) {
2727
}
2828

29+
explicit TTierConfig(const TTierProto& config)
30+
: ProtoConfig(config) {
31+
}
32+
2933
TConclusionStatus DeserializeFromProto(const NKikimrSchemeOp::TExternalDataSourceDescription& proto);
3034

3135
NJson::TJsonValue SerializeConfigToJson() const;

0 commit comments

Comments
 (0)