File tree Expand file tree Collapse file tree 1 file changed +15
-4
lines changed
app/code/Magento/Elasticsearch/Model/Adapter Expand file tree Collapse file tree 1 file changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -239,12 +239,23 @@ public function cleanIndex($storeId, $mappedIndexerId)
239
239
// prepare new index name and increase version
240
240
$ indexPattern = $ this ->indexNameResolver ->getIndexPattern ($ storeId , $ mappedIndexerId );
241
241
$ version = (int )(str_replace ($ indexPattern , '' , $ indexName ));
242
- $ newIndexName = $ indexPattern . (++$ version );
243
242
244
- // remove index if already exists
245
- if ($ this ->client ->indexExists ($ newIndexName )) {
243
+ // compatibility with snapshotting collision
244
+ $ deleteQueue = [];
245
+ do {
246
+ $ newIndexName = $ indexPattern . (++$ version );
247
+ if ($ this ->client ->indexExists ($ newIndexName )) {
248
+ $ deleteQueue []= $ newIndexName ;
249
+ $ indexExists = true ;
250
+ } else {
251
+ $ indexExists = false ;
252
+ }
253
+ } while ($ indexExists );
254
+
255
+ foreach ($ deleteQueue as $ indexToDelete ) {
256
+ // remove index if already exists
246
257
try {
247
- $ this ->client ->deleteIndex ($ newIndexName );
258
+ $ this ->client ->deleteIndex ($ indexToDelete );
248
259
} catch (\Exception $ e ) {
249
260
$ this ->logger ->critical ($ e );
250
261
}
You can’t perform that action at this time.
0 commit comments