[migration] don't skip bulk error check if count unmatch

This commit is contained in:
Kassian Sun 2023-06-08 14:09:37 +08:00 committed by Gitea
parent 9f90e49ae4
commit 355b6d3a9c
1 changed files with 10 additions and 7 deletions

View File

@ -461,15 +461,18 @@ func (p *processor) checkBulkPipelineTaskStatus(bulkTask *task.Task, cfg *migrat
)
successDocs = migration_util.GetMapIntValue(bulkLabels, "success_docs")
if !cfg.Target.SkipCountCheck && successDocs != totalDocs {
return true, successDocs, fmt.Errorf("bulk complete but docs count unmatch: %d / %d, invalid docs: [%s] (reasons: [%s]), failure docs: [%s] (reasons: [%s])", successDocs, totalDocs, invalidDocs, invalidReasons, failureDocs, failureReasons)
}
// successDocs matched but has errors
if bulkTask.Status == task.StatusError {
return true, successDocs, nil
if successDocs != totalDocs {
// check count
if !cfg.Target.SkipCountCheck {
return true, successDocs, fmt.Errorf("bulk complete but docs count unmatch: %d / %d, invalid docs: [%s] (reasons: [%s]), failure docs: [%s] (reasons: [%s])", successDocs, totalDocs, invalidDocs, invalidReasons, failureDocs, failureReasons)
}
// has errors
if bulkTask.Status == task.StatusError {
return true, successDocs, fmt.Errorf("bulk pipeline failed")
}
}
// successDocs matched, return ok
return true, successDocs, nil
}