powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Implied namespace and GetAll
7 сообщений из 7, страница 1 из 1
Implied namespace and GetAll
    #39570429
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуру, подскажите:

Импортирую новый класс в неймспейс, #class(%SYS.Namespace).ListAll начинает показывать неймспейс два раза, как "USER" и как его implied namespace ("c:\InterSystems\Cache\mgr\user"). Такое происходит только на продакшен, на всех остальных тестовых базах не происходит. В чем может бьть дело?

Cache for Windows (x86-64) 2016.1
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39570456
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo... начинает показывать неймспейс два раза, как "USER" и как его implied namespace ("c:\InterSystems\Cache\mgr\user").Это не два раза, а две большие разницы:
USER в данном случае - действительно область (namespace)
c:\InterSystems\Cache\mgr\user - implied namespace базы данных USER.

Почему же для некоторых БД показывается implied namespace? Простой опыт показал, что это происходит, когда кто-либо с момента старта Cache выполнил в него переход, e.g.:
Код: javascript
1.
zn "^^c:\InterSystems\Cache\mgr\user"

Поскольку продакшен сервер вы перезагружаете нечасто, он помнит об этом, в отличие от ваших прочих серверов.

Кстати, список областей не замусоривается implied namespace-ами, если пользоваться:
Код: javascript
1.
2.
3.
4.
5.
do List^%SYS.NAMESPACE(.nsplist, 4, Remote, DontConnect)
 ; где 
 ; 4 - "так надо"
 ; if Remote = 1 - учитывать области, отображённые в удалённые БД (ECP)
 ; if DontConnect = 1 - не пытаться подключаться к удалённым БД.

Запрос List класса %SYS.Namespace имеет те же параметры Remote и DontConnect и ведёт себя так же.
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39570742
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну мы переход из области в область таким образом уж точно никогда не делаем, ни в коде, ни вручную.

Alexey MaslovПоскольку продакшен сервер вы перезагружаете нечасто, он помнит об этом, в отличие от ваших прочих серверов.

Неа. Всё затейлевее - на сервере 50+ областей, импортируем апдейт наших классов в одну из них и она сразу появляется в списке как implied. Делаем импорт тех же классов тем же способом в тестовую базу той же версии - такого не происходит.

Из комментов на community.intersystems.com я так понимаю, что это какое-то безобидное поведение системы. Так что вроде все что мне нужно сделать, это учитывать, что GetAll может так себя вести.
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39571104
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo,

Почему же "неа"? Keith Avery высказал предположение сходное моему: когда вы импортируете в контексте БД, по сути вы тоже делаете переход в implied namespace. А John Murray напомнил, что такое поведение ListAll() вполне себе документировано. Если не секрет: почему отдаёте предпочтение этой функции перед безупречной List()?
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39574297
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

>Почему же "неа"
потому что происходящее никак не связано с перезагрузками. Происходит только на продакшен.

>такое поведение ListAll() вполне себе документировано
да,да, с этим все понятно. Вопрос был в том что вызывает их появление, или даже - почему только на продакшене. Но уже расслабились и больше не следим.

>почему отдаёте предпочтение этой функции перед безупречной List()
она была первым что попалось на глаза. С вашей помощью теперь знаем что есть и другие варианты :)

>когда вы импортируете в контексте БД
а мы этого не делаем

Кстати:
>Простой опыт показал, что это происходит, когда кто-либо с момента старта Cache выполнил в него переход, e.g.:
>zn "^^c:\InterSystems\Cache\mgr\user"
чтобы так делать, этот кто-то либо большой оригинал, либо у него должны быть на это очень веские причины
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39574362
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo>когда вы импортируете в контексте БД
а мы этого не делаем...Судя по местоимению "мы", вы не единственный автор кода. Следовательно, вы полностью представляете себе, что делает весь ваш код . Снимаю (воображаемую) шляпу, респект.
...
Рейтинг: 0 / 0
Implied namespace and GetAll
    #39574404
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

>вы не единственный автор кода.
не единственный, но во-первых нас немного, а во-вторых, я руку на пульсе плотно держу :)

в сторону: уведомления об ответах на почту мне одному не приходят? вроде в настройках все выставлено
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Implied namespace and GetAll
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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