@@ -68,7 +68,8 @@ public void testErrorCondition() {
68
68
assertTrue (
69
69
expectThrows (IllegalStateException .class , () ->
70
70
TransportResizeAction .prepareCreateIndexRequest (new ResizeRequest ("target" , "source" ), state ,
71
- new StoreStats (between (1 , 100 ), between (1 , 100 )), (i ) -> new DocsStats (Integer .MAX_VALUE , between (1 , 1000 ),
71
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between (1 , 100 )),
72
+ (i ) -> new DocsStats (Integer .MAX_VALUE , between (1 , 1000 ),
72
73
between (1 , 100 )), "target" )
73
74
).getMessage ().startsWith ("Can't merge index with more than [2147483519] docs - too many documents in shards " ));
74
75
@@ -80,7 +81,7 @@ public void testErrorCondition() {
80
81
TransportResizeAction .prepareCreateIndexRequest (req ,
81
82
createClusterState ("source" , 8 , 1 ,
82
83
Settings .builder ().put ("index.blocks.write" , true ).build ()).metadata ().index ("source" ),
83
- new StoreStats (between (1 , 100 ), between (1 , 100 )),
84
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between ( 1 , 100 )),
84
85
(i ) -> i == 2 || i == 3 ? new DocsStats (Integer .MAX_VALUE / 2 , between (1 , 1000 ), between (1 , 10000 )) : null
85
86
, "target" );
86
87
}
@@ -94,7 +95,7 @@ public void testErrorCondition() {
94
95
createClusterState ("source" , 8 , 1 ,
95
96
Settings .builder ().put ("index.blocks.write" , true ).put ("index.soft_deletes.enabled" , true ).build ())
96
97
.metadata ().index ("source" ),
97
- new StoreStats (between (1 , 100 ), between (1 , 100 )),
98
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between ( 1 , 100 )),
98
99
(i ) -> new DocsStats (between (10 , 1000 ), between (1 , 10 ), between (1 , 10000 )), "target" );
99
100
});
100
101
assertThat (softDeletesError .getMessage (), equalTo ("Can't disable [index.soft_deletes.enabled] setting on resize" ));
@@ -115,7 +116,7 @@ public void testErrorCondition() {
115
116
clusterState = ClusterState .builder (clusterState ).routingTable (routingTable ).build ();
116
117
117
118
TransportResizeAction .prepareCreateIndexRequest (new ResizeRequest ("target" , "source" ), clusterState .metadata ().index ("source" ),
118
- new StoreStats (between (1 , 100 ), between (1 , 100 )),
119
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between ( 1 , 100 )),
119
120
(i ) -> new DocsStats (between (1 , 1000 ), between (1 , 1000 ), between (0 , 10000 )), "target" );
120
121
}
121
122
@@ -139,15 +140,17 @@ public void testPassNumRoutingShards() {
139
140
resizeRequest .getTargetIndexRequest ()
140
141
.settings (Settings .builder ().put ("index.number_of_shards" , 2 ).build ());
141
142
IndexMetadata indexMetadata = clusterState .metadata ().index ("source" );
142
- TransportResizeAction .prepareCreateIndexRequest (resizeRequest , indexMetadata , new StoreStats (between (1 , 100 ), between (1 , 100 )),
143
+ TransportResizeAction .prepareCreateIndexRequest (resizeRequest , indexMetadata ,
144
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between (1 , 100 )),
143
145
null , "target" );
144
146
145
147
resizeRequest .getTargetIndexRequest ()
146
148
.settings (Settings .builder ()
147
149
.put ("index.number_of_routing_shards" , randomIntBetween (2 , 10 ))
148
150
.put ("index.number_of_shards" , 2 )
149
151
.build ());
150
- TransportResizeAction .prepareCreateIndexRequest (resizeRequest , indexMetadata , new StoreStats (between (1 , 100 ), between (1 , 100 )),
152
+ TransportResizeAction .prepareCreateIndexRequest (resizeRequest , indexMetadata ,
153
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between (1 , 100 )),
151
154
null , "target" );
152
155
}
153
156
@@ -172,7 +175,7 @@ public void testPassNumRoutingShardsAndFail() {
172
175
resizeRequest .getTargetIndexRequest ()
173
176
.settings (Settings .builder ().put ("index.number_of_shards" , numShards * 2 ).build ());
174
177
TransportResizeAction .prepareCreateIndexRequest (resizeRequest , clusterState .metadata ().index ("source" ),
175
- new StoreStats (between (1 , 100 ), between (1 , 100 )), null , "target" );
178
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between ( 1 , 100 )), null , "target" );
176
179
177
180
resizeRequest .getTargetIndexRequest ()
178
181
.settings (Settings .builder ()
@@ -181,7 +184,7 @@ public void testPassNumRoutingShardsAndFail() {
181
184
ClusterState finalState = clusterState ;
182
185
IllegalArgumentException iae = expectThrows (IllegalArgumentException .class ,
183
186
() -> TransportResizeAction .prepareCreateIndexRequest (resizeRequest , finalState .metadata ().index ("source" ),
184
- new StoreStats (between (1 , 100 ), between (1 , 100 )), null , "target" ));
187
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between ( 1 , 100 )), null , "target" ));
185
188
assertEquals ("cannot provide index.number_of_routing_shards on resize" , iae .getMessage ());
186
189
}
187
190
@@ -209,7 +212,8 @@ public void testShrinkIndexSettings() {
209
212
final ActiveShardCount activeShardCount = randomBoolean () ? ActiveShardCount .ALL : ActiveShardCount .ONE ;
210
213
target .setWaitForActiveShards (activeShardCount );
211
214
CreateIndexClusterStateUpdateRequest request = TransportResizeAction .prepareCreateIndexRequest (
212
- target , clusterState .metadata ().index (indexName ), new StoreStats (between (1 , 100 ), between (1 , 100 )), (i ) -> stats , "target" );
215
+ target , clusterState .metadata ().index (indexName ),
216
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between (1 , 100 )), (i ) -> stats , "target" );
213
217
assertNotNull (request .recoverFrom ());
214
218
assertEquals (indexName , request .recoverFrom ().getName ());
215
219
assertEquals ("1" , request .settings ().get ("index.number_of_shards" ));
@@ -240,7 +244,8 @@ public void testShrinkWithMaxPrimaryShardSize() {
240
244
.settings (Settings .builder ().put ("index.number_of_shards" , 2 ).build ());
241
245
assertTrue (
242
246
expectThrows (IllegalArgumentException .class , () ->
243
- TransportResizeAction .prepareCreateIndexRequest (resizeRequest , state , new StoreStats (between (1 , 100 ), between (1 , 100 )),
247
+ TransportResizeAction .prepareCreateIndexRequest (resizeRequest , state ,
248
+ new StoreStats (between (1 , 100 ), between (0 , 100 ), between (1 , 100 )),
244
249
(i ) -> new DocsStats (Integer .MAX_VALUE , between (1 , 1000 ), between (1 , 100 )), "target" )
245
250
).getMessage ().startsWith ("Cannot set both index.number_of_shards and max_primary_shard_size for the target index" ));
246
251
@@ -266,7 +271,7 @@ public void testShrinkWithMaxPrimaryShardSize() {
266
271
// each shard's storage will not be greater than the `max_primary_shard_size`
267
272
ResizeRequest target1 = new ResizeRequest ("target" , "source" );
268
273
target1 .setMaxPrimaryShardSize (new ByteSizeValue (2 ));
269
- StoreStats storeStats = new StoreStats (10 , between (1 , 100 ));
274
+ StoreStats storeStats = new StoreStats (10 , between (0 , 100 ), between ( 1 , 100 ));
270
275
final int targetIndexShardsNum1 = 5 ;
271
276
final ActiveShardCount activeShardCount1 = ActiveShardCount .from (targetIndexShardsNum1 );
272
277
target1 .setWaitForActiveShards (targetIndexShardsNum1 );
@@ -283,7 +288,7 @@ public void testShrinkWithMaxPrimaryShardSize() {
283
288
// the shards number of the target index will be equal to the source index's shards number
284
289
ResizeRequest target2 = new ResizeRequest ("target2" , "source" );
285
290
target2 .setMaxPrimaryShardSize (new ByteSizeValue (1 ));
286
- StoreStats storeStats2 = new StoreStats (100 , between (1 , 100 ));
291
+ StoreStats storeStats2 = new StoreStats (100 , between (0 , 100 ), between ( 1 , 100 ));
287
292
final int targetIndexShardsNum2 = 10 ;
288
293
final ActiveShardCount activeShardCount2 = ActiveShardCount .from (targetIndexShardsNum2 );
289
294
target2 .setWaitForActiveShards (activeShardCount2 );
0 commit comments