@@ -394,7 +394,20 @@ def reindex_all(self, batch_size=1000):
394
394
"""
395
395
try :
396
396
if self .settings :
397
- self .__tmp_index .set_settings (self .settings )
397
+ replicas = self .settings .get ('replicas' , None )
398
+ slaves = self .settings .get ('slaves' , None )
399
+
400
+ should_keep_replicas = replicas is not None
401
+ should_keep_slaves = slaves is not None
402
+
403
+ if should_keep_replicas :
404
+ self .settings ['replicas' ] = []
405
+ logger .debug ("REMOVE REPLICAS FROM SETTINGS" )
406
+ if should_keep_slaves :
407
+ self .settings ['slaves' ] = []
408
+ logger .debug ("REMOVE SLAVES FROM SETTINGS" )
409
+
410
+ self .__tmp_index .wait_task (self .__tmp_index .set_settings (self .settings )['taskID' ])
398
411
logger .debug ('APPLY SETTINGS ON %s_tmp' , self .index_name )
399
412
self .__tmp_index .clear_index ()
400
413
logger .debug ('CLEAR INDEX %s_tmp' , self .index_name )
@@ -428,6 +441,16 @@ def reindex_all(self, batch_size=1000):
428
441
self .__index .index_name )
429
442
logger .info ('MOVE INDEX %s_tmp TO %s' , self .index_name ,
430
443
self .index_name )
444
+
445
+ if self .settings :
446
+ if should_keep_replicas :
447
+ self .settings ['replicas' ] = replicas
448
+ logger .debug ("RESTORE REPLICAS" )
449
+ if should_keep_slaves :
450
+ self .settings ['slaves' ] = slaves
451
+ logger .debug ("RESTORE SLAVES" )
452
+ if should_keep_replicas or should_keep_slaves :
453
+ self .__index .set_settings (self .settings )
431
454
return counts
432
455
except AlgoliaException as e :
433
456
if DEBUG :
0 commit comments