Skip to content

Commit f353bd5

Browse files
authored
Fix static PDisk config check to account InferPDsikSlotCount (#21529)
1 parent a2c3a12 commit f353bd5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

ydb/core/mind/bscontroller/config_fit_pdisks.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ namespace NKikimr {
8585
pdiskInfo->BoxId = disk.BoxId;
8686
if (pdiskInfo->PDiskConfig != disk.PDiskConfig
8787
|| pdiskInfo->InferPDiskSlotCountFromUnitSize != disk.InferPDiskSlotCountFromUnitSize) {
88-
if (const auto id = FindStaticPDisk(disk, state); id && state.StaticPDisks.at(*id).PDiskConfig != disk.PDiskConfig) {
88+
const std::optional<TBlobStorageController::TStaticPDiskInfo> staticPDisk = FindStaticPDisk(disk, state).transform(
89+
[&](TPDiskId id) {return state.StaticPDisks.at(id);});
90+
if (staticPDisk && (staticPDisk->PDiskConfig != disk.PDiskConfig
91+
|| staticPDisk->InferPDiskSlotCountFromUnitSize != disk.InferPDiskSlotCountFromUnitSize)) {
8992
throw TExError() << "PDiskConfig mismatch for static disk" << TErrorParams::NodeId(disk.NodeId) << TErrorParams::Path(disk.Path);
9093
} else {
9194
pdiskInfo->PDiskConfig = disk.PDiskConfig;

0 commit comments

Comments
 (0)