@@ -9,19 +9,19 @@ namespace NKikimr::NStorage {
9
9
10
10
using TInvokeRequestHandlerActor = TDistributedConfigKeeper::TInvokeRequestHandlerActor;
11
11
12
- bool TInvokeRequestHandlerActor::GetRecommendedStateStorageConfig (NKikimrBlobStorage::TStateStorageConfig* currentConfig, bool pileupReplicas, ui32 overrideReplicasInRingCount, ui32 overrideRingsCount) {
12
+ bool TInvokeRequestHandlerActor::GetRecommendedStateStorageConfig (NKikimrBlobStorage::TStateStorageConfig* currentConfig, bool pileupReplicas, ui32 overrideReplicasInRingCount, ui32 overrideRingsCount, ui32 replicasSpecificVolume ) {
13
13
const NKikimrBlobStorage::TStorageConfig& config = *Self->StorageConfig ;
14
14
bool result = true ;
15
15
std::unordered_set<ui32> usedNodes;
16
- result &= Self->GenerateStateStorageConfig (currentConfig->MutableStateStorageConfig (), config, usedNodes, config.GetStateStorageConfig (), overrideReplicasInRingCount, overrideRingsCount);
16
+ result &= Self->GenerateStateStorageConfig (currentConfig->MutableStateStorageConfig (), config, usedNodes, config.GetStateStorageConfig (), overrideReplicasInRingCount, overrideRingsCount, replicasSpecificVolume );
17
17
if (pileupReplicas) {
18
18
usedNodes.clear ();
19
19
}
20
- result &= Self->GenerateStateStorageConfig (currentConfig->MutableStateStorageBoardConfig (), config, usedNodes, config.GetStateStorageBoardConfig (), overrideReplicasInRingCount, overrideRingsCount);
20
+ result &= Self->GenerateStateStorageConfig (currentConfig->MutableStateStorageBoardConfig (), config, usedNodes, config.GetStateStorageBoardConfig (), overrideReplicasInRingCount, overrideRingsCount, replicasSpecificVolume );
21
21
if (pileupReplicas) {
22
22
usedNodes.clear ();
23
23
}
24
- result &= Self->GenerateStateStorageConfig (currentConfig->MutableSchemeBoardConfig (), config, usedNodes, config.GetSchemeBoardConfig (), overrideReplicasInRingCount, overrideRingsCount);
24
+ result &= Self->GenerateStateStorageConfig (currentConfig->MutableSchemeBoardConfig (), config, usedNodes, config.GetSchemeBoardConfig (), overrideReplicasInRingCount, overrideRingsCount, replicasSpecificVolume );
25
25
return result;
26
26
}
27
27
@@ -97,7 +97,7 @@ namespace NKikimr::NStorage {
97
97
auto * currentConfig = record->MutableStateStorageConfig ();
98
98
99
99
if (cmd.GetRecommended ()) {
100
- GetRecommendedStateStorageConfig (currentConfig, cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount ());
100
+ GetRecommendedStateStorageConfig (currentConfig, cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount (), cmd. GetReplicasSpecificVolume () );
101
101
AdjustRingGroupActorIdOffsetInRecommendedStateStorageConfig (currentConfig);
102
102
} else {
103
103
GetCurrentStateStorageConfig (currentConfig, cmd.GetNodesState ());
@@ -112,20 +112,20 @@ namespace NKikimr::NStorage {
112
112
Self->SelfHealNodesState [node.GetNodeId ()] = node.GetState ();
113
113
}
114
114
if (cmd.GetEnableSelfHealStateStorage ()) {
115
- SelfHealStateStorage (cmd.GetWaitForConfigStep (), true , cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount ());
115
+ SelfHealStateStorage (cmd.GetWaitForConfigStep (), true , cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount (), cmd. GetReplicasSpecificVolume () );
116
116
}
117
117
}
118
118
119
119
void TInvokeRequestHandlerActor::SelfHealStateStorage (const TQuery::TSelfHealStateStorage& cmd) {
120
- SelfHealStateStorage (cmd.GetWaitForConfigStep (), cmd.GetForceHeal (), cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount ());
120
+ SelfHealStateStorage (cmd.GetWaitForConfigStep (), cmd.GetForceHeal (), cmd.GetPileupReplicas (), cmd.GetOverrideReplicasInRingCount (), cmd.GetOverrideRingsCount (), cmd. GetReplicasSpecificVolume () );
121
121
}
122
122
123
- void TInvokeRequestHandlerActor::SelfHealStateStorage (ui32 waitForConfigStep, bool forceHeal, bool pileupReplicas, ui32 overrideReplicasInRingCount, ui32 overrideRingsCount) {
123
+ void TInvokeRequestHandlerActor::SelfHealStateStorage (ui32 waitForConfigStep, bool forceHeal, bool pileupReplicas, ui32 overrideReplicasInRingCount, ui32 overrideRingsCount, ui32 replicasSpecificVolume ) {
124
124
RunCommonChecks ();
125
125
STLOG (PRI_DEBUG, BS_NODE, NW105, " TInvokeRequestHandlerActor::SelfHealStateStorage" , (waitForConfigStep, waitForConfigStep),
126
- (forceHeal, forceHeal), (pileupReplicas, pileupReplicas), (overrideReplicasInRingCount, overrideReplicasInRingCount), (overrideRingsCount, overrideRingsCount));
126
+ (forceHeal, forceHeal), (pileupReplicas, pileupReplicas), (overrideReplicasInRingCount, overrideReplicasInRingCount), (overrideRingsCount, overrideRingsCount), (replicasSpecificVolume, replicasSpecificVolume) );
127
127
NKikimrBlobStorage::TStateStorageConfig targetConfig;
128
- if (!GetRecommendedStateStorageConfig (&targetConfig, pileupReplicas, overrideReplicasInRingCount, overrideRingsCount) && !forceHeal) {
128
+ if (!GetRecommendedStateStorageConfig (&targetConfig, pileupReplicas, overrideReplicasInRingCount, overrideRingsCount, replicasSpecificVolume ) && !forceHeal) {
129
129
throw TExError () << " Recommended configuration has faulty nodes and can not be applyed" ;
130
130
}
131
131
0 commit comments