MatrixGate 的容错机制

本文档介绍了 MatrixGate 的容错机制。

因为 MatrixGate 内部使用外部表机制,微批量将数据插入到目标表。所以,任何一条数据在入库时都是和其他提交的数据一起分批进入的。如果其中任何一条数据格式有错误,则整批数据都将入库失败。

从 4.3 开始,MatrixGate 增加了容错机制,单条数据格式错误不会影响其他数据入库,会返回错误数据信息并记录错误日志。

注意!
容错仅限格式错误,如果是违反约束规则(唯一索引)则还是会批量失败。

1 错误信息

与之前有错误数据就直接返回 HTTP 500 不同,容错后返回的 HTTP 码仍是 200。响应体中会包含错误行信息,例如:

At line: 2
missing data for column "c3"

2 阈值控制

当然,也不是无限制的容忍错误,容忍阈值与 GUC:gp_initial_bad_row_limit 相关。当错误数据行数超过 5 * gp_initial_bad_row_limit 时,批量写入失败。

更详细的使用方法请参考 MatrixGate