172 похожих чатов

Postgres_1 | 2021-10-19 09:05:59.127 UTC [245] ERROR:

deadlock detected
postgres_1 | 2021-10-19 09:05:59.127 UTC [245] DETAIL: Process 245 waits for ShareLock on transaction 1156; blocked by process 241. а это как дебажить? подскажите?

8 ответов

20 просмотров

Слушайте, да прекратите вы, наконец, отправлять по три запроса в одном вызове! Вы не умеете это отлавливать, зачем вы продолжаете это делать? (А так -- ну, включить логирование запросов, если непонятно, за что они друг друга так).

Alex-Kharlamov Автор вопроса
Ilya Anfimov
Слушайте, да прекратите вы, наконец, отправлять по...

ок, буду тогда в одну транзакцию по 3 - 4 запроса, так наверное лучше )

Alex-Kharlamov Автор вопроса
Ilya Anfimov
Слушайте, да прекратите вы, наконец, отправлять по...

postgres_1 | 2021-10-19 09:46:43.797 UTC [300] ERROR: deadlock detected postgres_1 | 2021-10-19 09:46:43.797 UTC [300] DETAIL: Process 300 waits for ShareLock on transaction 1198; blocked by process 296. postgres_1 | Process 296 waits for ShareLock on transaction 1208; blocked by process 300. postgres_1 | Process 300: INSERT INTO cookies (....) SELECT ... FROM tmp_cookie_data ON CONFLICT ON CONSTRAINT cookie_data_uniq DO update set group_id=EXCLUDED.group_id, file_id=EXCLUDED.file_id, browser=EXCLUDED.browser, expire=EXCLUDED.expire, created_at=EXCLUDED.created_at, updated_at=EXCLUDED.updated_at; не спасло, все равно дедлоки

Alex Kharlamov
postgres_1 | 2021-10-19 09:46:43.797 UTC [300] ...

1) Это и не должно было спасти. Я просто говорю, что вы не умеете разделять то, что вызываете в одном вызове вашэй библиотеки. Ну, так прекратите. 2) Он -- это кто? Posgres? Разуеется. Каждый коннэкт выполняется параллельно с остальными. Прекратить можно заблокировав всё в начале транзакцыи, до чтения.

Alex Kharlamov
postgres_1 | 2021-10-19 09:46:43.797 UTC [300] ...

В любом случае -- ну, включайте log_statement. Там видно будет, какие запросы пролетели, заодно и их история -- из каких файлов получились эти значения.

Alex Kharlamov
postgres_1 | 2021-10-19 09:46:43.797 UTC [300] ...

А вообще -- если реально у вас несколько подобных загрузок параллельно идут -- то ничего удивительного в дедлоках нет. Попробуйте сериализовать как-то.

Alex Kharlamov
postgres_1 | 2021-10-19 09:46:43.797 UTC [300] ...

Туплю, кстати. Попробуйте отсортировать данные в INSERT по какому-нибудь глобально-стабильному (т.е. одинаковому по сортировке для параллельных INSERT) критэрию?

Alex-Kharlamov Автор вопроса
Ilya Anfimov
1) Это и не должно было спасти. Я просто говорю, ч...

в итоге если интересрно, то у меня оказалась параллельная вставка из за чего и происходили дедлоки, я просто воткнул мьютекс внутри транзакции на вставку и все сразу стало ок ) спасибо )

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта