From 9cb213a6fac00d7c26d0ed4885ff61b4235a0eca Mon Sep 17 00:00:00 2001 From: Yaroslav Dynnikov Date: Fri, 7 Nov 2025 14:27:22 +0300 Subject: [PATCH] Fix incorrect PDisk ColorBorder setting (#28254) --- .../pdisk/blobstorage_pdisk_chunk_tracker.h | 10 +++++++--- .../blobstorage/pdisk/blobstorage_pdisk_color_limits.h | 3 +-- .../blobstorage/pdisk/blobstorage_pdisk_quota_record.h | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_chunk_tracker.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_chunk_tracker.h index b347330d2185..16c88cd40156 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_chunk_tracker.h +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_chunk_tracker.h @@ -232,9 +232,13 @@ class TPerOwnerQuotaTracker { str << "\n"; } - ui32 ColorFlagLimit(TOwner id, NKikimrBlobStorage::TPDiskSpaceColor::E color) { + ui32 ColorFlagLimit(TOwner id, NKikimrBlobStorage::TPDiskSpaceColor::E color) const { return QuotaForOwner[id].ColorFlagLimit(color); } + + double GetOccupancyForColor(NKikimrBlobStorage::TPDiskSpaceColor::E color) const { + return ColorLimits.GetOccupancyForColor(color, Total); + } }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -367,7 +371,7 @@ using TColor = NKikimrBlobStorage::TPDiskSpaceColor; } ColorBorder = params.SpaceColorBorder; - ColorBorderOccupancy = chunkLimits.GetOccupancyForColor(ColorBorder, GlobalQuota->GetHardLimit(OwnerBeginUser)); + ColorBorderOccupancy = OwnerQuota->GetOccupancyForColor(ColorBorder); return true; } @@ -615,7 +619,7 @@ using TColor = NKikimrBlobStorage::TPDiskSpaceColor; void SetColorBorder(NKikimrBlobStorage::TPDiskSpaceColor::E colorBorder) { ColorBorder = colorBorder; - ColorBorderOccupancy = ColorLimits.GetOccupancyForColor(ColorBorder, GlobalQuota->GetHardLimit(OwnerBeginUser)); + ColorBorderOccupancy = OwnerQuota->GetOccupancyForColor(ColorBorder); } }; diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h index 08a60eb5151e..5eefc73092d1 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_color_limits.h @@ -100,7 +100,7 @@ struct TColorLimits { }; } - double GetOccupancyForColor(NKikimrBlobStorage::TPDiskSpaceColor::E color, i64 total) { + double GetOccupancyForColor(NKikimrBlobStorage::TPDiskSpaceColor::E color, i64 total) const { switch (color) { case NKikimrBlobStorage::TPDiskSpaceColor::GREEN: return 0.0; case NKikimrBlobStorage::TPDiskSpaceColor::CYAN: return Cyan.CalculateOccupancy(total); @@ -139,4 +139,3 @@ struct TColorLimits { } // NPDisk } // NKikimr - diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_quota_record.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_quota_record.h index 3f35dd665d3a..f9dad86b3bbe 100644 --- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_quota_record.h +++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_quota_record.h @@ -174,7 +174,7 @@ class TQuotaRecord { } } - ui32 ColorFlagLimit(NKikimrBlobStorage::TPDiskSpaceColor::E color) { + ui32 ColorFlagLimit(NKikimrBlobStorage::TPDiskSpaceColor::E color) const { using TColor = NKikimrBlobStorage::TPDiskSpaceColor; switch (color) {