Improve infrastructure around Hyperscale tests
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
We have 2 seperate test schedules for hyperscale: `multi_schedule_hyperscale` that contains the tests that can be run as unprivileged user and `multi_schedule_hyperscale_superuser` that contains tests that need a privileged user.
Here are some ideas that can improve our test infrastructure for hyperscale schedules:
- [ ] Do not turn off MX by default. https://github.com/citusdata/citus/blob/2cdd49be5d43cfe4e48e479889bc20d79a977f90/src/test/regress/multi_schedule_hyperscale#L22
- [ ] Run the tests on Marlin instead of Meru
- [ ] Marlin has "$user, public" as the default schema hence citus schema comes before public. This causes a lot of changes in the test output.
- [ ] Revisit the contents of the 2 schedules and add more test files to them. Developers were expected to add new test files in that schedule, but that did not happen in the recent past.
- [ ] Raise awareness in the team about a policy on how to maintain these test infrastructure.
- [ ] Some test names are changed and we don't do the necessary changes on these schedules.
- [ ] Some of the normalization rules are not generic enough to capture things when hostname is not localhost, so this also causes some differences.
- [ ] Server side `COPY` commands that access test data files do not work for running tests on remote clusters. Consider changing them into client-side psql `\copy` commands as we did in https://github.com/citusdata/citus/pull/6138
Related:
- https://github.com/citusdata/citus/pull/5042
- https://github.com/citusdata/citus/issues/6138#issuecomment-1208690447
Contributor guide
Assessment
This issue has not been assessed yet.