Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Support arbitrary chain set in huge blob keeper heap (#11566)" #11891

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class TSkeletonFrontMockActor : public TActorBootstrapped<TSkeletonFrontMockActo
settings->SetWriteSpeedBps(60e6);
settings->SetReadBlockSize(4096);
settings->SetWriteBlockSize(4096);
settings->SetMinHugeBlobInBytes(512 << 10);
settings->SetMinREALHugeBlobInBytes(512 << 10);
}

STRICT_STFUNC(StateFunc, {
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/dsproxy/dsproxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ LWTRACE_USING(BLOBSTORAGE_PROVIDER);
constexpr ui32 TypicalPartsInBlob = 6;
constexpr ui32 TypicalDisksInSubring = 8;

constexpr ui32 MaxBatchedPutSize = 64 * 1024 - 512 - 5; // (MinHugeBlobInBytes - 1 - TDiskBlob::HugeBlobOverhead) for ssd and nvme
constexpr ui32 MaxBatchedPutSize = 64 * 1024 - 512 - 5; // (MinREALHugeBlobInBytes - 1 - TDiskBlob::HugeBlobOverhead) for ssd and nvme

const TDuration ProxyConfigurationTimeout = TDuration::Seconds(20);
const ui32 ProxyRetryConfigurationInitialTimeout = 200;
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/dsproxy/dsproxy_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class TBlobStorageGroupProxy : public TActorBootstrapped<TBlobStorageGroupProxy>
bool UseActorSystemTimeInBSQueue;
bool IsLimitedKeyless = false;
bool IsFullMonitoring = false; // current state of monitoring
ui32 MinHugeBlobInBytes = 0;
ui32 MinREALHugeBlobInBytes = 0;

TActorId MonActor;
TIntrusivePtr<TBlobStorageGroupProxyMon> Mon;
Expand Down
5 changes: 3 additions & 2 deletions ydb/core/blobstorage/dsproxy/dsproxy_request.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,12 +178,13 @@ namespace NKikimr {
Send(MonActor, new TEvThroughputAddRequest(ev->Get()->HandleClass, bytes));
EnableWilsonTracing(ev, Mon->PutSamplePPM);

Y_DEBUG_ABORT_UNLESS(MinHugeBlobInBytes);
Y_DEBUG_ABORT_UNLESS(MinREALHugeBlobInBytes);
const ui32 partSize = Info->Type.PartSize(ev->Get()->Id);

TInstant now = TActivationContext::Now();

if (Controls.EnablePutBatching.Update(now) && partSize < MinHugeBlobInBytes && partSize <= MaxBatchedPutSize) {
if (Controls.EnablePutBatching.Update(now) && partSize < MinREALHugeBlobInBytes &&
partSize <= MaxBatchedPutSize) {
NKikimrBlobStorage::EPutHandleClass handleClass = ev->Get()->HandleClass;
TEvBlobStorage::TEvPut::ETactic tactic = ev->Get()->Tactic;
Y_ABORT_UNLESS((ui64)handleClass <= PutHandleClassCount);
Expand Down
4 changes: 2 additions & 2 deletions ydb/core/blobstorage/dsproxy/dsproxy_state.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,15 +208,15 @@ namespace NKikimr {
Y_ABORT_UNLESS(Topology);
Sessions->QueueConnectUpdate(Topology->GetOrderNumber(msg->VDiskId), msg->QueueId, msg->IsConnected,
msg->ExtraBlockChecksSupport, msg->CostModel, *Topology);
MinHugeBlobInBytes = Sessions->GetMinHugeBlobInBytes();
MinREALHugeBlobInBytes = Sessions->GetMinREALHugeBlobInBytes();
if (msg->IsConnected && (CurrentStateFunc() == &TThis::StateEstablishingSessions ||
CurrentStateFunc() == &TThis::StateEstablishingSessionsTimeout)) {
SwitchToWorkWhenGoodToGo();
} else if (!msg->IsConnected && CurrentStateFunc() == &TThis::StateWork && !Sessions->GoodToGo(*Topology, false)) {
SetStateEstablishingSessions();
}

Y_DEBUG_ABORT_UNLESS(CurrentStateFunc() != &TThis::StateWork || MinHugeBlobInBytes);
Y_DEBUG_ABORT_UNLESS(CurrentStateFunc() != &TThis::StateWork || MinREALHugeBlobInBytes);

if (const ui32 prev = std::exchange(NumUnconnectedDisks, Sessions->GetNumUnconnectedDisks()); prev != NumUnconnectedDisks) {
NodeMon->IncNumUnconnected(NumUnconnectedDisks);
Expand Down
4 changes: 2 additions & 2 deletions ydb/core/blobstorage/dsproxy/group_sessions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ void TGroupSessions::QueueConnectUpdate(ui32 orderNumber, NKikimrBlobStorage::EV
}
}

ui32 TGroupSessions::GetMinHugeBlobInBytes() const {
return GroupQueues->CostModel ? GroupQueues->CostModel->MinHugeBlobInBytes : 0;
ui32 TGroupSessions::GetMinREALHugeBlobInBytes() const {
return GroupQueues->CostModel ? GroupQueues->CostModel->MinREALHugeBlobInBytes : 0;
}

ui32 TGroupSessions::GetNumUnconnectedDisks() {
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/dsproxy/group_sessions.h
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ namespace NKikimr {
void QueueConnectUpdate(ui32 orderNumber, NKikimrBlobStorage::EVDiskQueueId queueId, bool connected,
bool extraBlockChecksSupport, std::shared_ptr<const TCostModel> costModel, const TBlobStorageGroupInfo::TTopology& topology);
ui32 GetNumUnconnectedDisks();
ui32 GetMinHugeBlobInBytes() const;
ui32 GetMinREALHugeBlobInBytes() const;
};

struct TEvRequestProxySessionsState : TEventLocal<TEvRequestProxySessionsState, TEvBlobStorage::EvRequestProxySessionsState>
Expand Down
10 changes: 5 additions & 5 deletions ydb/core/blobstorage/ut_vdisk/lib/helpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ class TManyMultiPuts : public TActorBootstrapped<TManyMultiPuts> {
bool Started = false;
// how many deadline statuses we got
ui64 RequestDeadlines = 0;
ui32 MinHugeBlobInBytes = 0;
ui32 MinREALHugeBlobInBytes = 0;

ui64 LastBatchSize = 0;

Expand All @@ -413,8 +413,8 @@ class TManyMultiPuts : public TActorBootstrapped<TManyMultiPuts> {
void Handle(TEvProxyQueueState::TPtr& ev, const TActorContext& ctx) {
if (ev->Get()->IsConnected && !Started) {
// put logo blob
MinHugeBlobInBytes = ev->Get()->CostModel->MinHugeBlobInBytes;
Y_ABORT_UNLESS(MinHugeBlobInBytes);
MinREALHugeBlobInBytes = ev->Get()->CostModel->MinREALHugeBlobInBytes;
Y_ABORT_UNLESS(MinREALHugeBlobInBytes);
SendPut(ctx);
Started = true;
}
Expand Down Expand Up @@ -485,12 +485,12 @@ class TManyMultiPuts : public TActorBootstrapped<TManyMultiPuts> {
Y_ABORT_UNLESS(status == NKikimrProto::OK || noTimeout && status == NKikimrProto::DEADLINE,
"Event# %s", ev->Get()->ToString().data());

Y_ABORT_UNLESS(MinHugeBlobInBytes);
Y_ABORT_UNLESS(MinREALHugeBlobInBytes);

switch (status) {
case NKikimrProto::OK:
for (auto &item : record.GetItems()) {
Y_ABORT_UNLESS(item.GetStatus() == (MsgData.size() < MinHugeBlobInBytes ? NKikimrProto::OK : NKikimrProto::ERROR));
Y_ABORT_UNLESS(item.GetStatus() == (MsgData.size() < MinREALHugeBlobInBytes ? NKikimrProto::OK : NKikimrProto::ERROR));
}
break;
case NKikimrProto::DEADLINE:
Expand Down
3 changes: 3 additions & 0 deletions ydb/core/blobstorage/ut_vdisk/lib/test_huge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ class THugeModuleRecoveryActor : public TActorBootstrapped<THugeModuleRecoveryAc

bool InitHugeBlobKeeper(const TActorContext &ctx, const TStartingPoints &startingPoints) {
Y_UNUSED(ctx);
const ui32 oldMinHugeBlobInBytes = 64 << 10;
const ui32 milestoneHugeBlobInBytes = 64 << 10;
const ui32 maxBlobInBytes = 128 << 10;
auto logFunc = [] (const TString) { /* empty */ };
Expand All @@ -149,6 +150,7 @@ class THugeModuleRecoveryActor : public TActorBootstrapped<THugeModuleRecoveryAc
HmCtx->PDiskCtx->Dsk->ChunkSize,
HmCtx->PDiskCtx->Dsk->AppendBlockSize,
HmCtx->PDiskCtx->Dsk->AppendBlockSize,
oldMinHugeBlobInBytes,
milestoneHugeBlobInBytes,
maxBlobInBytes,
HmCtx->Config->HugeBlobOverhead,
Expand All @@ -167,6 +169,7 @@ class THugeModuleRecoveryActor : public TActorBootstrapped<THugeModuleRecoveryAc
HmCtx->PDiskCtx->Dsk->ChunkSize,
HmCtx->PDiskCtx->Dsk->AppendBlockSize,
HmCtx->PDiskCtx->Dsk->AppendBlockSize,
oldMinHugeBlobInBytes,
milestoneHugeBlobInBytes,
maxBlobInBytes,
HmCtx->Config->HugeBlobOverhead,
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/vdisk/balance/balancing_actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ namespace NBalancing {

const auto& key = It.GetCurKey().LogoBlobID();

if (Ctx->Cfg.BalanceOnlyHugeBlobs && !Ctx->HugeBlobCtx->IsHugeBlob(GInfo->Type, key, Ctx->MinHugeBlobInBytes)) {
if (Ctx->Cfg.BalanceOnlyHugeBlobs && !Ctx->HugeBlobCtx->IsHugeBlob(GInfo->Type, key, Ctx->MinREALHugeBlobInBytes)) {
// skip non huge blobs
continue;
}
Expand Down
6 changes: 3 additions & 3 deletions ydb/core/blobstorage/vdisk/balance/defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ namespace NKikimr {
TIntrusivePtr<TVDiskConfig> VDiskCfg;
TIntrusivePtr<TBlobStorageGroupInfo> GInfo;

ui32 MinHugeBlobInBytes;
ui32 MinREALHugeBlobInBytes;

TBalancingCtx(
const TBalancingCfg& cfg,
Expand All @@ -53,7 +53,7 @@ namespace NKikimr {
NKikimr::THullDsSnap snap,
TIntrusivePtr<TVDiskConfig> vDiskCfg,
TIntrusivePtr<TBlobStorageGroupInfo> gInfo,
ui32 minHugeBlobInBytes
ui32 minREALHugeBlobInBytes
)
: Cfg(cfg)
, VCtx(std::move(vCtx))
Expand All @@ -64,7 +64,7 @@ namespace NKikimr {
, Snap(std::move(snap))
, VDiskCfg(std::move(vDiskCfg))
, GInfo(std::move(gInfo))
, MinHugeBlobInBytes(minHugeBlobInBytes)
, MinREALHugeBlobInBytes(minREALHugeBlobInBytes)
{
}
};
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/vdisk/balance/sender.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ namespace {
auto& data = part.PartsData[i];
auto vDiskId = GetMainReplicaVDiskId(*GInfo, key);

if (Ctx->HugeBlobCtx->IsHugeBlob(GInfo->GetTopology().GType, part.Key, Ctx->MinHugeBlobInBytes)) {
if (Ctx->HugeBlobCtx->IsHugeBlob(GInfo->GetTopology().GType, part.Key, Ctx->MinREALHugeBlobInBytes)) {
auto ev = std::make_unique<TEvBlobStorage::TEvVPut>(
key, data, vDiskId,
true, nullptr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class TBsCostModelBase {
DeviceWriteSpeedBps = costModel.WriteSpeedBps;
DeviceReadBlockSize = costModel.ReadBlockSize;
DeviceWriteBlockSize = costModel.WriteBlockSize;
HugeBlobSize = costModel.MinHugeBlobInBytes;
HugeBlobSize = costModel.MinREALHugeBlobInBytes;
}

protected:
Expand Down
2 changes: 2 additions & 0 deletions ydb/core/blobstorage/vdisk/common/vdisk_config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,9 @@ namespace NKikimr {
MinHugeBlobInBytes = 512u << 10u;
break;
}
OldMinHugeBlobInBytes = MinHugeBlobInBytes; // preserved to migrate entry point state correctly
MilestoneHugeBlobInBytes = 512u << 10u; // for compatibility reasons it must be 512KB

}

void TVDiskConfig::Merge(const NKikimrBlobStorage::TVDiskConfig &update) {
Expand Down
1 change: 1 addition & 0 deletions ydb/core/blobstorage/vdisk/common/vdisk_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ namespace NKikimr {
ui32 HullSstSizeInChunksLevel;
ui32 HugeBlobsFreeChunkReservation;
ui32 MinHugeBlobInBytes;
ui32 OldMinHugeBlobInBytes;
ui32 MilestoneHugeBlobInBytes;
ui32 HugeBlobOverhead;
ui32 HullCompLevel0MaxSstsAtOnce;
Expand Down
18 changes: 9 additions & 9 deletions ydb/core/blobstorage/vdisk/common/vdisk_costmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,13 @@ namespace NKikimr {
}

TCostModel::TCostModel(ui64 seekTimeUs, ui64 readSpeedBps, ui64 writeSpeedBps, ui64 readBlockSize,
ui64 writeBlockSize, ui32 minHugeBlobInBytes, TBlobStorageGroupType gType)
ui64 writeBlockSize, ui32 minREALHugeBlobInBytes, TBlobStorageGroupType gType)
: SeekTimeUs(seekTimeUs)
, ReadSpeedBps(readSpeedBps)
, WriteSpeedBps(writeSpeedBps)
, ReadBlockSize(readBlockSize)
, WriteBlockSize(writeBlockSize)
, MinHugeBlobInBytes(minHugeBlobInBytes)
, MinREALHugeBlobInBytes(minREALHugeBlobInBytes)
, GType(gType)
{}

Expand All @@ -111,7 +111,7 @@ namespace NKikimr {
, WriteSpeedBps(settings.GetWriteSpeedBps())
, ReadBlockSize(settings.GetReadBlockSize())
, WriteBlockSize(settings.GetWriteBlockSize())
, MinHugeBlobInBytes(settings.GetMinHugeBlobInBytes())
, MinREALHugeBlobInBytes(settings.GetMinREALHugeBlobInBytes())
, GType(gType)
{}

Expand All @@ -121,7 +121,7 @@ namespace NKikimr {
settings.SetWriteSpeedBps(WriteSpeedBps);
settings.SetReadBlockSize(ReadBlockSize);
settings.SetWriteBlockSize(WriteBlockSize);
settings.SetMinHugeBlobInBytes(MinHugeBlobInBytes);
settings.SetMinREALHugeBlobInBytes(MinREALHugeBlobInBytes);
}

/// READS
Expand Down Expand Up @@ -181,7 +181,7 @@ namespace NKikimr {
const NKikimrBlobStorage::EPutHandleClass handleClass = record.GetHandleClass();
const ui64 bufSize = record.HasBuffer() ? record.GetBuffer().size() : ev.GetPayload(0).GetSize();

NPriPut::EHandleType handleType = NPriPut::HandleType(MinHugeBlobInBytes, handleClass, bufSize, true);
NPriPut::EHandleType handleType = NPriPut::HandleType(MinREALHugeBlobInBytes, handleClass, bufSize, true);
if (handleType == NPriPut::Log) {
*logPutInternalQueue = true;
return SmallWriteCost(bufSize);
Expand All @@ -198,7 +198,7 @@ namespace NKikimr {
ui64 cost = 0;
for (ui64 idx = 0; idx < record.ItemsSize(); ++idx) {
const ui64 size = ev.GetBufferBytes(idx);
NPriPut::EHandleType handleType = NPriPut::HandleType(MinHugeBlobInBytes, handleClass, size, true);
NPriPut::EHandleType handleType = NPriPut::HandleType(MinREALHugeBlobInBytes, handleClass, size, true);
if (handleType == NPriPut::Log) {
cost += SmallWriteCost(size);
} else {
Expand Down Expand Up @@ -265,7 +265,7 @@ namespace NKikimr {
cost += MovedPatchCostBySize(essence.MovedPatchBlobSize);
}
for (ui64 size : essence.PutBufferSizes) {
NPriPut::EHandleType handleType = NPriPut::HandleType(MinHugeBlobInBytes, essence.HandleClass, size, true);
NPriPut::EHandleType handleType = NPriPut::HandleType(MinREALHugeBlobInBytes, essence.HandleClass, size, true);
if (handleType == NPriPut::Log) {
cost += SmallWriteCost(size);
} else {
Expand All @@ -283,7 +283,7 @@ namespace NKikimr {
str << " WriteSpeedBps# " << WriteSpeedBps;
str << " ReadBlockSize# " << ReadBlockSize;
str << " WriteBlockSize# " << WriteBlockSize;
str << " MinHugeBlobInBytes# " << MinHugeBlobInBytes;
str << " MinREALHugeBlobInBytes# " << MinREALHugeBlobInBytes;
str << " GType# " << GType.ToString();
str << "}";
return str.Str();
Expand All @@ -295,7 +295,7 @@ namespace NKikimr {
WriteSpeedBps = std::min(WriteSpeedBps, other.WriteSpeedBps);
ReadBlockSize = std::min(ReadBlockSize, other.ReadBlockSize);
WriteBlockSize = std::min(WriteBlockSize, other.WriteBlockSize);
MinHugeBlobInBytes = std::max(MinHugeBlobInBytes, other.MinHugeBlobInBytes);
MinREALHugeBlobInBytes = std::max(MinREALHugeBlobInBytes, other.MinREALHugeBlobInBytes);
}

// PDisk messages cost
Expand Down
6 changes: 3 additions & 3 deletions ydb/core/blobstorage/vdisk/common/vdisk_costmodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ namespace NKikimr {
ui64 WriteSpeedBps;
ui64 ReadBlockSize;
ui64 WriteBlockSize;
ui32 MinHugeBlobInBytes;
ui32 MinREALHugeBlobInBytes;
TBlobStorageGroupType GType;

TCostModel(ui64 seekTimeUs, ui64 readSpeedBps, ui64 writeSpeedBps, ui64 readBlockSize, ui64 writeBlockSize,
ui32 minHugeBlobInBytes, TBlobStorageGroupType gType);
ui32 minREALHugeBlobInBytes, TBlobStorageGroupType gType);
TCostModel(const NKikimrBlobStorage::TVDiskCostSettings &settings, TBlobStorageGroupType gType);

/// SETTINGS
Expand Down Expand Up @@ -95,7 +95,7 @@ namespace NKikimr {
WriteSpeedBps != other.WriteSpeedBps ||
ReadBlockSize != other.ReadBlockSize ||
WriteBlockSize != other.WriteBlockSize ||
MinHugeBlobInBytes != other.MinHugeBlobInBytes;
MinREALHugeBlobInBytes != other.MinREALHugeBlobInBytes;
}

// PDisk messages cost
Expand Down
8 changes: 4 additions & 4 deletions ydb/core/blobstorage/vdisk/common/vdisk_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -703,8 +703,8 @@ namespace NKikimr {
if (costSettings.HasWriteBlockSize()) {
str << " WriteBlockSize# " << costSettings.GetWriteBlockSize();
}
if (costSettings.HasMinHugeBlobInBytes()) {
str << " MinHugeBlobInBytes# " << costSettings.GetMinHugeBlobInBytes();
if (costSettings.HasMinREALHugeBlobInBytes()) {
str << " MinREALHugeBlobInBytes# " << costSettings.GetMinREALHugeBlobInBytes();
}
str << "}";
}
Expand Down Expand Up @@ -3199,9 +3199,9 @@ namespace NKikimr {
////////////////////////////////////////////////////////////////////////////
class TEvMinHugeBlobSizeUpdate : public TEventLocal<TEvMinHugeBlobSizeUpdate, TEvBlobStorage::EvMinHugeBlobSizeUpdate> {
public:
ui32 MinHugeBlobInBytes;
ui32 MinREALHugeBlobInBytes;

TEvMinHugeBlobSizeUpdate(ui32 minHugeBlobInBytes) : MinHugeBlobInBytes(minHugeBlobInBytes) {
TEvMinHugeBlobSizeUpdate(ui32 minREALHugeBlobInBytes) : MinREALHugeBlobInBytes(minREALHugeBlobInBytes) {
};
};
} // NKikimr
8 changes: 4 additions & 4 deletions ydb/core/blobstorage/vdisk/common/vdisk_handle_class.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ namespace NKikimr {
///////////////////////////////////////////////////////////////////////////////////
namespace NPriPut {

EHandleType HandleType(const ui32 minHugeBlobSize, NKikimrBlobStorage::EPutHandleClass handleClass,
EHandleType HandleType(const ui32 minREALHugeBlobSize, NKikimrBlobStorage::EPutHandleClass handleClass,
ui32 originalBufSizeWithoutOverhead, bool addHeader) {
// what size of huge blob it would be, if it huge
const ui64 hugeBlobSize = (addHeader ? TDiskBlob::HeaderSize : 0) + originalBufSizeWithoutOverhead;

switch (handleClass) {
case NKikimrBlobStorage::TabletLog:
return (hugeBlobSize >= minHugeBlobSize ? HugeForeground : Log);
return (hugeBlobSize >= minREALHugeBlobSize ? HugeForeground : Log);
case NKikimrBlobStorage::AsyncBlob:
return (hugeBlobSize >= minHugeBlobSize ? HugeBackground : Log);
return (hugeBlobSize >= minREALHugeBlobSize ? HugeBackground : Log);
case NKikimrBlobStorage::UserData:
return (hugeBlobSize >= minHugeBlobSize ? HugeForeground : Log);
return (hugeBlobSize >= minREALHugeBlobSize ? HugeForeground : Log);
default:
Y_ABORT("Unexpected case");
}
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/blobstorage/vdisk/common/vdisk_handle_class.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace NKikimr {
HugeBackground = 2 // huge blog, write it with low priority
};

EHandleType HandleType(const ui32 minHugeBlobSize, NKikimrBlobStorage::EPutHandleClass handleClass,
EHandleType HandleType(const ui32 minREALHugeBlobSize, NKikimrBlobStorage::EPutHandleClass handleClass,
ui32 originalBufSizeWithoutOverhead, bool addHeader);

} // NPriPut
Expand Down
Loading
Loading