lemur489
Дата: 07.04.2015 17:37:47
Всем привет.
Довольно-таки давно в проект закралась проблема.
Несколько потоков(20) импортируют данные(1000+ объектов) и в случае если объект существует в базе обновляет, если нет - создаёт.
Но иногда выдаёт ошибку
SQL Error: 0, SQLState: 23505
ERROR JDBCExceptionReporter:234 - ERROR: duplicate key value violates unique constraint "some_key"
Главная проблема, что это происходит иногда и на абсолютно случайных объектах, без какой либо закономерности.
Нашел некоторые упоминания на англоязычных форумах, но там темы так и остались без ответа.
Предпологаю, что проблема именно в многопоточности.
Кто-нибудь сталкивался с чем-нибудь похожим?
Версия Postgres 9.1.
Заранее благодарю!
p2.
Дата: 07.04.2015 17:59:25
lemur489,
поскольку в постресе нет мерджа, предположу, что используются два оператора в реад-комиттед.
типичная ошибка разработчиков, далеких от понимания транзакционной модели работы с данными.