lock conversion denied (215) или lock denied (216)

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 11 сен 2006, 19:18

hvlad писал(а):
Chemist писал(а):IBSurgeon наконец-то прочитал БД, как понять к какой таблице относится offset страницы.
В редакторе страницы показывается RelationID
Посмотрел. В этом "бардаке" учавствует всего 3 таблицы. От размера таблицы появление ошибки действительно не зависит.
hvlad писал(а):
Chemist писал(а):PS. Будут еще патчи для проверки?
Мне нужно подумать. В идеале, конечно, хотелось бы иметь у себя воспроизводимый пример.
Может в момент возникновения dump таблицы блокировок как-нибудь снять. Впрочем завтра обещал подъехать Д.Кузменко, можно с ним решить этот вопрос.

ЗЫ. А что дает провека на min_page?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 11 сен 2006, 21:35

Chemist писал(а):Копия отресторенной БД есть, жду пока скопируется, сервер само-собой остановлен.
Рестор нужно делать пропатченной сборкой !
Chemist писал(а):В этом "бардаке" учавствует всего 3 таблицы. От размера таблицы появление ошибки действительно не зависит.
Это поможет создать воспроизводимый пример ?
Chemist писал(а):
hvlad писал(а):
Chemist писал(а):PS. Будут еще патчи для проверки?
Мне нужно подумать. В идеале, конечно, хотелось бы иметь у себя воспроизводимый пример.
Может в момент возникновения dump таблицы блокировок как-нибудь снять.
Боюсь этого не будет достаточно
Chemist писал(а):ЗЫ. А что дает провека на min_page?
Упорядочивает страницы в цепочках версий и фрагментов по их физ. номерам. Т.е. заставляет каждый следующий фрагмент \ версию располагаться на странице с бОльшим номером, чем предыдущая.
Это должно разрулить дедлоки

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 11 сен 2006, 21:45

hvlad писал(а):
Chemist писал(а):ЗЫ. А что дает провека на min_page?
Упорядочивает страницы в цепочках версий и фрагментов по их физ. номерам. Т.е. заставляет каждый следующий фрагмент \ версию располагаться на странице с бОльшим номером, чем предыдущая.
Это должно разрулить дедлоки
А это не приведёт к быстрому распуханию базы из-за ограничений в использовании освобождающегося после GC места? И вообще места на свеженачатой странице (если ты не имел в виду "бОльшим или равным")

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 11 сен 2006, 21:54

Merlin писал(а):
hvlad писал(а):
Chemist писал(а):ЗЫ. А что дает провека на min_page?
Упорядочивает страницы в цепочках версий и фрагментов по их физ. номерам. Т.е. заставляет каждый следующий фрагмент \ версию располагаться на странице с бОльшим номером, чем предыдущая.
Это должно разрулить дедлоки
А это не приведёт к быстрому распуханию базы из-за ограничений в использовании освобождающегося после GC места? И вообще места на свеженачатой странице (если ты не имел в виду "бОльшим или равным")
По идее не должно проверка (dp_number >= min_page)

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 11 сен 2006, 22:00

hvlad писал(а):
Chemist писал(а):Копия отресторенной БД есть, жду пока скопируется, сервер само-собой остановлен.
Рестор нужно делать пропатченной сборкой !
Опа! А что изменилось, и как это влияет?
hvlad писал(а):
Chemist писал(а):В этом "бардаке" учавствует всего 3 таблицы. От размера таблицы появление ошибки действительно не зависит.
Это поможет создать воспроизводимый пример ?
Я его воспроизвожу с завидной регулярностью :P, сейчас изменил настройку учения, пока молчит, партизан. Но заставить его ошибаться думаю смогу.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 11 сен 2006, 22:14

Chemist писал(а):А это не приведёт к быстрому распуханию базы из-за ограничений в использовании освобождающегося после GC места? И вообще места на свеженачатой странице (если ты не имел в виду "бОльшим или равным")
Не приведёт, т.к. это относится только к бекверсиям и фрагментам. Новые версии записей могут попадать на любые страницы.
Chemist писал(а):
hvlad писал(а):
Chemist писал(а):Копия отресторенной БД есть, жду пока скопируется, сервер само-собой остановлен.
Рестор нужно делать пропатченной сборкой !
Опа! А что изменилось, и как это влияет?
Фрагменты записей, образованные при ресторе, уже будут упорядоченны по физ. номерам страниц.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 11 сен 2006, 22:34

Merlin писал(а):А это не приведёт к быстрому распуханию базы из-за ограничений в использовании освобождающегося после GC места? И вообще места на свеженачатой странице (если ты не имел в виду "бОльшим или равным")
Для бекверсии всегда сначала ищется место на той же странице, что и главная версия.
Фрагменты никогда не хранятся на той же странице - по-определению
Данный патч вмешивается именно в поиск места на других страницах

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 12 сен 2006, 10:34

hvlad писал(а):
Chemist писал(а):Копия отресторенной БД есть, жду пока скопируется, сервер само-собой остановлен.
Рестор нужно делать пропатченной сборкой !
Ну так что - попробуешь ?

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 12 сен 2006, 11:05

hvlad писал(а):
hvlad писал(а):
Chemist писал(а):Копия отресторенной БД есть, жду пока скопируется, сервер само-собой остановлен.
Рестор нужно делать пропатченной сборкой !
Ну так что - попробуешь ?
Попробую, но результаты будут нескоро, один рестор идет ~12 часов. Все таки хочется проверить это на больших объемах, так будет более показательно.

ЗЫ. После изменения натройки учения на стенде - были разнесены некоторые операции во времени - ошибка за 8 часов работы проявилась только 3 раза.

ЗЫЫ. Кстати, почему после make install и старта сервера, он не видит правильное количество семафоров, которое выделено операционкой, крутится вокруг магического числа 32. Помогает только полна перезагрузка сервера.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 12 сен 2006, 11:17

Chemist писал(а):
hvlad писал(а):Ну так что - попробуешь ?
Попробую, но результаты будут нескоро, один рестор идет ~12 часов. Все таки хочется проверить это на больших объемах, так будет более показательно.
Ок, хотя мы знаем, что от объемов оно не зависит :)
Chemist писал(а):ЗЫ. После изменения натройки учения на стенде - были разнесены некоторые операции во времени - ошибка за 8 часов работы проявилась только 3 раза.
Э... гм... а старые настройки вернуть можно будет ? Для тестирования именно этой баги
Chemist писал(а):ЗЫЫ. Кстати, почему после make install и старта сервера, он не видит правильное количество семафоров, которое выделено операционкой, крутится вокруг магического числа 32. Помогает только полна перезагрузка сервера.
Не могу знать :(

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 12 сен 2006, 11:30

hvlad писал(а):Ок, хотя мы знаем, что от объемов оно не зависит :)
Я это уже понял, после изучения кода, но обжегшись на горячем дуешь на холодное :). Да и скорость операции над большим объемом данных все-таки по времени идет дольше, чем на маленьком. Следовательно вероятность попасть в эту ошибку на меньших объемах снижается.
hvlad писал(а):
Chemist писал(а):ЗЫ. После изменения натройки учения на стенде - были разнесены некоторые операции во времени - ошибка за 8 часов работы проявилась только 3 раза.
Э... гм... а старые настройки вернуть можно будет ? Для тестирования именно этой баги
У меня есть backup'ы стендовых учений. Впрочем, на память тоже помню что нужно сделать.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 13 сен 2006, 16:10

Chemist писал(а):Попробую, но результаты будут нескоро, один рестор идет ~12 часов
Ну как - отресторилось ? :wink:

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 13 сен 2006, 17:13

hvlad писал(а):
Chemist писал(а):Попробую, но результаты будут нескоро, один рестор идет ~12 часов
Ну как - отресторилось ? :wink:
Отресторилась, 18 часов :x, тихий шок :)

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 13 сен 2006, 20:03

Chemist писал(а):Отресторилась, 18 часов :x, тихий шок :)
Гм, да, не быстро :)

И как себя ведёт пациент ?

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 13 сен 2006, 20:58

hvlad писал(а):
Chemist писал(а):Отресторилась, 18 часов :x, тихий шок :)
Гм, да, не быстро :)

И как себя ведёт пациент ?
Запуск намечен на 21.00 московского времени. Вариант пока "щадащий", с разнесением некоторых операций по времени. Если все будет хорошо, нагружу как следует, уберу некоторые задержки.

PS. Поехали (с) Ю. Гагарин :wink:

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 14 сен 2006, 10:16

hvlad писал(а):И как себя ведёт пациент ?
Пациент присмерти.
Вот весь лог за 6 часов работы

Код: Выделить всё

localhost	Thu Sep 14 00:18:23 2006
	Database: /samba/db/stand_base_test.fdb
	page 6161930, page type 5 lock conversion denied (215)


localhost	Thu Sep 14 00:18:34 2006
	Database: /samba/db/stand_base_test.fdb
	page 6161627, page type 5 lock conversion denied (215)


localhost	Thu Sep 14 01:07:56 2006
	Database: /samba/db/stand_base_test.fdb
	page 6177612, page type 5 lock conversion denied (215)


localhost	Thu Sep 14 01:47:43 2006
	Database: /samba/db/stand_base_test.fdb
	page 6185836, page type 5 lock conversion denied (215)
PS. Думаю нагружать уже не стоит, кол-во ошибок просто увеличиться.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 14 сен 2006, 10:45

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

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 14 сен 2006, 11:27

кстати, ваш "маленький" вариант (который 60 гиг) после gbak-а и gzip-а вполне уместится на трех DVD-болванках. Которые можно отправить мне или Владу экпресс-почтой или я могу приехать на софтул и забрать их вживую. Так что вариантов действий много :-)

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 14 сен 2006, 11:56

dimitr писал(а):если Влад более ничего конкретного не предложит, то я бы рекомендовал привести тестовый стенд только к проблемным таблицам (чтобы не требовать базу в 100 гиг), после чего передать его нам.
Жду реакции. Привести стенд к проблемным таблицам нереально, все взаимосвязано, да и проявится ли этот эффект на кастрированном стенде не известно, т.е время можно потратить, а результата не будет.

Chemist
Сообщения: 88
Зарегистрирован: 27 окт 2004, 09:39

Сообщение Chemist » 14 сен 2006, 12:04

dimitr писал(а):кстати, ваш "маленький" вариант (который 60 гиг) после gbak-а и gzip-а вполне уместится на трех DVD-болванках. Которые можно отправить мне или Владу экпресс-почтой или я могу приехать на софтул и забрать их вживую. Так что вариантов действий много :-)
Откуда известно про маленький вариант? Что-то непомню я о том, чтобы я его про него упоминал :wink:, т.к., в принципе, он неинтересен. Есть промежуточные back'апы и сами файлы сгенерированной БД, ну не самоубийца же я, чтобы не иметь запасных аэродромов.

Помимо БД, надо еще стенд учений тащить. О нем ты - да и Влад -можешь поинтересовать у Д.Кузменко или А.Ковязина. Они его видели.

Ответить