fix bug: multi-insert all_column_checksum_error_info

This commit is contained in:
obdev
2022-11-15 12:10:21 +00:00
committed by wangzelin.wzl
parent 3c66d1a97b
commit 0d37562338
4 changed files with 9 additions and 9 deletions

View File

@ -87,9 +87,12 @@ int ObColumnChecksumErrorOperator::insert_column_checksum_err_info_(
LOG_WARN("fail to add pk column", KR(ret), K(tenant_id), K(info));
} else if (OB_FAIL(exec.exec_insert_update(OB_ALL_COLUMN_CHECKSUM_ERROR_INFO_TNAME, dml, affected_rows))) {
LOG_WARN("fail to splice exec_insert_update", KR(ret), K(meta_tenant_id), K(info));
} else if (!is_single_row(affected_rows)) {
} else if (affected_rows < 0 || affected_rows > 2) {
// one ckm_error info may insert multi-times due to verifying checksum multi-times. if re-insert, cuz we
// use 'on duplicate key update', the 'affected_rows' may be 0(not pk_column values unchanged)
// or 2(not pk_column values changed)
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("unexpected affected rows", KR(ret), K(affected_rows), K(meta_tenant_id), K(info));
LOG_WARN("unexpected affected rows", KR(ret), K(affected_rows));
}
return ret;
}