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

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

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

30 ответов

63 просмотра

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

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
Ты чего это ?

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

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
6
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
8
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Карта сайта