neilzhu 6dd8e59864 first commit 1 month ago
..
README.md 6dd8e59864 first commit 1 month ago
alter-mz.td 6dd8e59864 first commit 1 month ago
alter-table-fix.td 6dd8e59864 first commit 1 month ago
alter-table.td 6dd8e59864 first commit 1 month ago
cleanup.td 6dd8e59864 first commit 1 month ago
configure-materialize.td 6dd8e59864 first commit 1 month ago
configure-postgres.td 6dd8e59864 first commit 1 month ago
configure-toxiproxy.td 6dd8e59864 first commit 1 month ago
delete-rows-t1.td 6dd8e59864 first commit 1 month ago
delete-rows-t2.td 6dd8e59864 first commit 1 month ago
mzcompose 6dd8e59864 first commit 1 month ago
mzcompose.py 6dd8e59864 first commit 1 month ago
populate-tables.td 6dd8e59864 first commit 1 month ago
postgres-disable-select-permission.td 6dd8e59864 first commit 1 month ago
toxiproxy-close-connection.td 6dd8e59864 first commit 1 month ago
toxiproxy-restore-connection.td 6dd8e59864 first commit 1 month ago
toxiproxy-timeout.td 6dd8e59864 first commit 1 month ago
verify-data.td 6dd8e59864 first commit 1 month ago
verify-postgres-select.td 6dd8e59864 first commit 1 month ago
verify-source-failed.td 6dd8e59864 first commit 1 month ago
wait-for-snapshot.td 6dd8e59864 first commit 1 month ago

README.md

This test suite checks the resumption logic for Postgres sources by performing inserts and deletes on the Postgres side, injecting some form of failure and then making sure that the Materialize side has been able to resume replicating and fully catches up after the interruption has been cleared.

The two different phases of Postgres replication are checked:

  • interruptions during the initial snapshot
  • interruptions during the actual replication

The following failures are injected:

  • disconnecting Postgres from Materialize via toxiproxy
  • restart of the Postgres server
  • restart of the Materialize instance

This test suite additionally checks the failure logic for Postgres sources by verifying that a source is put into a failed state upon detecting a restore to a point-in-time backup of the Postgres server

To run:

./mzcompose down -v ; ./mzcompose run default