pgsql: Fix isolationtester race condition for notices sent beforeblock

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix isolationtester race condition for notices sent beforeblock
Дата
Msg-id E1i7WIE-00077P-CT@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix isolationtester race condition for notices sent before blocking.

If a test sends a notice just before blocking, it's possible on
slow machines for isolationtester to detect the blocked state before
it's consumed the notice.  (For this to happen, the notice would have
to arrive after isolationtester has waited for data for 10ms, so on
fast/lightly-loaded machines it's hard to reproduce the failure.)
But, if we have seen the backend as blocked, it's certainly already
sent any notices it's going to send.  Therefore, one more round of
PQconsumeInput and PQisBusy should be enough to collect and process
any such notices.

Back-patch of 30717637c into v12.  We're still discussing whether
to back-patch this further and/or back-patch some other recent
isolationtester fixes, but this much is provably necessary to
make the test cases added by 27cc7cd2b stable in v12.

Discussion: https://postgr.es/m/14616.1564251339@sss.pgh.pa.us
Discussion: https://postgr.es/m/E1i7IqC-0000Uc-5H@gemulon.postgresql.org

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/97fb88ea4a646343d5f0a8cd65b7e5f598785cb4

Modified Files
--------------
src/test/isolation/isolationtester.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Reorder EPQ work, to fix rowmark related bugs and improve effici
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: Reorder EPQ work, to fix rowmark related bugs and improveeffici