@@ -132,14 +132,18 @@ private static function wipeCluster(Client $client): void
132
132
$ client ->indices ()->deleteTemplate ([
133
133
'name ' => '* '
134
134
]);
135
- // Delete index template
136
- $ client ->indices ()->deleteIndexTemplate ([
137
- 'name ' => '* '
138
- ]);
139
- // Delete component template
140
- $ client ->cluster ()->deleteComponentTemplate ([
141
- 'name ' => '* '
142
- ]);
135
+ try {
136
+ // Delete index template
137
+ $ client ->indices ()->deleteIndexTemplate ([
138
+ 'name ' => '* '
139
+ ]);
140
+ // Delete component template
141
+ $ client ->cluster ()->deleteComponentTemplate ([
142
+ 'name ' => '* '
143
+ ]);
144
+ } catch (ElasticsearchException $ e ) {
145
+ // We hit a version of ES that doesn't support index templates v2 yet, so it's safe to ignore
146
+ }
143
147
}
144
148
145
149
self ::wipeClusterSettings ($ client );
@@ -314,33 +318,65 @@ private static function wipeTemplateForXpack(Client $client): void
314
318
if (version_compare (getenv ('STACK_VERSION ' ), '7.6.99 ' ) > 0 ) {
315
319
try {
316
320
$ result = $ client ->indices ()->getIndexTemplate ();
321
+ $ names = [];
317
322
foreach ($ result ['index_templates ' ] as $ template ) {
318
323
if (self ::isXPackTemplate ($ template ['name ' ])) {
319
324
continue ;
320
325
}
321
- try {
322
- $ client ->indices ()->deleteIndexTemplate ([
323
- 'name ' => $ template ['name ' ]
324
- ]);
325
- } catch (ElasticsearchException $ e ) {
326
- // unable to remove index template
326
+ $ names [] = $ template ['name ' ];
327
+ }
328
+ if (!empty ($ names )) {
329
+ if (version_compare (getenv ('STACK_VERSION ' ), '7.12.99 ' ) > 0 ) {
330
+ try {
331
+ $ client ->indices ()->deleteIndexTemplate ([
332
+ 'name ' => implode (', ' , $ names )
333
+ ]);
334
+ } catch (ElasticsearchException $ e ) {
335
+ // unable to remove index template
336
+ }
337
+ } else {
338
+ foreach ($ names as $ name ) {
339
+ try {
340
+ $ client ->indices ()->deleteIndexTemplate ([
341
+ 'name ' => $ name
342
+ ]);
343
+ } catch (ElasticsearchException $ e ) {
344
+ // unable to remove index template
345
+ }
346
+ }
327
347
}
328
348
}
329
349
} catch (ElasticsearchException $ e ) {
330
350
// We hit a version of ES that doesn't support index templates v2 yet, so it's safe to ignore
331
351
}
332
352
// Delete component template
333
353
$ result = $ client ->cluster ()->getComponentTemplate ();
354
+ $ names = [];
334
355
foreach ($ result ['component_templates ' ] as $ component ) {
335
356
if (self ::isXPackTemplate ($ component ['name ' ])) {
336
357
continue ;
337
358
}
338
- try {
339
- $ client ->cluster ()->deleteComponentTemplate ([
340
- 'name ' => $ component ['name ' ]
341
- ]);
342
- } catch (ElasticsearchException $ e ) {
343
- // We hit a version of ES that doesn't support index templates v2 yet, so it's safe to ignore
359
+ $ names [] = $ component ['name ' ];
360
+ }
361
+ if (!empty ($ names )) {
362
+ if (version_compare (getenv ('STACK_VERSION ' ), '7.12.99 ' ) > 0 ) {
363
+ try {
364
+ $ client ->cluster ()->deleteComponentTemplate ([
365
+ 'name ' => implode (', ' , $ names )
366
+ ]);
367
+ } catch (ElasticsearchException $ e ) {
368
+ // We hit a version of ES that doesn't support index templates v2 yet, so it's safe to ignore
369
+ }
370
+ } else {
371
+ foreach ($ names as $ name ) {
372
+ try {
373
+ $ client ->cluster ()->deleteComponentTemplate ([
374
+ 'name ' => $ name
375
+ ]);
376
+ } catch (ElasticsearchException $ e ) {
377
+ // We hit a version of ES that doesn't support index templates v2 yet, so it's safe to ignore
378
+ }
379
+ }
344
380
}
345
381
}
346
382
}
0 commit comments