summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryuryalekseev <[email protected]>2023-02-05 11:11:52 +0300
committeryuryalekseev <[email protected]>2023-02-05 11:11:52 +0300
commit9331e4d05e2f395a0a5ab5f5647517eab412bbed (patch)
tree4b00fbb2feb9cfb9e33e61c57df5ec90080d8e30
parentbc6c67e2881b48c46bc7ef1dedf6ae2db06bccba (diff)
Update PDiskConfig only for nonstatic PDisks.
-rw-r--r--ydb/core/mind/bscontroller/config_fit_pdisks.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/ydb/core/mind/bscontroller/config_fit_pdisks.cpp b/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
index 1c34987e892..97d16737065 100644
--- a/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
+++ b/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
@@ -82,7 +82,15 @@ namespace NKikimr {
pdiskInfo->SharedWithOs = disk.SharedWithOs;
pdiskInfo->ReadCentric = disk.ReadCentric;
pdiskInfo->BoxId = disk.BoxId;
- pdiskInfo->PDiskConfig = disk.PDiskConfig;
+ if (pdiskInfo->PDiskConfig != disk.PDiskConfig) {
+ // update PDiskConfig only for nonstatic PDisks
+ if (!state.FindStaticPDiskByLocation(disk.NodeId, disk.Path)) {
+ pdiskInfo->PDiskConfig = disk.PDiskConfig;
+ } else {
+ throw TExError() << "Skipping PDiskConfig update for static disk" << TErrorParams::NodeId(disk.NodeId) << TErrorParams::Path(disk.Path);
+ }
+ }
+ // run ExtractConfig as the very last step
pdiskInfo->ExtractConfig(defaultMaxSlots);
}
}