Re: In-core regression tests for replication, cascading, archiving, PITR, etc.
От | Michael Paquier |
---|---|
Тема | Re: In-core regression tests for replication, cascading, archiving, PITR, etc. |
Дата | |
Msg-id | CAB7nPqQ+oRiTWcTVayPBe3v=p_yRQH2Bd6bG5JLbp6Wmv5a5Nw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: In-core regression tests for replication, cascading, archiving, PITR, etc. (Michael Paquier <michael.paquier@gmail.com>) |
Ответы |
Re: In-core regression tests for replication, cascading, archiving,
PITR, etc.
|
Список | pgsql-hackers |
On Wed, Mar 11, 2015 at 3:04 PM, Michael Paquier wrote: > On Wed, Mar 11, 2015 at 2:47 PM, Noah Misch <noah@leadboat.com> wrote: >> On Sun, Mar 08, 2015 at 08:19:39PM +0900, Michael Paquier wrote: >>> So I am planning to seriously focus soon on this stuff, basically >>> using the TAP tests as base infrastructure for this regression test >>> suite. First, does using the TAP tests sound fine? >> >> Yes. > > Check. > >>> On the top of my mind I got the following items that should be tested: >>> - WAL replay: from archive, from stream >>> - hot standby and read-only queries >>> - node promotion >>> - recovery targets and their interferences when multiple targets are >>> specified (XID, name, timestamp, immediate) >>> - timelines >>> - recovery_target_action >>> - recovery_min_apply_delay (check that WAL is fetch from a source at >>> some correct interval, can use a special restore_command for that) >>> - archive_cleanup_command (check that command is kicked at each restart point) >>> - recovery_end_command (check that command is kicked at the end of recovery) >>> - timeline jump of a standby after reconnecting to a promoted node So, as long as I had a clear picture of what I wanted to do regarding this stuff (even if this is a busy commit fest, sorry), I have been toying around with perl and I have finished with the patch attached, adding some base structure for a new test suite covering recovery. This patch includes basic tests for the following items: - node promotion, test of archiving, streaming, replication cascading - recovery targets XID, name, timestamp, immediate and PITR - Timeline jump of a standby when reconnecting to a newly-promoted standby - Replay delay Tests are located in src/test/recovery, and are not part of the main test suite, similarly to the ssl stuff. I have dropped recovery_target_action for the time being as long as the matter on the other thread is not set (http://www.postgresql.org/message-id/20150315132707.GB19792@alap3.anarazel.de), and I don't think that it would be complicated to create tests for that btw. The most important part of this patch is not the tests themselves, but the base set of routines allowing to simply create nodes, take backups, create standbys from backups, and set up nodes to do stuff like streaming, archiving, or restoring from archives. There are many configurations possible of course in recovery.conf, but the set of routines that this patch present are made to be *simple* to not overcomplicate the way tests can be written. Feedback is of course welcome, but note that I am not seriously expecting any until we get into 9.6 development cycle and I am adding this patch to the next CF. Regards, -- Michael
Вложения
В списке pgsql-hackers по дате отправления: