|
race condition при создании новой партиции
|
|||
---|---|---|---|
#18+
Добрый день! Используем такой код для автоматического создания новых партиций (PostgreSQL 10.6): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Насколько я понимаю, партиция должна создаваться всегда - либо в текущей транзакции, либо в конкурентной. Но оказалось, что это не так - сегодня столкнулись с ситуацией, когда одна из транзакций не смогла вставить данные в таблицу в течение короткого промежутка времени по причине ее отсутствия. Что я упустил? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 17:01 |
|
race condition при создании новой партиции
|
|||
---|---|---|---|
#18+
bff7755a, Возможно вы получаете исключение не undefined_table , а что-то другое. Соответственно, вы его не перехватываете и вставка падает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 19:51 |
|
race condition при создании новой партиции
|
|||
---|---|---|---|
#18+
vyegorov bff7755a, Возможно вы получаете исключение не undefined_table , а что-то другое. Соответственно, вы его не перехватываете и вставка падает. Логи говорят, что ошибки были при попытке повторной вставки записи. И ошибки эти вида "relation ... does not exist at character ...". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 20:10 |
|
race condition при создании новой партиции
|
|||
---|---|---|---|
#18+
bff7755a, приведите весь лог (кусок от начала вставок и до конца) . там по ходу создания много что ещё может навернуться, если воссоздаются все индексы, чеки, дефолты , констрайнты, триггера и т.п. -- неплохо бы понять, что ещё в вашем случае может упираться. например у вас может обламываться первая транзакция, а не вторая. (табличку создадут обе, в очередь на локе, вторая -- после отката первой -- и она и закоммитит) например при вставке на каком--либо чеке или нот нулл-е. логи у вас с pid-ами, надеюсь ? потом иногда создание партиечки выносят в автономии -- т.ч. зря скипнули код создания ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2019, 11:38 |
|
|
start [/forum/topic.php?fid=53&msg=39889922&tid=1994936]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 132ms |
0 / 0 |