Re: Failures in constraints regression test, "read only 0 of 8192 bytes"

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Failures in constraints regression test, "read only 0 of 8192 bytes"
Дата
Msg-id 680fafbe-3422-457d-95c2-90f9aa9ac592@iki.fi
обсуждение исходный текст
Ответ на Re: Failures in constraints regression test, "read only 0 of 8192 bytes"  (Alexander Lakhin <exclusion@gmail.com>)
Ответы Re: Failures in constraints regression test, "read only 0 of 8192 bytes"
Список pgsql-hackers
On 19/06/2024 23:00, Alexander Lakhin wrote:
> Please look at a new anomaly, that I've discovered in master.
> 
> ...
> 
> triggers a segfault:
> 2024-06-19 19:22:49.009 UTC [1607210:6] LOG:  server process (PID 1607671) was terminated by signal 11: Segmentation
fault
> 
> ...
> 
> server.log might also contain:
> 2024-06-19 19:25:38.060 UTC [1618682:5] psql ERROR:  could not read blocks 3..3 in file "base/28531/28840": read only
0
> of 8192 bytes

Thanks for the report! I was not able to reproduce the segfault, but I 
do see the "could not read blocks" error very quickly with the script.

In commit af0e7deb4a, I removed the call to RelationCloseSmgr() from 
RelationCacheInvalidate(). I thought it was no longer needed, because we 
no longer free the underlying SmgrRelation.

However, it meant that if the relfilenode of the relation was changed, 
the relation keeps pointing to the SMgrRelation of the old relfilenode. 
So we still need the RelationCloseSmgr() call, in case the relfilenode 
has changed.

Per attached patch.

-- 
Heikki Linnakangas
Neon (https://neon.tech)

Вложения

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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: pg_combinebackup --clone doesn't work
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Pluggable cumulative statistics