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 таблицы. От размера таблицы появление ошибки действительно не зависит.
Это поможет создать воспроизводимый пример ?
Я его воспроизвожу с завидной регулярностью
, сейчас изменил настройку учения, пока молчит, партизан. Но заставить его ошибаться думаю смогу.
-
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 часов
Ну как - отресторилось ?
-
Chemist
- Сообщения: 88
- Зарегистрирован: 27 окт 2004, 09:39
Сообщение
Chemist » 13 сен 2006, 17:13
hvlad писал(а):Chemist писал(а):Попробую, но результаты будут нескоро, один рестор идет ~12 часов
Ну как - отресторилось ?
Отресторилась, 18 часов
, тихий шок
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 13 сен 2006, 20:03
Chemist писал(а):Отресторилась, 18 часов
, тихий шок
Гм, да, не быстро
И как себя ведёт пациент ?
-
Chemist
- Сообщения: 88
- Зарегистрирован: 27 окт 2004, 09:39
Сообщение
Chemist » 13 сен 2006, 20:58
hvlad писал(а):Chemist писал(а):Отресторилась, 18 часов
, тихий шок
Гм, да, не быстро
И как себя ведёт пациент ?
Запуск намечен на 21.00 московского времени. Вариант пока "щадащий", с разнесением некоторых операций по времени. Если все будет хорошо, нагружу как следует, уберу некоторые задержки.
PS. Поехали (с) Ю. Гагарин
-
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-болванках. Которые можно отправить мне или Владу экпресс-почтой или я могу приехать на софтул и забрать их вживую. Так что вариантов действий много
Откуда известно про маленький вариант? Что-то непомню я о том, чтобы я его про него упоминал
, т.к., в принципе, он неинтересен. Есть промежуточные back'апы и сами файлы сгенерированной БД, ну не самоубийца же я, чтобы не иметь запасных аэродромов.
Помимо БД, надо еще стенд учений тащить. О нем ты - да и Влад -можешь поинтересовать у Д.Кузменко или А.Ковязина. Они его видели.