* [sisyphus] FreeRADIUS: sql_get_socket
@ 2003-02-16 8:47 Peter V. Saveliev
2003-02-16 13:42 ` Dmitry Lebkov
2003-02-18 6:21 ` vic ismakaev
0 siblings, 2 replies; 8+ messages in thread
From: Peter V. Saveliev @ 2003-02-16 8:47 UTC (permalink / raw)
To: sisyphus
...
Error: rlm_sql (sql): All sockets are being used! Please increase the maximum number of sockets!
Вот такая строчка вылезает после некоторого времени работы радиуса.
Поискал в гугле:
http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.html
В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
дельное? Пока что я намереваюсь поступить соответственно письму по
ссылке.
И еще: дело в том, что при использовании радиуса для учета VoIP, время
сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
то занято, то не туда попал, то номера нет, то еще что... К сожалению,
это не учтено в SQL-схеме (по крайней мере, для Oracle), где
ACCTSESSIONTIME не может быть равным нулю. А логгировать эти записи все
равно надо: они нужны для учета как раз таких сбойных звонков, это очень
важно.
Также rlm_sql ругается: Stop packet with zero session length. Правда,
INSERT все равно делает.
Я это к чему... к тому, что пофиксить бы... А еще спустя k таких ошибок
обращения к базе:
1) в логи сыпется ошибка, приведенная в начале;
2) работа с БД прекращается;
3) хуже того, радиус перестает работать с другими модулями.
То есть, он не только перестает класть аккаунтинг в Oracle, но даже
пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
обидно.
Заранее спасибо за совет и внимание.
--
Sincerely, Peter V. Saveliev
E-mail: peet@eltel.net
Jabber: peet@jabber.ru
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-16 8:47 [sisyphus] FreeRADIUS: sql_get_socket Peter V. Saveliev
@ 2003-02-16 13:42 ` Dmitry Lebkov
2003-02-16 15:48 ` Peter V. Saveliev
2003-02-18 6:21 ` vic ismakaev
1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Lebkov @ 2003-02-16 13:42 UTC (permalink / raw)
To: sisyphus
On Sun, 16 Feb 2003 11:47:43 +0300
"Peter V. Saveliev" <peet@eltel.net> wrote:
> ...
>
> Error: rlm_sql (sql): All sockets are being used! Please increase the
> maximum number of sockets!
>
> Вот такая строчка вылезает после некоторого времени работы радиуса.
Вот, из Changelog'а для 0.9-pre:
...
* Do SQL 'close' on bad sockets, to prevent descriptor leaks
...
Возможно, это оно самое и есть?
> Поискал в гугле:
>
> http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.html
>
> В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
> попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
> дельное? Пока что я намереваюсь поступить соответственно письму по
> ссылке.
>
> И еще: дело в том, что при использовании радиуса для учета VoIP, время
> сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
> то занято, то не туда попал, то номера нет, то еще что... К сожалению,
> это не учтено в SQL-схеме (по крайней мере, для Oracle), где
> ACCTSESSIONTIME не может быть равным нулю. А логгировать эти записи
> все равно надо: они нужны для учета как раз таких сбойных звонков, это
> очень важно.
В cvs появилось что-то новое на предмет VoIP. Посмотри на
http://www.freeradius.org/cgi-bin/cvsweb.cgi/radiusd/src/billing/
может быть это чем-нить поможет ...
>
> Также rlm_sql ругается: Stop packet with zero session length. Правда,
> INSERT все равно делает.
>
> Я это к чему... к тому, что пофиксить бы... А еще спустя k таких
> ошибок обращения к базе:
> 1) в логи сыпется ошибка, приведенная в начале;
> 2) работа с БД прекращается;
> 3) хуже того, радиус перестает работать с другими модулями.
>
> То есть, он не только перестает класть аккаунтинг в Oracle, но даже
> пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
> обидно.
>
--
WBR, Dmitry Lebkov
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-16 13:42 ` Dmitry Lebkov
@ 2003-02-16 15:48 ` Peter V. Saveliev
2003-02-18 6:43 ` vic ismakaev
0 siblings, 1 reply; 8+ messages in thread
From: Peter V. Saveliev @ 2003-02-16 15:48 UTC (permalink / raw)
To: sisyphus
On Sun, 16 Feb 2003 23:42:44 +1000
Dmitry Lebkov <dima@sakhalin.ru> wrote:
<skip />
> Вот, из Changelog'а для 0.9-pre:
> ...
> * Do SQL 'close' on bad sockets, to prevent descriptor leaks
> ...
>
> Возможно, это оно самое и есть?
Похоже.
<skip />
> В cvs появилось что-то новое на предмет VoIP. Посмотри на
> http://www.freeradius.org/cgi-bin/cvsweb.cgi/radiusd/src/billing/
>
> может быть это чем-нить поможет ...
<skip />
Вот это просто супер. Спасибо огромное. Вопрос к мэйнтейнерам: а в
Сизифе когда эта вкусность появится, по приблизительным прогнозам?
--
Sincerely, Peter V. Saveliev
E-mail: peet@eltel.net
Jabber: peet@jabber.ru
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-16 8:47 [sisyphus] FreeRADIUS: sql_get_socket Peter V. Saveliev
2003-02-16 13:42 ` Dmitry Lebkov
@ 2003-02-18 6:21 ` vic ismakaev
2003-02-18 6:37 ` Peter V. Saveliev
1 sibling, 1 reply; 8+ messages in thread
From: vic ismakaev @ 2003-02-18 6:21 UTC (permalink / raw)
To: sisyphus
16 Февраль 2003 13:47, Peter V. Saveliev написал:
> ...
>
> Error: rlm_sql (sql): All sockets are being used! Please increase the
> maximum number of sockets!
>
> Вот такая строчка вылезает после некоторого времени работы радиуса.
>
> Поискал в гугле:
>
> http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.htm
>l
>
> В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
> попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
> дельное?
К сожалению, ничего дельного присоветовать не могу.Вчера поковырялся в
исходниках, но ничего путного в голову не пришло.Такая проблема проявилась
почти год назад и была пофикшена в версии 0.6, но похоже не до конца.
Или это oracle-specific bug.
> Пока что я намереваюсь поступить соответственно письму по
> ссылке.
Попробуйте.Хотя не уверен, что это правильный путь.
> И еще: дело в том, что при использовании радиуса для учета VoIP, время
> сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
> то занято, то не туда попал, то номера нет, то еще что... К сожалению,
> это не учтено в SQL-схеме (по крайней мере, для Oracle), где
> ACCTSESSIONTIME не может быть равным нулю.
Почему не учтено?
rlm_sql/drivers/rlm_sql_oracle/db_oracle.sql
CREATE TABLE radacct (
radacctid INT PRIMARY KEY,
.........
acctsessiontime NUMERIC(12),
..........
)
По идее ACCTSESSIONTIME может иметь значение '0' в БД.
>А логгировать эти записи все
> равно надо: они нужны для учета как раз таких сбойных звонков, это очень
> важно.
>
> Также rlm_sql ругается: Stop packet with zero session length. Правда,
> INSERT все равно делает.
>
> Я это к чему... к тому, что пофиксить бы... А еще спустя k таких ошибок
> обращения к базе:
> 1) в логи сыпется ошибка, приведенная в начале;
> 2) работа с БД прекращается;
> 3) хуже того, радиус перестает работать с другими модулями.
> То есть, он не только перестает класть аккаунтинг в Oracle, но даже
> пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
> обидно.
У Вас эта проблема возникает при работе с Ораклом? Или с MySQL/PgSQL тоже
пробовали?
> Заранее спасибо за совет и внимание.
Было бы за что :(
--
С уважением
Виктор В Исмакаев
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-18 6:21 ` vic ismakaev
@ 2003-02-18 6:37 ` Peter V. Saveliev
2003-02-18 7:20 ` vic ismakaev
0 siblings, 1 reply; 8+ messages in thread
From: Peter V. Saveliev @ 2003-02-18 6:37 UTC (permalink / raw)
To: sisyphus
On Tue, 18 Feb 2003 11:21:33 +0500
vic ismakaev <viclists@mail.esoo.ru> wrote:
<skip />
> К сожалению, ничего дельного присоветовать не могу.Вчера поковырялся в
> исходниках, но ничего путного в голову не пришло.Такая проблема проявилась
> почти год назад и была пофикшена в версии 0.6, но похоже не до конца.
> Или это oracle-specific bug.
<skip />
Бага модуля rlm_sql, судя по changelog пофикшено в 0.9.блабла.пре (см.
выше по треду), будем ждать stable. Пока же соломоново решение - фиксить
все ошибки обращения к базе и периодически рестартовать radiusd.
Все-таки, выключив проверку можно нарваться на бесконечный цикл,
вероятность мала, но когда случится - будет поздно...
<skip />
> Почему не учтено?
> rlm_sql/drivers/rlm_sql_oracle/db_oracle.sql
> CREATE TABLE radacct (
> radacctid INT PRIMARY KEY,
> .........
> acctsessiontime NUMERIC(12),
> ..........
> )
> По идее ACCTSESSIONTIME может иметь значение '0' в БД.
Хм. Отдал схему умельцам от Оракула, они ее и заправили. Видимо,
переборщили... Прошу прощения за панику, надо было посомневаться.
<skip>
> У Вас эта проблема возникает при работе с Ораклом? Или с MySQL/PgSQL тоже
> пробовали?
Не пробовал, нет времени. Но, судя по архивам, это возникает на любом
драйвере модуля rlm_sql.
Увы, с английским у меня плоховато; подписался на рассылку freeradius -
понимать-то понимаю, но самому писать сложно. Пока что пассивно
приобщаюсь к мудрости :)
--
Sincerely, Peter V. Saveliev
E-mail: peet@eltel.net
Jabber: peet@jabber.ru
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-16 15:48 ` Peter V. Saveliev
@ 2003-02-18 6:43 ` vic ismakaev
2003-02-18 7:42 ` Peter V. Saveliev
0 siblings, 1 reply; 8+ messages in thread
From: vic ismakaev @ 2003-02-18 6:43 UTC (permalink / raw)
To: sisyphus
16 Февраль 2003 20:48, Peter V. Saveliev написал:
> On Sun, 16 Feb 2003 23:42:44 +1000
> Dmitry Lebkov <dima@sakhalin.ru> wrote:
>
> <skip />
>
> > Вот, из Changelog'а для 0.9-pre:
> > ...
> > * Do SQL 'close' on bad sockets, to prevent descriptor leaks
> > ...
> >
> > Возможно, это оно самое и есть?
>
> Похоже.
Если этот код фиксит возврат особождаемых сокетов в пул свободных - то должно
быть оно.Код oracle имеет довольно много измений.
> <skip />
>
> > В cvs появилось что-то новое на предмет VoIP. Посмотри на
> > http://www.freeradius.org/cgi-bin/cvsweb.cgi/radiusd/src/billing/
> >
> > может быть это чем-нить поможет ...
>
> <skip />
>
> Вот это просто супер. Спасибо огромное.
Только заточено под postgresql.
>Вопрос к мэйнтейнерам: а в
> Сизифе когда эта вкусность появится, по приблизительным прогнозам?
В Сизифе - как только выйдет 0.9.
Если есть желание - могу запаковать CVS-snapshot и залить в Дедал или
приватом.
--
С уважением
Виктор В Исмакаев
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-18 6:37 ` Peter V. Saveliev
@ 2003-02-18 7:20 ` vic ismakaev
0 siblings, 0 replies; 8+ messages in thread
From: vic ismakaev @ 2003-02-18 7:20 UTC (permalink / raw)
To: sisyphus
18 Февраль 2003 11:37, Peter V. Saveliev написал:
> On Tue, 18 Feb 2003 11:21:33 +0500
> vic ismakaev <viclists@mail.esoo.ru> wrote:
>
> <skip />
>
> > К сожалению, ничего дельного присоветовать не могу.Вчера поковырялся в
> > исходниках, но ничего путного в голову не пришло.Такая проблема
> > проявилась почти год назад и была пофикшена в версии 0.6, но похоже не до
> > конца. Или это oracle-specific bug.
>
> <skip />
>
> Бага модуля rlm_sql, судя по changelog пофикшено в 0.9.блабла.пре (см.
> выше по треду), будем ждать stable.
Разница в коде rlm_sql.c в 0.8.1 и 0.9pre - тлько в увеличенном значении
масива sqlusername
- char sqlusername[MAX_STRING_LEN];
+ char sqlusername[2 * MAX_STRING_LEN + 10];
sql.c вообще без изменений.
Так что основной код rlm_sql не изменялся
Много изменений именно в коде оракла.
> Пока же соломоново решение - фиксить
> все ошибки обращения к базе и периодически рестартовать radiusd.
> Все-таки, выключив проверку можно нарваться на бесконечный цикл,
> вероятность мала, но когда случится - будет поздно...
Может попробуете из CVS?
> <skip />
> <skip>
>
> > У Вас эта проблема возникает при работе с Ораклом? Или с MySQL/PgSQL тоже
> > пробовали?
>
> Не пробовал, нет времени. Но, судя по архивам, это возникает на любом
> драйвере модуля rlm_sql.
>
> Увы, с английским у меня плоховато; подписался на рассылку freeradius -
> понимать-то понимаю, но самому писать сложно. Пока что пассивно
> приобщаюсь к мудрости :)
--
С уважением
Виктор В Исмакаев
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] FreeRADIUS: sql_get_socket
2003-02-18 6:43 ` vic ismakaev
@ 2003-02-18 7:42 ` Peter V. Saveliev
0 siblings, 0 replies; 8+ messages in thread
From: Peter V. Saveliev @ 2003-02-18 7:42 UTC (permalink / raw)
To: sisyphus
On Tue, 18 Feb 2003 11:43:54 +0500
vic ismakaev <viclists@mail.esoo.ru> wrote:
<skip />
> > Вот это просто супер. Спасибо огромное.
> Только заточено под postgresql.
Во-первых, интересно, во-вторых - есть задумки по поводу нашей БД и
postgres, собираю пока что камни...
> >Вопрос к мэйнтейнерам: а в
> > Сизифе когда эта вкусность появится, по приблизительным прогнозам?
> В Сизифе - как только выйдет 0.9.
>
> Если есть желание - могу запаковать CVS-snapshot и залить в Дедал или
> приватом.
Я лучше подожду релиза. Так-то запаковать и я попробую - надо, в конце
концов, тренироваться :)
--
Sincerely, Peter V. Saveliev
E-mail: peet@eltel.net
Jabber: peet@jabber.ru
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2003-02-18 7:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-16 8:47 [sisyphus] FreeRADIUS: sql_get_socket Peter V. Saveliev
2003-02-16 13:42 ` Dmitry Lebkov
2003-02-16 15:48 ` Peter V. Saveliev
2003-02-18 6:43 ` vic ismakaev
2003-02-18 7:42 ` Peter V. Saveliev
2003-02-18 6:21 ` vic ismakaev
2003-02-18 6:37 ` Peter V. Saveliev
2003-02-18 7:20 ` vic ismakaev
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git