Validate cluster state during regression tests
It is often observed in CI that a test that leaves the cluster in an
inconsistent state (e.g. primary-mirror pair is not in sync, or
primary has not finished crash recovery) cause several following tests
in the schedule to fail. What's worse, the culprit test itself may be
reported as passed because its validation criteria did not include the
state of the cluster. This has found to mislead debugging efforts,
ultimately waste of time.
To make debugging CI failures more efficient, this patch enhances
pg_regress to perform the validation internally. If the validation
fails, further testing is aborted.
The validation is performed before running a group of tests specified
on one line in the schedule file. Also, validation is performed before
every single test, if running in serialized fashion.
When the cluster validation is found to fail, the culprit is in the
previously run test group.
This patch is built on the ground work and analysis laid out in
PR #9865 and PR #10825 by Wu Hao and Asim R P.
Reviewed-by: NAsim R P <pasim@vmware.com>
Showing
想要评论请 注册 或 登录