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

Добрый день) Подскажите как использовать pg_advisory_xact_lock на примере простого запроса? Погуглил, так

и не смог понять как правильно ей пользоваться, почему-то примеры для меня показались не явными(

30 ответов

21 просмотр

Да не используй это вообще, зачем оно?

Sergej D.- Автор вопроса

Стандартная ситуация: несколько подов, одна база. Нужна блокировка.

Sergej D.- Автор вопроса
Ilya Zviagin
Несколько чего?

Несколько инстансов приложения в кластере (кубер)

Sergej D.- Автор вопроса
Ilya Zviagin
И что с того?

Корректно не получается обработать это на джаве. Сыпятся дедлоки, если обрабатывать/отлавливать всё равно нормально не отрабатывает

Sergej D.
Корректно не получается обработать это на джаве. С...

Делай транзакции нормальные, и всё будет ок. Если deadlock, то это отдельный вопрос, надо разбираться детально

Sergej D.- Автор вопроса
Ilya Zviagin
Делай транзакции нормальные, и всё будет ок. Если ...

А почему не рекомендовано к использованию pg_advisory_xact_lock?

Sergej D.
А почему не рекомендовано к использованию pg_advis...

Потому что если ты не умеешь без этого нормально с данными работать, то и с этим точно не сможешь

Sergej D.
А почему не рекомендовано к использованию pg_advis...

Это не рекомендовано, это просто моё мнение основное на длительном опыте работы с БД. Если у тебя Дедлоки и такие проблемы с транзакциями, значит вы там что-то сильно не так делаете и вам уже ничто не поможет. Тем более если это на PG, где MVCC, очень хорошее управление concurrency и хороший оптимизатор.

Sergej D.- Автор вопроса
Ilya Zviagin
Это не рекомендовано, это просто моё мнение основн...

Там проблема в том, что могут приходить дубли,(например 2 в одно время, и срабатывает апдейт который ведет к дедлоку), но дубли обрабатывать слишком дорого для приложения, поэтому в таких случаях нужно просто коммититься и ничего не делать.

Sergej D.- Автор вопроса

В приложение из кафки приходят данные (дубли), их нужно обработать, и апдейтом положить в таблицу.

Sergej D.
В приложение из кафки приходят данные (дубли), их ...

Ну так очень странно у тебя есть Кафка У тебя есть какие-то задачи У тебя есть приложение и блядь при всём этом каким-то образом появляются какие-то дубли Да ещё приходят в базу данных несчастную которая блин этим всем должна заниматься и разгребать это дерьмо, ну тебе самому не смешно?

Sergej D.
В приложение из кафки приходят данные (дубли), их ...

А если ты начнёшь использовать системные средства по адреса чтобы каким-то Макаром как-то хитрожопообработать транзакцией то ты сразу же эту ситуацию разрулишь ну да ну да...

Sergej D.- Автор вопроса
Ilya Zviagin
Ну так очень странно у тебя есть Кафка У тебя есть...

Так эти дубли шлю не я, в этом и проблема, и этот сторонний сервис не поможет отправлять данные без них

Sergej D.
Так эти дубли шлю не я, в этом и проблема, и этот ...

Ты шлёшь или не ты шлёшь Это ничего не меняет

Sergej D.
Так эти дубли шлю не я, в этом и проблема, и этот ...

Короче Хочешь про PG adv lock - сходи лучше в чат по PG, а я всё сказал https://t.me/pgsql

Sergej D.
Там проблема в том, что могут приходить дубли,(нап...

Что за данные такие, что дубли дорого обрабатывать? Пробовали так делать, не справляется с нагрузкой?

Sergej D.- Автор вопроса

Проблема в том что дублей очень много и приходят очень очень часто, поэтому и тяжело от этого.

Sergej D.
Проблема в том что дублей очень много и приходят о...

Ну это уже ненормально как-то слегка у тебя стоит травка тебя стоит твоё приложение в нескольких экземплярах да видимо ещё что-то ну база данных понятно И всё это впустую молотит только для того чтобы убрать дубли...

Sergej D.
Проблема в том что дублей очень много и приходят о...

Если не у тебя эти дубли возникают то ты должен обратиться соответственно к коллегам которые занимаются архитектурой вашей системы и поставить перед ними проблему чтобы они избавились от этих дублей архитектурно и сразу в смысле чтобы мощности вычислительные вашей системы не тратились на поиски и устранения дублей то есть впустую

Sergej D.- Автор вопроса
Ilya Zviagin
Если не у тебя эти дубли возникают то ты должен об...

Это первое что сделал, но там с мертвой точки не получится сдвинуть. Как наверно догадываешься бюрократическая большая организация

Sergej D.
Это первое что сделал, но там с мертвой точки не п...

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

Ilya Zviagin
Ты чего это ?

Опечатка была неочевидная, да.

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

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

Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
10
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
13
Помните я тут рассказывал про таролога программистку? Мне выдали новый мем
Magic
6
Не читал, но осуждаю. Какая версия вапора? У нас при двойном запросе тоже падал, пока не обновили с патчем
Sergey
6
так, поясните, хороним хашиков?
Sergei Mikhaltsov
6
Было открыто два проекта в Xcode. В одном делал билд, а в другом просто ковырялся. Проц разогрелся до 99 градусов, изображение на дисплее посыпалось и через 5 секунд комп выру...
Alexander Sherbakov
10
а вайт живой или допился все таки?
✨ Uni [🌊 В отпуске]
5
посыпаю голову пеплом =) https://docs.vapor.codes/advanced/files/?h=stream#files
Seryoga
4
А зачем race_conditions из диалайзера выпилили?
Иванов
4
Привет всем, подскажите пожалуйста Тайлер имеет функционал для хранения данных из форм обратной связи?
Vyacheslav
7
Карта сайта