powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Виснет 3.0.4 при Commit
16 сообщений из 41, страница 2 из 2
Виснет 3.0.4 при Commit
    #39831111
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockСтранно, почему тогда мне реконнект не помогА, не странно. Я скрипты, блин, в другом коннекшене выполняю, чем тот, где процедура вызывалась((
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831113
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкрентно этого зависания можно избежать, если не использовать WAIT тр-цию.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831117
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВисит именно там, где я и предполагал - при попытке взять лок индекса.
Имя индекса PK_MPOSTOSAP$REGIONS
Имени таблицы нет, есть только её ID - 132

Тр-ция - READ COMMITTED, RECORD_VERSION, WAIT
её номер 2292570Имя таблицы такое же, как и у индекса PK (только без префикса PK_).

Странно, что этот индекс лочится чз эту процедуру, но не разлочивается. Ведь стейтмент я уничтожил, как и транзакцию, в котором его запускал.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831118
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКонкрентно этого зависания можно избежать, если не использовать WAIT тр-цию.Влад, я уже пробовал, 3-й раз это пишу. То же самое.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831121
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockhvladКонкрентно этого зависания можно избежать, если не использовать WAIT тр-цию.Влад, я уже пробовал, 3-й раз это пишу. То же самое.Я это читал :) Но - в дампе я вижу WAIT.
Сделаешь с NOWAIT - могу глянуть, может там в другом месте проблема
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831124
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockСтранно, что этот индекс лочится чз эту процедуру, но не разлочивается. Ведь стейтмент я уничтожил, как и транзакцию, в котором его запускал.Стейтмент процедуры живёт в кеше метаданных.
И даже дроп процедуры не уничтожит его, iirc
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831127
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ это читал :) Но - в дампе я вижу WAIT.
Сделаешь с NOWAIT - могу глянуть, может там в другом месте проблемаПрикол в том, что если сделать транзакцию, в которой запускаешь процедуру, nowait - то да, это помогает.
А транзакция, которая индекс удаляет - не важно, какая.
Мне это очень сложно объяснить. Какой-то позор. Я не понимаю, какая разница, какой была та транзакция, если она уже завершена.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831146
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockhvladКонкрентно этого зависания можно избежать, если не использовать WAIT тр-цию.Влад, я уже пробовал, 3-й раз это пишу. То же самое.Оказалось, что это ложь. Я запутался.

С NOWAIT выдает object PK_MPOSTOSAP$REGIONS is in use.

Но опять непонятно.

Если в IBE, который лочит индекс, сделать NOWAIT-транзакцию - то потом всё работает и не виснет.

У меня же - не важно, какая транзакция, которая лочит - в результате либо зависон либо object is in use (завасит от WAIT/NOWAIT транзакции, которая удаляет индекс).
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831147
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockПрикол в том, что если сделать транзакцию, в которой запускаешь процедуру, nowait - то да, это помогает.Как это выглядит - в чём помощь проявляется ?

YuRockЯ не понимаю, какая разница, какой была та транзакция, если она уже завершена.Никакой. Ты куда-то не туда смотришь, скорее всего.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831151
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockС NOWAIT выдает object PK_MPOSTOSAP$REGIONS is in use.Так и должно быть, это правильно.

YuRockЕсли в IBE, который лочит индекс, сделать NOWAIT-транзакцию - то потом всё работает и не виснет.Гм...


YuRockУ меня же - не важно, какая транзакция, которая лочит - в результате либо зависон либо object is in use (завасит от WAIT/NOWAIT транзакции, которая удаляет индекс).Это - правильно.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831152
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЭто - правильно.

Ну и что делать-то?
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831154
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockhvladЭто - правильно.

Ну и что делать-то?Это зависит от того, кто делает :)
Ты - можешь попробовать реконнект, должен помочь.
Я (мы) - можем попробовать чистить кеш метаданных, но это не тривиально и не поможет тебе прямо сейчас.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831157
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТы - можешь попробовать реконнект, должен помочь.
Мда, это поможет, только для этого придется делать реконнект другого(их) коннекшена(ов)
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831159
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockhvladТы - можешь попробовать реконнект, должен помочь.
Мда, это поможет, только для этого придется делать реконнект другого(их) коннекшена(ов)

В общем, так и поступлю. Вроде эта процедура может вызываться только в коннекшене, к которому у меня есть доступ из обновлятора.
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831161
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С другой стороны - если ты не дропнешь этот индекс - всё пропало ? (ц)
Делай тр-цию с таймаутом, обрабатывай\игнорируй ошибку удаления индекса..
...
Рейтинг: 0 / 0
Виснет 3.0.4 при Commit
    #39831162
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladС другой стороны - если ты не дропнешь этот индекс - всё пропало ? (ц)
Делай тр-цию с таймаутом, обрабатывай\игнорируй ошибку удаления индекса..
Да, всё пропало. Я ж его не просто так дропаю, а чтоб пересоздать. Ключ в индекс добавляю.

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


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