diff --git a/cloud/blockstore/libs/daemon/ydb/bootstrap.cpp b/cloud/blockstore/libs/daemon/ydb/bootstrap.cpp index 941075b4573..7715c238e8b 100644 --- a/cloud/blockstore/libs/daemon/ydb/bootstrap.cpp +++ b/cloud/blockstore/libs/daemon/ydb/bootstrap.cpp @@ -575,6 +575,8 @@ void TBootstrapYdb::InitKikimrService() args.EndpointEventHandler = EndpointEventHandler; args.RootKmsKeyProvider = RootKmsKeyProvider; + args.TemporaryServer = Configs->Options->TemporaryServer; + ActorSystem = NStorage::CreateActorSystem(args); if (args.IsDiskRegistrySpareNode) { diff --git a/cloud/blockstore/libs/storage/init/server/actorsystem.cpp b/cloud/blockstore/libs/storage/init/server/actorsystem.cpp index ea5b107cb3b..4e01109b0d1 100644 --- a/cloud/blockstore/libs/storage/init/server/actorsystem.cpp +++ b/cloud/blockstore/libs/storage/init/server/actorsystem.cpp @@ -139,11 +139,17 @@ class TStorageServicesInitializer final // auto hiveProxy = CreateHiveProxy({ - .PipeClientRetryCount = Args.StorageConfig->GetPipeClientRetryCount(), - .PipeClientMinRetryTime = Args.StorageConfig->GetPipeClientMinRetryTime(), - .HiveLockExpireTimeout = Args.StorageConfig->GetHiveLockExpireTimeout(), + .PipeClientRetryCount = + Args.StorageConfig->GetPipeClientRetryCount(), + .PipeClientMinRetryTime = + Args.StorageConfig->GetPipeClientMinRetryTime(), + .HiveLockExpireTimeout = + Args.StorageConfig->GetHiveLockExpireTimeout(), .LogComponent = TBlockStoreComponents::HIVE_PROXY, - .TabletBootInfoBackupFilePath = Args.StorageConfig->GetTabletBootInfoBackupFilePath(), + .TabletBootInfoBackupFilePath = + Args.TemporaryServer + ? "" + : Args.StorageConfig->GetTabletBootInfoBackupFilePath(), .FallbackMode = Args.StorageConfig->GetHiveProxyFallbackMode(), .TenantHiveTabletId = Args.StorageConfig->GetTenantHiveTabletId(), }); diff --git a/cloud/blockstore/libs/storage/init/server/actorsystem.h b/cloud/blockstore/libs/storage/init/server/actorsystem.h index 2c30e6edf1e..3c1aec90187 100644 --- a/cloud/blockstore/libs/storage/init/server/actorsystem.h +++ b/cloud/blockstore/libs/storage/init/server/actorsystem.h @@ -71,6 +71,7 @@ struct TServerActorSystemArgs TVector UserCounterProviders; bool IsDiskRegistrySpareNode = false; + bool TemporaryServer = false; }; //////////////////////////////////////////////////////////////////////////////// diff --git a/cloud/storage/core/libs/hive_proxy/hive_proxy_ut.cpp b/cloud/storage/core/libs/hive_proxy/hive_proxy_ut.cpp index 7d51f50452b..c239a3afbe1 100644 --- a/cloud/storage/core/libs/hive_proxy/hive_proxy_ut.cpp +++ b/cloud/storage/core/libs/hive_proxy/hive_proxy_ut.cpp @@ -1103,6 +1103,18 @@ Y_UNIT_TEST_SUITE(THiveProxyTest) UNIT_ASSERT(env.HiveState->DownNodeIds.contains(sender.NodeId())); } + Y_UNIT_TEST(DontBackupWithEmptyBootInfoFilePath) + { + TString cacheFilePath = ""; + + TTestBasicRuntime runtime; + TTestEnv env(runtime, cacheFilePath); + + auto sender = runtime.AllocateEdgeActor(); + + env.SendBackupTabletBootInfos(sender, S_FALSE); + } + Y_UNIT_TEST(BootExternalInFallbackMode) { TString cacheFilePath =