powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Согласованное чтение в read commited и промежуточная сборка мусора
24 сообщений из 49, страница 2 из 2
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670149
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДавайте ещё раз уточним - рестарт имеет смысл только в том случае, когда тр-ция-конкурент уже не активна.
Если она активна, то выдаётся обычное сообщение о конфликте в котором первичный код ошибки - isc_deadlock и только вторичная ошибка будет isc_update_conflict.
Если же тр-ция-конкурент не активна, то делается рестрат запроса в новом снимке.
В коде сейчас прописано 10 попыток рестрата, после 10-ой будет выдана isc_update_conflict (без isc_deadlock).

Есть сомнения\возражения ?

Ну вот теперь в голове у меня все стало на свои места :)
Спасибо за пояснения!!!
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670364
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсть сомнения\возражения ?

На мой вкус 10 повторов это лишка, хватило бы и одного-двух.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670376
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНа мой вкус 10 повторов это лишка, хватило бы и одного-двух.Я же просил сомнения\возражения, а не брюзжание :)

Понятно, что 10 повторов - это слишком. Просто нужно было какой-то ограничитель поставить, на тот случай, которого "не может быть".
Это можно будет изменить до релиза, при необходимости.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670408
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А повторы с каким-то интервалом идут?
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670437
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,

С разумным интервалом!
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670448
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ExterisА повторы с каким-то интервалом идут?Пауза не нужна, т.к. известно, что тр-ция конкурент уже не активна - ждать нечего.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670459
Фотография Exteris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, тогда действительно 10 повторов - многовато.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670467
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exteris,

это на случай наша транзакция мега длительная, а пока она выполняется завершаются 10 и более коротких, причём старт-коммиты должны ещё и не удачно попасть до рестарта и каждый раз после рестарта. Конечно сценарий маловероятный, но мало ли
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670473
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати. Может вопрос немного не в тему, но мало ли есть связь.
Планируется ли сделать так чтобы запросы к MON$ вели себя по разному в зависимости от уровня изолированности транзакции?
Раньше вроде RC был не очень пригоден поэтому для MON$ всегда работал SNAPSHOT, а теперь вроде как доступна консистентная информация на уровне запроса.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670533
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

ошибаешься. независимо от уровня изолированности информация в mon$ всегда собирается как снимок (snapshot не по уровню изолированности), потому что иначе в RC невозможно согласованное получение данных из связанных таблиц.
Как раз самое правильное - получение mon$ в read read committed.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670547
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

так оно и так в новом RC снимок. Вот только для обновления информации в MON$ сейчас надо перезапускать транзакцию, а для ряда случаев достаточно было бы просто перевыполнить запрос. Т.е. можно было бы менять поведения в зависимости от того где запрашивается информация из MON$ в RC или SNAPSHOT
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670556
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

да ну нафиг. Если ты лезешь в mon$statements, то тебе потом явно захочется посмотреть в mon$attachments, или в mon$transactions.
А если они в RC, то
1. получить консистентные данные получится только джойном
2. всё равно с производительностью будет плохо, потому что запрос к одной таблице опять потребует сканирования состояния всех коннектов.
3. вычитка mon$ в режиме RC предполагает их частое "дрюкание". См. пункт 2.

Этот вопрос обсуждался еще когда mon$ делались. Разработчики решили делать снапшот, читаемый в любой транзакции.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ же просил сомнения\возражения, а не брюзжание :)

Это и есть сомнение: если сейчас длинный апдейт валится через пару минут с ошибкой
конфликта, то с десятью повторами его время выполнения будет колебаться от двух до 20
минут в зависимости от фазы Луны. Если не будет простого способа обнаружить наличие
рестартов, это создаст ещё одну трудно диагностируемую проблему производительности для
поддержки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670609
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕсли не будет простого способа обнаружить наличие
рестартов, это создаст ещё одну трудно диагностируемую проблему производительности для
поддержки.Я же писал выше. Хочешь ловить рестарты - делай обработчик ошибки в PSQL блоке
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670613
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ же писал выше. Хочешь ловить рестарты - делай обработчик ошибки в PSQL блоке

Ты думаешь как разработчик, который пишет код. Попробуй для разнообразия подумать как
работник техподдержки, которому клиент жалуется на "update долго работает".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670617
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Такая ситуация потенциально может быть если ты только обновляешь не меньше миллиона строк. Это и без всяких рестартов будет больно
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670629
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТакая ситуация потенциально может быть если ты только обновляешь не меньше миллиона строк.

Тот же S-Market способен регулярно обновлять и по пять миллионов записей одним махом.
Качество разработчиков софта в мире не растёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670632
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

и что одновременно эти 5 миллионов кто-то ещё правит? Ну предположим правит, вот будет облом апдейту, запустят его снова с клиента. Что будет быстрее что ли?
Вроде эта одна из тех операций которая должна завершится в любом случае. А вот диагностика конечно нужна. Можно например ввести в MON$STATEMENTS счётчик рестартов
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670633
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladЯ же писал выше. Хочешь ловить рестарты - делай обработчик ошибки в PSQL блоке

Ты думаешь как разработчик, который пишет код. Попробуй для разнообразия подумать как
работник техподдержки, которому клиент жалуется на "update долго работает".Рестарт делает движок, или рестарт делает само приложение - в чём разница для техподдержки ?
У тебя есть способ обеспечить ему счастье ? Рассказывай, подумаем. Для разнообразия
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670647
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

точнее в MON$RECORD_STATS
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39670653
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТот же S-Market способен регулярно обновлять и по пять миллионов записей одним махом.
Качество разработчиков софта в мире не растёт.

Это же обработка данных за промежуток времени, остатки, продажи и т.п. Не мешай в одну кучу.
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39681990
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

в RDB$TYPES для MON$ISOLATION_MODE забыли добавить
4 - READ_CONSISTENCY
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39681994
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее READ_COMMITED_CONSISTENCY. Ну вам виднее как назвать
...
Рейтинг: 0 / 0
Согласованное чтение в read commited и промежуточная сборка мусора
    #39682024
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

добавлю, спасибо
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Согласованное чтение в read commited и промежуточная сборка мусора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]