Browse Source

Fix PDiskConfig update for static disks KIKIMR-18883

alexvru 1 year ago
parent
commit
f66b39282f
1 changed files with 3 additions and 4 deletions
  1. 3 4
      ydb/core/mind/bscontroller/config_fit_pdisks.cpp

+ 3 - 4
ydb/core/mind/bscontroller/config_fit_pdisks.cpp

@@ -99,11 +99,10 @@ namespace NKikimr {
                 pdiskInfo->ReadCentric = disk.ReadCentric;
                 pdiskInfo->BoxId = disk.BoxId;
                 if (pdiskInfo->PDiskConfig != disk.PDiskConfig) {
-                    // update PDiskConfig only for nonstatic PDisks
-                    if (!NKikimr::NBsController::FindStaticPDisk(disk, state)) {
-                        pdiskInfo->PDiskConfig = disk.PDiskConfig;
+                    if (const auto id = FindStaticPDisk(disk, state); id && state.StaticPDisks.at(*id).PDiskConfig != disk.PDiskConfig) {
+                        throw TExError() << "PDiskConfig mismatch for static disk" << TErrorParams::NodeId(disk.NodeId) << TErrorParams::Path(disk.Path);
                     } else {
-                        throw TExError() << "Skipping PDiskConfig update for static disk" << TErrorParams::NodeId(disk.NodeId) << TErrorParams::Path(disk.Path);
+                        pdiskInfo->PDiskConfig = disk.PDiskConfig;
                     }
                 }
                 // run ExtractConfig as the very last step