powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
24 сообщений из 24, страница 1 из 1
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651548
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а также (по номерам аттачей) - "адреса-пароли-явки", т.е. IP'шники и имена приложений ?
(интересует прежде всего FB 3.x, SS)
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651632
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже если есть, что ты с оными аттачами будешь делать?
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651636
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне IP'шники нужны - просто чтобы понять, где забыл вырубить коннект
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651659
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вырубай все по списку из mon$attachments, не ошибешься. А еще лучше базу в шатдаун отправить.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651699
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

ну шатдаун он слишком брутален и вырубит всех кроме sysdba. Я так понимаю Таблоиду хочется вырубить всех кто использует процедуру/функцию/пакет чтобы произвести накат обновлений, а тот кто её не использует пусть себе работает дальше
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651706
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

шатдаун вырубит всех без исключений, после чего подключаешься и прогоняешь скрипты (речь про single-user shutdown). А в его сценарии тот, кто в данную секунду (когда мы проверяем) не работает с изменяемые метаданными, может в следующую секунду уже затянуть их в кеш. И скрипт снова вывалит object-in-use. Будем до бесконечности ловить юзеров за хвост?
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651741
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,
теоретические ситуации на то и теоретические.
На реальных объектах в режиме 24x7, коих у меня лично в обслуживании более сотни и по 5-30 пользователей + внешние WEB-сервисы аналогичные ситуации возникают всего несколько раз в год. И только в авральном порядке. Именно когда требуется накатить срочные правки "вживую".
Это в моём случае касается только читающих процедур. Если пакет содержит прочие обновления, то только в монопольном режиме, конечно же.
А висяки при завертывании FB внутрь zebedee образуются при обрыве внешних коннектов достаточно часто (бухи по xDSL/3G в удаленных офисах снимают отчеты).
В своё время мы ведь применимость канделябра за апгрейд метаданных без отключения пользователей обсуждали и сошлись во мнении, что для читающих процедур можно сделать исключение, если пренебречь возможными расхождениями в возвращаемых данных.
У меня так совершенно однозначно "object in use" = "висяк", т.к. за десятилетия выдрессированные пользователи с программами работают быстро и не задерживаясь, печатая отчеты сразу, закрывая приложения корректно и, "убегают на рынок покупать кости любимой собачке".
По MON$-таблицам вычисляется это все, конечно.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651748
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

пока по mon таблицам ты не только не получишь того кто удерживает объект, но и вообще список удерживаемых объектов. А в планах на FB3, ЕМНИП, была только общая статистика по количеству откомпилированных, отпарсенных процедур без собственно указания их имени
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651756
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

для общего кеша метаданных (его вроде в FB3 нету) можно было бы вытеснять из кеша те процедуры для которых транзакция завершена в случае их компиляции. Но тут транзакции должны быть короткими. И как раз обычно наоборот на чтение они могут быть длинными
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651778
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,
а мне полный список и не нужен на практике. Достаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту.
У меня совершенно однотипные разовые ситуации, я уже привык к ним.
Про общую постановку вопроса я и не имел в виду ничего, Боже упаси!
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651791
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aДостаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту.

И вот тут во весь рост встаёт проблема поиска этих проблемных объектов в запросе. Поскольку
Код: sql
1.
MON$SQL_TEXT        BLOB SUB_TYPE 1

, а поиск в блобах довольно дорогая операция, впрочем как и вообще обращение к mon$ таблицам
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651821
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисдля общего кеша метаданных (его вроде в FB3 нету) можно было бы
вытеснять из кеша те процедуры для которых транзакция завершена в случае их компиляции.
А для необщего кэша метаданных можно было бы организовать настоящую версионность
метаданных, когда те, кто работал со старой версией - продолжают с ней работать, а те, кто
может видеть новую версию - используют её.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651842
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисo_v_aДостаточно присутствия имени проблемного объекта в тексте активного запроса, который принадлежит длительному коннекту.

И вот тут во весь рост встаёт проблема поиска этих проблемных объектов в запросе. Поскольку
Код: sql
1.
MON$SQL_TEXT        BLOB SUB_TYPE 1

, а поиск в блобах довольно дорогая операция, впрочем как и вообще обращение к mon$ таблицам
Несомненно.
Но в моем случае я сначала отсекаю ненужные аттачи. Внешка, завёрнутая в zebedee, выглядит как аттач с localhost да и в купе с "правильным" именем приложения. Я ж не коня в вакууме разбираю, правда, и знаю, какое приложение накосячить могло при работе с тем или иным объектом, который "in use"? ;)
А на серваках выделенных отродясь никто не работает среди наших систем. Посему виновный коннект вычисляется у нас мигом.
Системы без выделенного сервера - те проще перезагрузить целиком, как правило им это позволительно.
Среди оставшихся одного-двух- и роюсь :) Чаще просто коннект дохлый просто удаляю, конечно.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651844
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисдорогая операция, впрочем как и вообще обращение к mon$ таблицам+1.
Но вообще-то, у мну всё проще: запущен ИБЭ, в нём - Script Executive. Я не смогу его выполнить, если где-то еще торчит isql, выполнивший хотя бы один запрос к базе и считавший в себя метаданные. Искать этот isql на своей машине - не вопрос, но когда он был открыт еще где-то из 3-4 других тачек - утомляет, ибо забываешь про это.
Если сообщение про object in use так легко и непринуждённо выдаёт номер транзакции, которая держит, то почему нельзя выдать еще и IP'шник (ведь тогда сразу ясно, куда лезть).
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651848
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА для необщего кэша метаданных можно было бы организовать настоящую версионность
метаданных, когда те, кто работал со старой версией - продолжают с ней работать, а те, кто
может видеть новую версию - используют её.Нельзя.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651854
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЕсли сообщение про object in use так легко и непринуждённо выдаёт номер транзакции, которая держит, то почему нельзя выдать еще и IP'шник (ведь тогда сразу ясно, куда лезть).Потому что если выдаётся номер тр-ции, это значит что он известен (например из заголовка записи (и откуда тут object in use ???)), но это не значит, что про эту тр-цию известно что-то ещё, кроме её номера.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651857
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

честно говоря я не понимаю как зависит версионность метаданных от общего кеша метаданных. Или ты её только в памяти организовать хочешь? Не боишься раздувания размеров этого кеша со временем?
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651865
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

а что этот номер вообще означает? Ведь один и тот же объект могут использовать сразу несколько транзакций. Или я ошибаюсь?
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651881
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

это таблоид попутал "object in use" с "update conflict"
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651889
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aЭто в моём случае касается только читающих процедур
у тебя DDL изменяются в no-wait транзакции, что-ли? Или у тебя суперсервер? Ибо в классике никаких "object in use" при альтере процедур быть не должно.
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651893
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

вот блин. А я то весь топик про "object in use" разговариваю
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38651903
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

никаких айпишников никогда выдаваться не будет, ей-богу задолбал ими уже
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38652015
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitro_v_aЭто в моём случае касается только читающих процедур
у тебя DDL изменяются в no-wait транзакции, что-ли? Или у тебя суперсервер? Ибо в классике никаких "object in use" при альтере процедур быть не должно.
Транзакция как правило no-wait, ага. Кстати, а почему б не wait?..
А с архитектурой где как. Где супер, где классик. Зависит от мощи машинки и количества одновременно работающих в системе АРМ.
Спасибо, открыл глаза. Я и не задумывался над различием в поведении в зависимости от архитектуры.
Вот ведь, мастерство не пропьёшь! Правильно заданный вопрос содержит в себе половину ответа! :)
...
Рейтинг: 0 / 0
object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
    #38652146
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a> Кстати, а почему б не wait?..

А почему зачем б не да?

P.S. Никогда не понимал этой идеи и "рекомендации".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / object in use: есть ли у движка возможность определить номер аттача (-ей), которые держат?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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