Информация о файле обновления Галактика GALSRV_EXE_54385.txt


Описание файла обновления:
ФайлGALSRV_EXE_54385.txt
ОбновлениеGALSRV_EXE_54385
НазначениеСрочное
ПродуктAtlantis 5.4
Релиз:
КомпонентGALSRV
ТипEXE
Версия5.4.38.5
Дата2012-04-18 15:14:49
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
102.1083895.4.37.0Реализовать возможность подсветки синтаксисаПредложение по новой функциональности Атлантиса?
Подсветка синтаксиса ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- Реализовать возможность подсветки синтаксиса в редакторах.Доработано.
102.1045065.4.36.0см описание проблемы 102.100574. бд уже под protect.Инструментарий прикладного программистаВзаимодействие с Атлантис-приложением через COM
СОМ сервер ----- ПРОЯВЛЕНИЕ ПРОБЛЕМЫ ----- Зависание по выходу после ошибки соединения.Исправлено.
101.374865.4.22.0Зависание Галактики на Oracle 10g в конфигурации RACПоддержка различных платформ баз данныхOracle
Oracle MS SQL Сервер приложений ----- СУТЬ ПРЕДЛОЖЕНИЯ ----- 1 Реализовать поддержку Oracle RAC начального уровня (корректная работа алгоритмов Системы Галактика). 2 Обрабатывать не только переподсоединение к другому узлу RAC, но и потерю соединения с СУБД в обычной ситуации (сейчас подобное приводит к отказу работоспособности сервера приложений).1 Реализована поддержка Oracle RAC (с версии Oracle 10G R2) начального уровня - алгоритмы Системы Галактика работают в данной архитектуре корректно. 2 Любая потеря соединения обрабатывается с выдачей соответствующего сообщения и завершением работы приложения. Сервер приложений при этом сохраняет работоспособность. # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: 1. Для корректной работы на Oracle версий < 10G (вне зависимости от присутствия/отсутствия RAC) необходимо: - установить параметр job_queue_processes в значение, не меньшее 5; - внешними средствами от имени пользователя SYS выполнить запрос GRANT EXECUTE ON SYS.DBMS_IJOB TO SUPERVISOR WITH GRANT OPTION; (если не включен параметр FullLoginName) или GRANT EXECUTE ON SYS.DBMS_IJOB TO <имя_бд_галактики>#SUPERVISOR WITH GRANT OPTION (если параметр FullLoginName включен. Вместо <имя_бд_галактики> подставить название схемы, куда установлена Галактика) - для вступления изменений патча в силу запустить chkora/chkora9 с параметрами StoredProcs=on UsersAndRights=on. 2. Для корректной работы на Oracle версий 9i - 11g (вне зависимости от присутствия/отсутствия RAC) необходимо: - внешними средствами от имени пользователя SYS выполнить запрос GRANT SELECT ON SYS.GV_$SESSION TO SUPERVISOR WITH GRANT OPTION; (если не включен параметр FullLoginName) или GRANT SELECT ON SYS.GV_$SESSION TO <имя_бд_галактики>#SUPERVISOR WITH GRANT OPTION; (если параметр FullLoginName включен. Вместо <имя_бд_галактики> подставить название схемы, куда установлена Галактика) - для вступления изменений патча в силу запустить chkora9 с параметрами StoredProcs=on UsersAndRights=on. 3. Для корректной работы в архитектуре Oracle RAC необходимо создать сервис и в настройках TNS указать соединение не по SID, а по SERVICE_NAME. Сервис по умолчанию использовать нельзя. Все клиенты в рамках кластера должны cоединяться используя только один сервис. При наличии в сети нескольких кластеров, к которым будет обращаться система Галактика ERP, сервисы на обоих должны называться по-разному. Пример создания сервиса и настроек TNS для кластера из 3-х узлов: srvctl add service -d GAL -s GALAXY -r ORCL1,ORCL2 -a ORCL3 srvctl start service -d GAL -s GALAXY GAL_TAF = (DESCRIPTION = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL1_hostname)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL2_hostname)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL3_hostname)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = GALAXY) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 20) (DELAY = 1) ) ) )
101.406315.4.16.0Очень мелкое предложение по Системе лицензированияСервисные функции(AQA,архивация,редактор,экспорт-импорт)Встроенные в программу средства контроля лицензий (REDFOX)
Очень мелкое предложение по Системе лицензирования Предложение связано с тем, что теперь при дефиците лицензий не пускают не как раньше, с последовательностью сообщений --------------------------- Ошибка --------------------------- Система защиты: Нет свободных лицензий для загрузки интерфейса! --------------------------- ОК --------------------------- --------------------------- Предупреждение --------------------------- Интерфейс F_PLPOR::PLPOR не загрузился --------------------------- ОК --------------------------- а с последовательностью сообщений --------------------------- Ошибка --------------------------- Система защиты: Нет свободных лицензий для загрузки интерфейса! --------------------------- ОК --------------------------- --------------------------- Ошибка --------------------------- Система защиты: Нет свободных лицензий для загрузки интерфейса! --------------------------- ОК --------------------------- --------------------------- Предупреждение --------------------------- Интерфейс F_PLPOR::PLPOR не загрузился --------------------------- ОК --------------------------- т.е. сообщений "Система защиты:..." теперь почему-то 2, а не 1. Это не страшно, но предлагается сделать всё-таки одно, как раньше. Лицензия во вложении 1. Там одна модульная лиц.на кассу. Лог юзера, который получал сообщения во вложении 2. Лог юзера, который захватил лицензию, так что другой не смог войти, - во вложении 3. Эффект не зависит от опер.системы и платформы, а также от типа лицензии и двух или трехуровневая. САК с драйвером версии 5.20.65.Доработан код
101.394345.4.14.0Нужна возможность снятия дочерних процессов менеджера сервера приложенийСистемные утилитыМониторинг
режим менеджера серверов приложений (galsrv)добавлен параметр REG:Server/IdleSlaveServerTimeout (0 по умолчанию / единица измерения - мс), в котором задаётся время по истечение которого процесс сервера приложений, запущеный менеджером, будет завершен, если на этом сервере не выполняется потоков ни одного пользователя # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: Если необходимо, чтобы процессы серверов приложений, запущенных менеджером серверов приложений, автоматически завершались при отсутствии пользователей, необходимо в параметре системного реестра того компьютера, на котором исполняется менеджер серверов приложений задать параметр HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServerIdleSlaveServerTimeout (REG_DWORD) в котором указать время в мс (например, 20 сек = 20000); если на протяжении указанного периода времени сервер приложений будет простаивать (не будет ни одного пользователя), процесс данного сервера приложений будет завершен пример файла test.reg (останавливать через 20 сек бездействия) приведён ниже (строки, содержащие << и >> означают начало и конец файла соответственно и не входят в его содержимое); в случае его запуска из программной оболочки операционной системы соответствующий ключ будет добавлен в системный реестр. << REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServer] "IdleSlaveServerTimeout"=dword:00004e20 >>
101.394365.4.14.0При отображении дочерних процессов необходимо указывать PID процесса.Системные утилитыМониторинг
мониторинг пользователей серверов приложений (galconf)добавлена колонка PID (идентификатор процесса), значение в которой соответствует идентификатору процесса сервера приложений, на котором исполняются потоки данного пользователя
101.395255.4.14.0Устранить неуправляемость galsrv при потере сервера аппаратного ключаПерспективные проекты инструментарияРеализация сервера приложений на NT-платформе
сервер приложенийнеобработанное исключение при инициализации клиента теперь должно вызывать завершение клиентского потока на сервере приложений # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: установить galsrv.exe
101.400735.4.14.0попытка освобождения невыделенной памятиПерспективные проекты инструментарияРеализация сервера приложений на NT-платформе
нестабильная работа сервера в изредка проявляющихся определённых случаях при выходе пользователя или при снятии пользователя...исправлен код, приводивший к возможности попытки освобождения блока незахваченной динамической памяти при завершении клиентского потока на сервере приложений # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: установить galsrv.exe
102.746345.4.14.0Для выпуска Атлантиса 5314Предложение по новой функциональности Галактики ERP (по системе в целом)?
Для совместимости с Атлантисом 5.3.14 необходима персборка на этом атлантисе 6 dll: - G_FA 8.10.1.0 - G_Fin 8.10.3.0 - G_Nalog 8.10.2.0 - G_OPer 8.10.3.0 - G_Txo 8.10.8.0 - Galnet 8.10.53.0Указанные DLL пересобраны на 5.3.14.
102.831015.4.14.0Атлантис 5.4.14Проблемы по Атлантису в целом (не знаю какая именно его часть-научите)неотклассифицировано
103.36255.4.14.0Проблемы с работой в 3-звенной архитектуре под WinSocksПоддержка различных платформ баз данныхOracle
Проблемы с работой в 3-звенной архитектуре под WinSocks - Периодически зависают 3-звенные клиенты при работе в Галактике. После снятия задачи на клиенте через диспетчер задач невозможно снять сессию на мониторе сервера приложений, появляется сообщение "Корректно завершить работу клиента не удалось. При аварийном снятии возможна неработоспособность сервера приложений" и выбор (YES, NO, Cancel). Вне зависимости от выбора сессия на сервере приложений не удаляется. При этом штатным образом перезапустить службу сервера приложений также нельзя, приходится убивать ее жестко командой taskkill /f/im/galsrv.exe /t После чего становится возможным ее повторный запуск. - Периодически все пользователи начинают получать сообщение об ошибке : "Потеряна связь с сервером! Аварийное завершение программы". Помогает только полный перезапуск сервера. В процессе работ выяснилось, что при работающем сервере приложений в журналы galsrv.log и wsdrv.log каждые 10-11 секунд падают следующие сообщения: GALSRV.LOG 12/02/08 10:12:51 - Ошибка: Драйвер протокола (wsdrv.dll), функция "Socket.gc" превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51 - Ошибка: Драйвер протокола (wsdrv.dll), функция "Socket.gc" превышено время ожидания гнезда для переподсоединения W WSDRV.DLL 1 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:12:51.778 превышено время ожидания гнезда в карантине 12/02/08 10:12:51.778 функция Protocol.gc 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:12:51.778 превышено время ожидания гнезда в карантине 12/02/08 10:12:51.778 функция Protocol.gc 12/02 /08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:12:51.778 превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51.778 функция Socket.gc 12/02/08 10:12:51.778 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:12:51.778 превышено время ожидания гнезда для переподсоединения 12/02/08 10:12:51.778 функция Socket.gc Периодически в тот же журнал падает следующая пара сообщений 12/02/08 10:21:15.528 WSDRV 12/02/08 06:01:00.341 Ошибка 12/02/08 10:21:15.528 checkValid: Неправильное значение параметра (00000C44) 12/02/08 10:21:15.528 функция Thread.DeleteSocket (__Close EST_LISTEN) 12/02/08 10:21:15.528 WSDRV 12/02/08 06:01:00.341 Предупреждение 12/02/08 10:21:15.528 Ошибка при вызове функции WSAEnumNetworkEvents 12/02/08 10:21:15.528 10038 (00002736) An operation was attempted on something that is not a socket. 12/02/08 10:21:15.528 функция Thread.dispatch 12/02/08 10:21:15.528 попытка будет повторена Сообщения постоянно ложатся в журналы даже если никто с системой не работает, просто запущен сервер приложений. Galsrv версии 5.3.14 В момент, когда все пользователи начинают получать сообщение о потере связи с сервером и аварийном завершении работы, в журнал протокола с частотой 15-16 миллисекунд начаинает сыпаться значительное количество сообщений типа 1 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.058 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.058 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.058 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) 15/02/08 15:24:58.074 WSDRV 15/02/08 11:12:24.934 Ошибка 15/02/08 15:24:58.074 checkValid: Неправильное значение параметра (00000244) 15/02/08 15:24:58.074 функция Thread.DeleteSocket (ShutDown) При этом работа 3-звенной архитектуры не возможна. Ситуацию исправляет только перезагрузка сервера. Пробовали установить сервер приложений на другой машине: под WinSocks получили такой же эффект. Полагаю, что проблема лежит у них в сетино не понятно, с чего начать копать. Клиент крупный и перспективный, а теперь уже собирается отказываться от использования 3-звенки, т.к. постоянный рестарт службы их никак не устраивает...проведены действия по повышению устойчивости сервера приложений # ИНСТРУКЦИЯ ПО НАСТРОЙКЕ: один процесс сервера приложений не может обслуживать больше 10-15 клиентов (до 20 - 25 при запуске OS в режиме 3GB) поэтому нужно либо вручную резнести клиентов по разным процессам либо использовать режим автоматического распределения нагрузки это позволит обойти проблему с зависанием пользователи конектятся к процессу-менеджеру который сам их не обслуживает а только перенаправляет на дочерние процессы и даже если один из них зависнет (нельзя будет к нему подсоединиться) то менеджер просто не будет переключать на него пользователей PS reg файл для вкл режима автоматического распределения нагрузки REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREGalaktika CorpServer] "TryRefreshProtect"=dword:00000000 "Verbose"=dword:00000000 "MaxClientCount"=dword:00000000 "VerboseChildProcess"=dword:00000001 "MaxClientChildProcess"=dword:0000000a PPS пояснения к рег-файлу Verbose - выдавать консоль для главной службы (необязательный) MaxClientCount -коль-во клиентов для главной службы (0 - чистый манагер) VerboseChildProcess-консоль для дочерних процессов (необязательный) MaxClientChildProcess-коль-во клиентов для дочерних процессов и все и еще сокет на просдушивание будет увеливаться с шагом 2 для кождого дочернего процесса --------------------------------- в файл "atlantis.cfg" (должен быть в каталоге, содержащем "atlantis.rtl", создать, если ещё не существует) необходимо добавить строку Atlantis.Debug.Heap.CheckRightHeap = 1;