diff --git a/ydb/core/keyvalue/channel_balancer.h b/ydb/core/keyvalue/channel_balancer.h index ca013400f9c3..378c22434d52 100644 --- a/ydb/core/keyvalue/channel_balancer.h +++ b/ydb/core/keyvalue/channel_balancer.h @@ -114,7 +114,7 @@ namespace NKikimr::NKeyValue { const size_t index = (LatencyQueue.size() - 1) * 99 / 100; const TDuration perc = latencies[index]; weight = MeanExpectedLatency.GetValue() * weight / Max(perc, TDuration::MilliSeconds(1)).GetValue(); - Y_DEBUG_ABORT_UNLESS(weight); + //Y_DEBUG_ABORT_UNLESS(weight); if (!weight) { weight = 1; } diff --git a/ydb/core/keyvalue/keyvalue_state.cpp b/ydb/core/keyvalue/keyvalue_state.cpp index 73e6cc76e4bf..f1d00c36bbbb 100644 --- a/ydb/core/keyvalue/keyvalue_state.cpp +++ b/ydb/core/keyvalue/keyvalue_state.cpp @@ -634,6 +634,9 @@ void TKeyValueState::InitExecute(ui64 tabletId, TActorId keyValueActorId, ui32 e } THelpers::DbEraseCollect(db, ctx); + if (IsEmptyDbStart) { + THelpers::DbUpdateState(StoredState, db, ctx); + } // corner case, if no CollectGarbage events were sent if (InitialCollectsSent == 0) { diff --git a/ydb/core/keyvalue/keyvalue_storage_request.cpp b/ydb/core/keyvalue/keyvalue_storage_request.cpp index 9aa0a83cdfa1..5f2b434b004e 100644 --- a/ydb/core/keyvalue/keyvalue_storage_request.cpp +++ b/ydb/core/keyvalue/keyvalue_storage_request.cpp @@ -296,6 +296,11 @@ class TKeyValueStorageRequest : public TActorBootstrappedStat.GroupReadIops[std::make_pair(response.Id.Channel(), groupId)] += 1; // FIXME: count distinct blobs? read.Value.Write(readItem.ValueOffset, std::move(response.Buffer)); } else { + Y_VERIFY_DEBUG_S(response.Status != NKikimrProto::NODATA, "NODATA received for TEvGet" + << " TabletId# " << TabletInfo->TabletID + << " Id# " << response.Id + << " Key# " << read.Key); + TStringStream err; if (read.Message.size()) { err << read.Message << Endl;