diff options
-rw-r--r-- | ydb/core/mind/bscontroller/config_fit_pdisks.cpp | 9 | ||||
-rw-r--r-- | ydb/core/mind/bscontroller/defs.h | 1 |
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> |