madf Posted May 5, 2010 Author Posted May 5, 2010 А, стоп. Неправильно прочитал. А что говорит лог старгейзера при старте? И какое значение прописано в поле version таблицы tb_info?
shark3d Posted May 5, 2010 Posted May 5, 2010 А, стоп. Неправильно прочитал. А что говорит лог старгейзера при старте? И какое значение прописано в поле version таблицы tb_info? billing=# SELECT * FROM tb_info ; version --------- 6 (1 запись) При старте кроме указанных ошибок никаких других не выдает. Рабочие логи по кредитам, но они указанного пользователя (TEST) не касаются... Старт вполне нормальный. Похоже на то, что во время записи сессии в функцию sp_add_session_log_entry не передается последний параметр _reason...
madf Posted May 5, 2010 Author Posted May 5, 2010 А, стоп. Неправильно прочитал. А что говорит лог старгейзера при старте? И какое значение прописано в поле version таблицы tb_info? billing=# SELECT * FROM tb_info ; version --------- 6 (1 запись) При старте кроме указанных ошибок никаких других не выдает. Рабочие логи по кредитам, но они указанного пользователя (TEST) не касаются... Старт вполне нормальный. Похоже на то, что во время записи сессии в функцию sp_add_session_log_entry не передается последний параметр _reason... Ошибку нашел. Спасибо, будет исправлено. Можешь исправить у себя. В файле projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp в строках 1138-1142 вместо query << "SELECT sp_add_session_log_entry(" "'" << elogin << "', " "CAST('" << Int2TS(stgTime) << "' AS TIMESTAMP), " "'c', CAST('" << inet_ntostring(ip) << "/32' AS INET), 0, 0)"; напиши query << "SELECT sp_add_session_log_entry(" "'" << elogin << "', " "CAST('" << Int2TS(stgTime) << "' AS TIMESTAMP), " "'c', CAST('" << inet_ntostring(ip) << "/32' AS INET), 0, 0, '')"; (т.е. просто добавь пусую строку в качестве последнего параметра). Этот параметр - "причина дисконнекта юзера". В случае коннекта он, естественно, не используется.
shark3d Posted May 6, 2010 Posted May 6, 2010 Исправил, пересобрал, работает. Еще одна проблема, теперь при отключении: 2010-05-06 16:09:23 -- Cannot write disconnect for user TEST. 2010-05-06 16:09:23 -- ERROR: ошибка синтаксиса в или рядом "'not authorized'" at character 122
madf Posted May 7, 2010 Author Posted May 7, 2010 Исправил, пересобрал, работает. Еще одна проблема, теперь при отключении: 2010-05-06 16:09:23 -- Cannot write disconnect for user TEST. 2010-05-06 16:09:23 -- ERROR: ошибка синтаксиса в или рядом "'not authorized'" at character 122 Oops... Патч: === modified file 'projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp' --- projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp 2010-05-05 13:31:27 +0000 +++ projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp 2010-05-07 07:03:38 +0000 @@ -1238,7 +1238,7 @@ "'" << elogin << "', " "CAST('" << Int2TS(stgTime) << "' AS TIMESTAMP), " "'d', CAST('0.0.0.0/0' AS INET), " - << cash << ", " << freeMb << "'" << ereason << "')"; + << cash << ", " << freeMb << ", '" << ereason << "')"; } result = PQexec(connection, query.str().c_str()); Надо же, оказывается у меня на сервере с PostgreSQL еще старая версия крутится. Не тестировал. Спасибо за терпение.
den68 Posted May 20, 2010 Posted May 20, 2010 ДАВАЙТЕ мускуль перепишем с дефолтным падает восновном при записи статистики. тот что я переписывал - коряв весьма, лениво начинать сначала, да и в c++ я не сильно силен, синтаксис и решения базируются на чистом c, без плюсов, да и перлом я разбалован напредмет ошибок в коде и последствий ...
madf Posted May 20, 2010 Author Posted May 20, 2010 ДАВАЙТЕ мускуль перепишем с дефолтным падает восновном при записи статистики. тот что я переписывал - коряв весьма, лениво начинать сначала, да и в c++ я не сильно силен, синтаксис и решения базируются на чистом c, без плюсов, да и перлом я разбалован напредмет ошибок в коде и последствий ... Я уже года два зову добровольцев на это благое дело Можно взять за основу плагин к FireBird или PostgreSQL (лучше этот, у него структура базы получше) и переписать. От C++ там будут только методы, а внутри у них можно чистый C использовать. Помощь со своей стороны гарантирую!
morfey Posted May 21, 2010 Posted May 21, 2010 Сі не знаю на стільки, щоб модуль писати, але знаю мускуль, чим можу допомогти?)
madf Posted May 21, 2010 Author Posted May 21, 2010 Сі не знаю на стільки, щоб модуль писати, але знаю мускуль, чим можу допомогти?) Я C++ вивчав в процесі написання модуля mod_store_firebird Там немає нічого складного. Структура модуля описана у BASE_PLUGIN, прикладів реалізації - ціла купа.
Небесный Posted May 24, 2010 Posted May 24, 2010 Скачал, собрал, поставил - без каких либо приколов, пока нормальный полет, да и 406 версия проработала месяц, без каких либо приколов со стороны самого СТЖ.
Kucher2 Posted May 31, 2010 Posted May 31, 2010 У меня возник вопрос. Был такой старый глюк СТГ - если в один момент пытаться отправить сообщение нескольким юзерам через консольный конфигуратор, то это приводило к зависанию. Не фиксили это?
Docent Posted May 31, 2010 Posted May 31, 2010 Немного не в тему, но все же: Заметил интересный баг. Если пользователь не отключается от инета а просто закрывает InetAccess то InetAccess пакет на закрытие подлючения не высылает. А по логике должен. Старгайзер просто отпуливает пользователя по таймуту. Версия InetAccess последняя 2,61,8
Kucher2 Posted May 31, 2010 Posted May 31, 2010 Это не баг, такова механика работы клиента. И нормальная реакция СТГ - отзыва нет, значит рубятся правила по таймауту. До этого момента всё равно всё считается, так что траф так воровать не получится. Таймаут опроса клиента указывается в конфиге СТГ.
Docent Posted May 31, 2010 Posted May 31, 2010 Это не баг, такова механика работы клиента. И нормальная реакция СТГ - отзыва нет, значит рубятся правила по таймауту. До этого момента всё равно всё считается, так что траф так воровать не получится. Таймаут опроса клиента указывается в конфиге СТГ. А как по мне, так правильнее было бы при нажатии кнопки выход пользователем, сначала отсылать закрытие соединения а потом делать закрытие приложения. Или сделать это опционально в конфиге.
madf Posted June 1, 2010 Author Posted June 1, 2010 У меня возник вопрос. Был такой старый глюк СТГ - если в один момент пытаться отправить сообщение нескольким юзерам через консольный конфигуратор, то это приводило к зависанию. Не фиксили это? Не знал о таком баге. Это не баг, такова механика работы клиента. И нормальная реакция СТГ - отзыва нет, значит рубятся правила по таймауту. До этого момента всё равно всё считается, так что траф так воровать не получится. Таймаут опроса клиента указывается в конфиге СТГ. А как по мне, так правильнее было бы при нажатии кнопки выход пользователем, сначала отсылать закрытие соединения а потом делать закрытие приложения. Или сделать это опционально в конфиге. Угу, надо на закрытие поставить дисконнект. Добавил в TODO.
keshaLG Posted June 14, 2010 Posted June 14, 2010 .... +STGLIBS = -lstg_common -lstg_crypto ..... тоже самое надо сделать в srvconf.lib LIBS = -lexpat -lstg_crypto иначе консольный конфигуратор ругается: "/usr/local/bin/sgconf: symbol lookup error: //usr/lib64/stg/libsrvconf.so: undefined symbol: _Z13Blowfish_InitP12BLOWFISH_CTXPhi" а при 2м запуске "вешает" сервер и тот "кушает" 100% cpu , но при этом работает
madf Posted June 15, 2010 Author Posted June 15, 2010 .... +STGLIBS = -lstg_common -lstg_crypto ..... тоже самое надо сделать в srvconf.lib LIBS = -lexpat -lstg_crypto иначе консольный конфигуратор ругается: "/usr/local/bin/sgconf: symbol lookup error: //usr/lib64/stg/libsrvconf.so: undefined symbol: _Z13Blowfish_InitP12BLOWFISH_CTXPhi" а при 2м запуске "вешает" сервер и тот "кушает" 100% cpu , но при этом работает Спасибо. Хотя проявляется, видимо, только на биарче. К стати, а как оно может запуститься? Там же undefined symbol!
keshaLG Posted June 15, 2010 Posted June 15, 2010 Спасибо. Хотя проявляется, видимо, только на биарче. К стати, а как оно может запуститься? Там же undefined symbol! чесно - не знаю, первый выдает это, 2й раз - виснет и вешает сервер. Если тоже самое сделать на другой порт (2го модуля) - сервер "отъедает" уже и второе ядро.
madf Posted June 15, 2010 Author Posted June 15, 2010 Спасибо. Хотя проявляется, видимо, только на биарче. К стати, а как оно может запуститься? Там же undefined symbol! чесно - не знаю, первый выдает это, 2й раз - виснет и вешает сервер. Если тоже самое сделать на другой порт (2го модуля) - сервер "отъедает" уже и второе ядро. Нет, ну реально - оно не может запуститься. Может это откуда-то старая версия вылазит?
keshaLG Posted June 16, 2010 Posted June 16, 2010 Нет, ну реально - оно не может запуститься. Может это откуда-то старая версия вылазит? ))) ну зачем мне врать? пишу все как есть PS вот libsrvconf.so либа с которой были проблемы
madf Posted June 16, 2010 Author Posted June 16, 2010 Нет, ну реально - оно не может запуститься. Может это откуда-то старая версия вылазит? ))) ну зачем мне врать? пишу все как есть PS вот libsrvconf.so либа с которой были проблемы Мне этот бинарник все равно ничего не скажет. Но с undefined symbol оно запуститься не может. Не может и все тут. Ну никак.
keshaLG Posted June 16, 2010 Posted June 16, 2010 ))) значит сервер СТГ вещался из-за магнитных бурь или всплеской солнечной активности... чудом совпадающие с вызовом консольного конфигуратора ))) ладно проехали, а по существу вопрос появислся: ребутнули сервер с виртуалками где СТГ живет, и получили: 2010-06-16 17:29:11 -- Storage plugin: 'FATAL: система баз данных стартует видимо база выросла очень...и это 3 дня работы на новой версии только, а будет как Вы говорите в гигах база... СТГ запускатся скриптами из rpm Вопрос: как оптимизировать запуск, что бы такого не было? Скриптом rc.local все по очереди с использование sleep n?
madf Posted June 17, 2010 Author Posted June 17, 2010 ))) значит сервер СТГ вещался из-за магнитных бурь или всплеской солнечной активности... чудом совпадающие с вызовом консольного конфигуратора ))) ладно проехали, а по существу вопрос появислся: ребутнули сервер с виртуалками где СТГ живет, и получили: 2010-06-16 17:29:11 -- Storage plugin: 'FATAL: система баз данных стартует видимо база выросла очень...и это 3 дня работы на новой версии только, а будет как Вы говорите в гигах база... СТГ запускатся скриптами из rpm Вопрос: как оптимизировать запуск, что бы такого не было? Скриптом rc.local все по очереди с использование sleep n? sleep некошерно. А остальное зависит от дистрибутива. Но идея такая: сделать базу зависимостью для Stragazer. Т.е. стартовать его только после полного старта базы. К стати, что за СУБД и на сколько "выросла очень"? У нас за 6 месяцев на серваке с 300/800 примерно 140 Гб занимает. При чем сами данные около 100 Гб, остальное - индексы. И стартует все довольно шустро на не самом быстром железе и не самых быстрых винтах.
Kucher2 Posted June 17, 2010 Posted June 17, 2010 В надежде что в этой версии таки не снимается АП с замороженного счёта- поставил её и себе. Всё сделал как обычно, всё работает. Только пришлось sgconf пересобрать (о чудо, в этот раз он собрался без всяких матюков!), т.к. с личной странички юзера вешался php-скрипт, после чего не подключался виндовый конфигуратор и СТГ начинал кушать проц на 50-60%. Большое спасибо.
Recommended Posts