madf 279 Опубликовано: 2011-05-19 15:17:19 Share Опубликовано: 2011-05-19 15:17:19 Внезапно, ровно через месяц после релиза, вышло исправление: stg-2.407-p1. Исправлена критическая ошибка, приводящая к зацикливаню при отправке сообщения с повторами. Ошибка была найдена и исправлена благодаря Неизвестному Админу Неизвестной Сети который ее обнаружил и любезно предоставил мне shell. Так же исправлена историческая опечатка при журналировании: теперь вместо "alredy" пишется "already". Историческая - потому что тянется еще с первых версий и я ее уже однажды исправлял . Так что если у вас на этот keyword завязаны какие-нибуть анализаторы логов - обратите внимание. Возможно, это исправление заодно исправляет и проблемы с авторизацией, т.к. это зацикливание приводит к зависанию потока авторизатора. Но нужно проверить. stg-2.407-p1.tar.gz Ссылка на сообщение Поделиться на других сайтах
dummy 8 Опубліковано: 2011-05-19 15:30:20 Share Опубліковано: 2011-05-19 15:30:20 похоже эта проблема (с отправкой сообщений) давно уже живет. у меня раньше в OnConnect - была отправка сообщений пользователям, то частенько были проблемы с зависанием авторизатора. убрал отправку - проблемы пропали. ща обновлюсь - и попробую опять отправку сообщений Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2011-05-19 15:38:20 Share Опубліковано: 2011-05-19 15:38:20 А, я вообще перестал отправлять сообщения своим абонентам. Как показали испытания, народ более успешно читает баннер на нашем сайте с фильмами, нежели сообщение в авторизаторе (поспешно закривая окно с сообщением, неразобравшись что там пишеться). Ссылка на сообщение Поделиться на других сайтах
dummy 8 Опубліковано: 2011-05-19 19:27:24 Share Опубліковано: 2011-05-19 19:27:24 А, я вообще перестал отправлять сообщения своим абонентам. Как показали испытания, народ более успешно читает баннер на нашем сайте с фильмами, нежели сообщение в авторизаторе (поспешно закривая окно с сообщением, неразобравшись что там пишеться). я просто авторизатор слегка подправил, чтобы в нем отображался текущий название текущего тарифа и его цена а по ОнКоннект отправляю специально отформатированное сообщение, которое и обрабатывает авторизатор Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-23 05:41:04 Share Опубліковано: 2011-05-23 05:41:04 Итак пробую новую версию. 1. Пробую собрать: ./build make install-bin 2. Запускаю root@stg:/install/stg_2.4.07_p1/stg-2.407-p1/projects# stargazer /etc/stargazer/ eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Before start eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Sleeping until new actions arrived main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ao.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ia.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_conf_sg.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_cap_ether.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_ping.so plugin_runner.cpp > 08:27:20 > PLUGIN_LOADER::Load() - Error loading plugin '/usr/lib/stg/mod_auth_ao.so': '/usr/lib/stg/mod_auth_ao.so: undefined symbol: _ZN5USERS12DelFromIPIdxEj' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ao.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ia.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_conf_sg.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_cap_ether.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_ping.so' users_impl.cpp > 08:27:20 > USERS::Stop() main.cpp > 08:27:21 > KillExecuters pid=18873 stg_timer.cpp > 08:27:21 > STG_TIMER stopped store_loader.cpp > 08:27:21 > STORE_LOADER::Unload() 3. Пересобираю еще раз. И еще раз ставлю. Запустился нормально.НО. Вот лог запуска. 2011-05-23 08:27:21 -- --------------------------------------------- 2011-05-23 08:28:51 -- Stg v. 2.407-p1 2011-05-23 08:28:51 -- Message queue created successfully. msgKey=5555 msgID=294912 2011-05-23 08:28:51 -- Timer thread started successfully. 2011-05-23 08:28:51 -- Storage plugin: file_store v.1.04. Loading successfull. 2011-05-23 08:29:26 -- Users started successfully. 2011-05-23 08:29:26 -- Traffcounter started successfully. 2011-05-23 08:29:26 -- Module: 'Ether_cap v.1.2'. Start successfull. 2011-05-23 08:29:26 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull. 2011-05-23 08:31:47 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 2011-05-23 08:31:49 -- Module: 'Pinger v.1.01'. Start successfull. 2011-05-23 08:31:49 -- Module: 'Stg configurator v.0.08'. Start successfull. 2011-05-23 08:31:49 -- Stg started successfully. 2011-05-23 08:31:49 -- +++++++++++++++++++++++++++++++++++++++++++++ Посмотрите на время между 2011-05-23 08:29:26 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull. 2011-05-23 08:31:47 -- Module: 'Always Online authorizator v.1.0'. Start successfull. Чуть больше 2-х минут. 4. Система : root@stg:/var/log# uname -a Linux stg 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux 5. Конфигуратор запустился сразу. А вот клиенты начали подключаться спустя минут 5. 6. Жду. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-23 08:22:10 Автор Share Опубліковано: 2011-05-23 08:22:10 Итак пробую новую версию. 1. Пробую собрать: ./build make install-bin 2. Запускаю root@stg:/install/stg_2.4.07_p1/stg-2.407-p1/projects# stargazer /etc/stargazer/ eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Before start eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Sleeping until new actions arrived main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ao.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ia.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_conf_sg.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_cap_ether.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_ping.so plugin_runner.cpp > 08:27:20 > PLUGIN_LOADER::Load() - Error loading plugin '/usr/lib/stg/mod_auth_ao.so': '/usr/lib/stg/mod_auth_ao.so: undefined symbol: _ZN5USERS12DelFromIPIdxEj' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ao.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ia.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_conf_sg.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_cap_ether.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_ping.so' users_impl.cpp > 08:27:20 > USERS::Stop() main.cpp > 08:27:21 > KillExecuters pid=18873 stg_timer.cpp > 08:27:21 > STG_TIMER stopped store_loader.cpp > 08:27:21 > STORE_LOADER::Unload() Было бы неплохо глянуть лог сборки. 3. Пересобираю еще раз. И еще раз ставлю. Запустился нормально.НО. Вот лог запуска. 2011-05-23 08:27:21 -- --------------------------------------------- 2011-05-23 08:28:51 -- Stg v. 2.407-p1 2011-05-23 08:28:51 -- Message queue created successfully. msgKey=5555 msgID=294912 2011-05-23 08:28:51 -- Timer thread started successfully. 2011-05-23 08:28:51 -- Storage plugin: file_store v.1.04. Loading successfull. 2011-05-23 08:29:26 -- Users started successfully. 2011-05-23 08:29:26 -- Traffcounter started successfully. 2011-05-23 08:29:26 -- Module: 'Ether_cap v.1.2'. Start successfull. 2011-05-23 08:29:26 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull. 2011-05-23 08:31:47 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 2011-05-23 08:31:49 -- Module: 'Pinger v.1.01'. Start successfull. 2011-05-23 08:31:49 -- Module: 'Stg configurator v.0.08'. Start successfull. 2011-05-23 08:31:49 -- Stg started successfully. 2011-05-23 08:31:49 -- +++++++++++++++++++++++++++++++++++++++++++++ Посмотрите на время между 2011-05-23 08:29:26 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull. 2011-05-23 08:31:47 -- Module: 'Always Online authorizator v.1.0'. Start successfull. Чуть больше 2-х минут. А можно в момент этого 2-минутного простоя выполнить следующие комманды: # gdb /usr/sbin/stargazer (gdb) attach <pid-of-stargazer> (gdb) thread apply all bt (gdb) quit и показать что оно напишет? Лучше всего в отладочном режиме и вместо make install-bin раскидать файлы руками. 4. Система : root@stg:/var/log# uname -a Linux stg 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux 5. Конфигуратор запустился сразу. А вот клиенты начали подключаться спустя минут 5. А что происходило при попытке подключения в течении этих пяти минут? Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-23 08:39:04 Share Опубліковано: 2011-05-23 08:39:04 Было бы неплохо глянуть лог сборки. Собирал без лога. Но такой вопрос - может дело в этом ? : Я сначала скачал, сделал билд. А через несколько дней только кильнул СТГ и сделал инсталл-бин. ? Перезапуск сервера был. Второй раз снова кильнул стг. Снова билд. и маке инсталл-бин. Все запустилось. Могло из-за этого не пойти сразу ? А можно в момент этого 2-минутного простоя выполнить следующие комманды: К сожалению нет. Запустил в обычном режиме на рабочем сервере. 600 онлайна. Играть с перезапуском небезопастно для здоровья (: А что происходило при попытке подключения в течении этих пяти минут? Ничего - просто авторизатор красный. Подключиться - тишина и кнопка снова активна. Минут через 5 подключился. Когда первый раз ставил последний релиз продержался с 8 утра и до 6 вечера. Потом упал. Перезапуск. Час поработал и снова упал. Я тогда откатил на старый. Посмотрим как поведет себя сейчас. Если упадет (не дай Бог ), то попробую запустить в дебаге. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-23 10:59:50 Автор Share Опубліковано: 2011-05-23 10:59:50 Было бы неплохо глянуть лог сборки. Собирал без лога. Но такой вопрос - может дело в этом ? : Я сначала скачал, сделал билд. А через несколько дней только кильнул СТГ и сделал инсталл-бин. ? Перезапуск сервера был. Второй раз снова кильнул стг. Снова билд. и маке инсталл-бин. Все запустилось. Могло из-за этого не пойти сразу ? ... Нет. Либо по какой-то причине не до конца собралось, либо, опять-же, по неизвестной причине не до конца поставилось. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-26 09:41:48 Автор Share Опубліковано: 2011-05-26 09:41:48 К стати, Итак пробую новую версию. 1. Пробую собрать: ./build make install-bin 2. Запускаю root@stg:/install/stg_2.4.07_p1/stg-2.407-p1/projects# stargazer /etc/stargazer/ eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Before start eventloop.cpp > 08:27:20 > EVENT_LOOP::Runner - Sleeping until new actions arrived main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ao.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_auth_ia.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_conf_sg.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_cap_ether.so main.cpp > 08:27:20 > Module: /usr/lib/stg/mod_ping.so plugin_runner.cpp > 08:27:20 > PLUGIN_LOADER::Load() - Error loading plugin '/usr/lib/stg/mod_auth_ao.so': '/usr/lib/stg/mod_auth_ao.so: undefined symbol: _ZN5USERS12DelFromIPIdxEj' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ao.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_auth_ia.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_conf_sg.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_cap_ether.so' main.cpp > 08:27:20 > Unloading module '/usr/lib/stg/mod_ping.so' users_impl.cpp > 08:27:20 > USERS::Stop() main.cpp > 08:27:21 > KillExecuters pid=18873 stg_timer.cpp > 08:27:21 > STG_TIMER stopped store_loader.cpp > 08:27:21 > STORE_LOADER::Unload() ... - как-то сразу не обратил внимания на то что запустилась версия собранная в отладочном режиме, а перед этим команды сборки собирали версию без отладки. Т.е. была запущена не та версия. Скорее всего был запущен новый бинарник со старыми библиотеками и плагинами, собранными в отладочном режиме. И еще. Есть ли какие-либо новости по багу с авторизацией? Все ли работает нормально? Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-26 10:53:49 Share Опубліковано: 2011-05-26 10:53:49 Сорри. Немного был занят. Новый СТГ (а новый ли ? После этого поста уже сомневаюсь (: ) работает без нареканий. В логах - все та же задержка на 1-2 минуты. Но работает до сих пор без сбоев. СТГ ребутается по крону в 5.30 утра. Визуально ключи подключаются быстрее, и быстрее приходят сообщения. Можно попробовать убрать слипы в скриптах ? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-26 11:02:32 Автор Share Опубліковано: 2011-05-26 11:02:32 Сорри. Немного был занят. Новый СТГ (а новый ли ? После этого поста уже сомневаюсь (: ) работает без нареканий. В логах - все та же задержка на 1-2 минуты. Но работает до сих пор без сбоев. СТГ ребутается по крону в 5.30 утра. Визуально ключи подключаются быстрее, и быстрее приходят сообщения. Можно попробовать убрать слипы в скриптах ? nightfly у себя в скриптах убрал - говорит, все в порядке. Значит закрываю баг. Осталось разобраться с задержкой... Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-26 11:04:36 Автор Share Опубліковано: 2011-05-26 11:04:36 ... Но работает до сих пор без сбоев. СТГ ребутается по крону в 5.30 утра. ... К стати, а зачем? Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-26 11:11:23 Share Опубліковано: 2011-05-26 11:11:23 В инит скрипте СТГ у меня вот так : do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ || return 1 # ps x | grep $DAEMON | grep -v grep | cut -f1 -d" " > $PIDFILE /etc/stargazer/scripts/dhcp.sh /etc/stargazer/scripts/arp.sh /etc/stargazer/firewall.sh start /etc/stargazer/ifb.sh start /etc/stargazer/add_manual.sh /etc/stargazer/scripts/check_stg_bak_files.sh /install/sysctl.sh start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 } /etc/stargazer/scripts/dhcp.sh - запускается выборка из файлов и формируется база маков, после чего служба рестартуется. /etc/stargazer/scripts/arp.sh - формируется арп-таблица /etc/stargazer/firewall.sh start - очистка и установка дефолтного фаера /etc/stargazer/ifb.sh start - сброс и установка шейперов /etc/stargazer/add_manual.sh - дополнительные настройки фаера /etc/stargazer/scripts/check_stg_bak_files.sh - проверяем битые файлы /install/sysctl.sh - сбрасываем корректировки для ядра и только потом стартуем СТГ Почему каждый день рестарт ? Ну у нас специфический шейпер - он запускается 1 раз и сразу для все юзеров. При изменении тарифа - скорость ставится сразу, а если добавить комп на туже скорость (дополнительный комп у юзера), то там меняются метки в фаере. Утром все стартует по новой , но уже такие юзеры идут в 1 скорости. И раньше стг бывало падал, поэтому утром контрольный запуск. Сейчас вроде падений нет, а шейпера еще не переделали. Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-26 11:15:23 Share Опубліковано: 2011-05-26 11:15:23 А, вот еще. Каждый день бекапится биллинг : 15 4 * * * root /usr/bin/rsync -rltD --delete-after /etc/ 192.168.хх.хх:/mnt/HD_a2/server1_backup/etc 25 4 * * * root /usr/bin/rsync -rltD --delete-after /var/stargazer 192.168.хх.хх:/mnt/HD_a2/server1_backup/var И после такого иногда падает СТГ (пару раз всего правда было, может первые полные когда были). Рестарт какбэ страхует однозначный запуск. Ссылка на сообщение Поделиться на других сайтах
Sargas 52 Опубліковано: 2011-05-26 11:20:01 Share Опубліковано: 2011-05-26 11:20:01 Костыли и подпорки Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-26 11:32:13 Share Опубліковано: 2011-05-26 11:32:13 Костыли и подпорки Работает пока без глюков. Пусть будут костыли. Куда ж без них (: Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-27 07:48:38 Автор Share Опубліковано: 2011-05-27 07:48:38 ... /etc/stargazer/scripts/check_stg_bak_files.sh - проверяем битые файлы /install/sysctl.sh - сбрасываем корректировки для ядра ... Можно убрать. В 2.407 bak-файлов уже нет. Ссылка на сообщение Поделиться на других сайтах
DarkSpider 36 Опубліковано: 2011-05-31 07:12:41 Share Опубліковано: 2011-05-31 07:12:41 Можно убрать. В 2.407 bak-файлов уже нет. Спасибо убрал. СТГ пока работает без збоев. Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2011-05-31 08:37:52 Share Опубліковано: 2011-05-31 08:37:52 ... /etc/stargazer/scripts/check_stg_bak_files.sh - проверяем битые файлы /install/sysctl.sh - сбрасываем корректировки для ядра ... Можно убрать. В 2.407 bak-файлов уже нет. Можно узнать почему убрали bak-файлы? Как-то стрёмно без них. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-31 08:39:05 Share Опубліковано: 2011-05-31 08:39:05 tar + rsync (а еще лучше mysqldump+rsync) продолжают спасать отцов русской демократии (С) Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-31 11:08:07 Автор Share Опубліковано: 2011-05-31 11:08:07 ... /etc/stargazer/scripts/check_stg_bak_files.sh - проверяем битые файлы /install/sysctl.sh - сбрасываем корректировки для ядра ... Можно убрать. В 2.407 bak-файлов уже нет. Можно узнать почему убрали bak-файлы? Как-то стрёмно без них. Все просто. Раньше работало так: бекапим старый файл; пишем данные; удаляем бекап. Теперь работает так: пишем в новый файл; переименовываем в старый. Операция переименования атомарна с т.з. файловой системы. bak-файлам места не осталось Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-31 11:09:26 Автор Share Опубліковано: 2011-05-31 11:09:26 tar + rsync (а еще лучше mysqldump+rsync) продолжают спасать отцов русской демократии (С) А еще лучше pg_dump и потоковая репликация Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-31 11:38:52 Share Опубліковано: 2011-05-31 11:38:52 ага, и много развеселых интимных отношений с вакумом Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-05-31 20:27:16 Автор Share Опубліковано: 2011-05-31 20:27:16 ага, и много развеселых интимных отношений с вакумом Что? VACUUM? Начиная с версии 8.0 (смею напомнить, что текущая версия - 9.1) существует такая штука как AutoVacuum, включенная по умолчанию и очень гибко настраиваемая. Единственно что пришлось дополнить внешними скриптами - это ANALYZE по крону для таблиц tb_detail_stats и tb_sessions_log/tb_sessions_data. Т.к. они write-only то AutoVacuum не выполняет для них ANALYZE и со временем статистика для планировщика запросов будет ухудшаться. Ну еще поддержка секционирования, но если детальную статистику не писать или часто удалять то она не нужна. Вообще говоря, из трех СУБД (Firebird, MySQL и PostgreSQL) с которыми мне приходилось (и приходится) тесно работать PostgreSQL самый простой, прямой и очевидный. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 237 Опубліковано: 2011-05-31 23:02:55 Share Опубліковано: 2011-05-31 23:02:55 PostgreSQL самый простой, прямой и очевидный. Oo Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас