aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ydb/core/mind/bscontroller/config_fit_pdisks.cpp9
-rw-r--r--ydb/core/mind/bscontroller/defs.h1
2 files changed, 8 insertions, 2 deletions
diff --git a/ydb/core/mind/bscontroller/config_fit_pdisks.cpp b/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
index e27d4aedc9..d204f674cc 100644
--- a/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
+++ b/ydb/core/mind/bscontroller/config_fit_pdisks.cpp
@@ -16,6 +16,11 @@ namespace NKikimr {
return pdiskId;
}
+ static TString FormatPDiskConfig(const TString& s) {
+ NKikimrBlobStorage::TPDiskConfig proto;
+ return proto.ParseFromString(s) ? SingleLineProto(proto) : "<error>";
+ }
+
Schema::PDisk::Guid::Type TBlobStorageController::CheckStaticPDisk(TConfigState &state, TPDiskId pdiskId,
const TPDiskCategory& category, const TMaybe<Schema::PDisk::PDiskConfig::Type>& pdiskConfig,
ui32 *staticSlotUsage) {
@@ -31,8 +36,8 @@ namespace NKikimr {
// validate fields
if (pdiskConfig.GetOrElse(TString()) != info.PDiskConfig) {
throw TExError() << "PDiskConfig field doesn't match static one"
- << " pdiskConfig# " << (pdiskConfig ? *pdiskConfig : "(empty)")
- << " info.PDiskConfig# " << info.PDiskConfig;
+ << " pdiskConfig# " << (pdiskConfig ? FormatPDiskConfig(*pdiskConfig) : "(empty)")
+ << " info.PDiskConfig# " << FormatPDiskConfig(info.PDiskConfig);
} else if (category != info.Category) {
throw TExError() << "Type/Kind fields do not match static one";
}
diff --git a/ydb/core/mind/bscontroller/defs.h b/ydb/core/mind/bscontroller/defs.h
index 162907fe8e..72ef4b9c54 100644
--- a/ydb/core/mind/bscontroller/defs.h
+++ b/ydb/core/mind/bscontroller/defs.h
@@ -29,6 +29,7 @@
#include <ydb/core/tablet/tablet_counters_protobuf.h>
#include <ydb/core/tablet/tablet_metrics.h>
#include <ydb/core/tablet/tablet_responsiveness_pinger.h>
+#include <ydb/core/util/pb.h>
#include <ydb/core/util/format.h>
#include <ydb/core/util/stlog.h>
#include <library/cpp/actors/core/actor_bootstrapped.h>