From 1eb1175d9d0c9d700a4df3597527b036ef7cb50b Mon Sep 17 00:00:00 2001 From: Thierry Bordaz Date: Fri, 19 Jan 2018 17:50:59 +0100 Subject: [PATCH] Ticket 49540 - Indexing task is reported finished too early regarding the backend status Bug Description: If a task complete successfully, its status is updated before the backend can receive update. Fix Description: postpone the task status update after backend is reenabled https://pagure.io/389-ds-base/issue/49540 Reviewed by: ? Platforms tested: Flag Day: no Doc impact: no --- ldap/servers/slapd/back-ldbm/ldif2ldbm.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ldap/servers/slapd/back-ldbm/ldif2ldbm.c b/ldap/servers/slapd/back-ldbm/ldif2ldbm.c index 4347c1721..daea5283d 100644 --- a/ldap/servers/slapd/back-ldbm/ldif2ldbm.c +++ b/ldap/servers/slapd/back-ldbm/ldif2ldbm.c @@ -2562,12 +2562,7 @@ ldbm_back_ldbm2index(Slapi_PBlock *pb) vlvIndex_go_online(pvlv[vlvidx], be); } - if (task) { - slapi_task_log_status(task, "%s: Finished indexing.", - inst->inst_name); - slapi_task_log_notice(task, "%s: Finished indexing.", - inst->inst_name); - } + /* if it was a task, its status will be updated later after backend is ready for update */ slapi_log_err(SLAPI_LOG_INFO, "ldbm_back_ldbm2index", "%s: Finished indexing.\n", inst->inst_name); return_value = 0; /* success */ @@ -2590,6 +2585,15 @@ err_out: err_min: dblayer_release_id2entry(be, db); /* nope */ instance_set_not_busy(inst); + + if (return_value == 0) { + if (task) { + slapi_task_log_status(task, "%s: Finished indexing.", + inst->inst_name); + slapi_task_log_notice(task, "%s: Finished indexing.", + inst->inst_name); + } + } if (run_from_cmdline) { dblayer_instance_close(be); -- 2.13.6