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

Добрый день всем. Заметил, что в бинлоге mysql много записей SET

TRANSACTION ISOLATION LEVEL READ COMMITTED
счет идет на сотни тысяч. приложения не используют транзакции. это сам mysql сервер их подставляет? репликация row
Вопрос возник т.к. реплика споткнулась об один такой запрос и встала в состояние
Slave_SQL_Running_State: Waiting for dependent transaction to commit
на двух разных серверах на одной позиции

5 ответов

14 просмотров

Что то мне подсказывает у вас клиент выставляет уровень изоляции

Андрей-Ворслов Автор вопроса
Viktor 🇨🇾
Что то мне подсказывает у вас клиент выставляет ур...

Логично предположить судя по объему этих транзакций в бинлоге, но, специально, в коде транзакции не ставятся точно. клиент на php yii2

Проблема не в том, что у вас транзакции используются, в innoDB, как уже заметила Света, даже select запрос - это транзакция. Реплика встала, вероятно потому, что у вас параллельные воркеры сконфигурены. Независимые транзакции будут параллельно применяться, а зависимые операции будут ждать друг друга. Грубо говоря, если транзакция 1 вставляет в таблицу запись, а транзакция 2 потом обновляет данные в этой записи, то 2 не может выполниться раньше 1. Скорее всего у вас просто какой-то очень долгий запрос (Update/Delete) применяется на реплике, в результате просто все остальное висит и ждет его. Я бы в эту сторону смотрел. А на счет READ COMMITTED - это не дефолтный уровень изоляции. Следовательно либо у вас глобально изменен уровень изоляции, либо ваш клиент выставляет этот уровень.

Андрей-Ворслов Автор вопроса
Maks
Проблема не в том, что у вас транзакции используют...

Да, многопоточность была настроена, но, после того как реплика стопнулась на полчаса, многопоточность убрали и перезапускали реплику в один поток, но это не помогло. Помогло только скипнуть эту танзакцию

Андрей Ворслов
Да, многопоточность была настроена, но, после того...

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

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

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

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
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта