Re: [HACKERS] Timing-sensitive case in src/test/recovery TAP tests
От | Michael Paquier |
---|---|
Тема | Re: [HACKERS] Timing-sensitive case in src/test/recovery TAP tests |
Дата | |
Msg-id | CAB7nPqSfqN_Y16nLSMRVfDM7OAnWJ7mOCxgQZ_zip95sNjZ_Xw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Timing-sensitive case in src/test/recovery TAP tests (Craig Ringer <craig@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Timing-sensitive case in src/test/recovery TAP tests
|
Список | pgsql-hackers |
On Mon, Jun 26, 2017 at 11:44 AM, Craig Ringer <craig@2ndquadrant.com> wrote: > On 26 June 2017 at 10:09, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Michael Paquier <michael.paquier@gmail.com> writes: >>> On Mon, Jun 26, 2017 at 10:48 AM, Craig Ringer <craig@2ndquadrant.com> wrote: >>>> $node_standby_1->poll_query_until('postgres', q[SELECT xmin IS NULL >>>> from pg_replication_slots WHERE slot_name = '] . $slotname_2 . q[']); >> >>> +1 for avoiding a sleep call if it is not necessary. Fast platforms >>> would always pay a cost on that, and slow platforms would wait 1s (or >>> more!) when polling for the result. >> >>> Could it be possible to remove as well the second sleep(2) call in >>> this test please? >> >> Yes, I'd like to see those fixed sleeps go away too. Want to work >> on a concrete patch? > > > Attached. Thanks for the patch. As long as we are on it, there is this code block in the test: my ($xmin, $catalog_xmin) = get_slot_xmins($node_master, $slotname_1); is($xmin, '', 'non-cascaded slot xmin null with no hs_feedback'); is($catalog_xmin, '', 'non-cascaded slot xmin null with no hs_feedback'); ($xmin, $catalog_xmin) = get_slot_xmins($node_standby_1, $slotname_2); is($xmin, '', 'cascaded slot xmin null with no hs_feedback'); is($catalog_xmin, '', 'cascaded slot xmin null with no hs_feedback'); This should be more verbose as the 2nd and 4th test should say "catalog xmin" instead of xmin. Also, wouldn't it be better to poll as well node_standby_1's pg_replication_slot on slotname_2? It would really seem better to make the nullness check conditional in get_slot_xmins instead. Sorry for changing opinion here. -- Michael
В списке pgsql-hackers по дате отправления: