Re: ERROR: tuple concurrently updated when modifying privileges

Поиск
Список
Период
Сортировка
От Chris Travers
Тема Re: ERROR: tuple concurrently updated when modifying privileges
Дата
Msg-id CAN-RpxAgXWxttz9HCr1jAtnPXLnW7ezeLZ6G8+aCMu8gy+EDjg@mail.gmail.com
обсуждение исходный текст
Ответ на ERROR: tuple concurrently updated when modifying privileges  (nickb <nickb@imap.cc>)
Ответы Re: ERROR: tuple concurrently updated when modifying privileges  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers


On Tue, Apr 30, 2019 at 11:26 AM nickb <nickb@imap.cc> wrote:
Hello, hackers

we witnessed this slightly misleading error in production and it took us a while to figure out what was taking place.
Below are reproduction steps:


-- setup
create table trun(cate int4);

-- session 1
begin;
truncate table trun;

-- session 2
grant insert on table trun to postgres;

-- session 1
end;

-- session 2:
ERROR: XX000: tuple concurrently updated
LOCATION: simple_heap_update, heapam.c:4474

Apparently the tuple in question is the pg_class entry of the table being truncated. I didn't look too deep into the cause, but I'm certain the error message could be improved at least.

Having thought about this a bit, I think the best solution would be to have grant take out an access share lock to the tables granted.  This would prevent concurrent alter table operations from altering the schema underneath the grant as well, and thus possibly cause other race conditions.

Any thoughts? 

Regards,
Nick.




--
Best Regards,
Chris Travers
Head of Database

Tel: +49 162 9037 210 | Skype: einhverfr | www.adjust.com 
Saarbrücker Straße 37a, 10405 Berlin

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

Предыдущее
От: Thomas Munro
Дата:
Сообщение: Tab completion for CREATE TYPE
Следующее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: Tab completion for CREATE TYPE