in src/es_pii_tool/helpers/steps.py [0:0]
def _meta_forcemerge_index(task: 'Task', var: DotMap, **kwargs) -> str:
"""Do some task logging around the forcemerge api call"""
step = kwargs.pop('step', None)
if step is None:
raise MissingArgument('_meta_forcemerge_index', 'keyword argument', 'step')
index = var.redaction_target
msg = f'Before forcemerge, {api.report_segment_count(var.client, index)}'
logger.info(msg)
step.add_log(msg)
fmkwargs = {}
if 'forcemerge' in task.job.config:
fmkwargs = task.job.config['forcemerge']
fmkwargs['index'] = index
if 'only_expunge_deletes' in fmkwargs and fmkwargs['only_expunge_deletes']:
msg = 'Forcemerge will only expunge deleted docs!'
logger.info(msg)
step.add_log(msg)
else:
mns = 1 # default value
if 'max_num_segments' in fmkwargs and isinstance(
fmkwargs['max_num_segments'], int
):
mns = fmkwargs['max_num_segments']
msg = f'Proceeding to forcemerge to {mns} segments per shard'
logger.info(msg)
step.add_log(msg)
logger.debug('forcemerge kwargs = %s', fmkwargs)
# Do the actual forcemerging
api.forcemerge_index(var.client, **fmkwargs)
msg = f'After forcemerge, {api.report_segment_count(var.client, index)}'
logger.info(msg)
step.add_log(msg)
return msg