Hello,

On 12/31/09 12:02 PM, alex pappas wrote:
Hi,

From the syslog when kamailio start ups I get the following:


Dec 31 12:35:45 YGOR /usr/local/sbin/kamailio[10281]: DBG:core:destroy_modules: shutting down module htable Dec 31 12:35:46 YGOR kamailio: DBG:core:yyparse: loading module /usr/local/lib64/kamailio/modules/htable.so Dec 31 12:35:46 YGOR kamailio: DBG:core:register_module: register_pv: htable Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: htable matches module htable Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: found <htable> in module htable [/usr/local/lib64/kamailio/modules/] Dec 31 12:35:46 YGOR kamailio: DBG:htable:ht_table_spec: htable [a] - size [14] Dec 31 12:35:46 YGOR kamailio: DBG:htable:ht_table_spec: htable [a] - dbtable [htable] Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: htable matches module htable Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: found <db_url> in module htable [/usr/local/lib64/kamailio/modules/] Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: htable matches module htable Dec 31 12:35:46 YGOR kamailio: DBG:core:set_mod_param_regex: found <fetch_rows> in module htable [/usr/local/lib64/kamailio/modules/] Dec 31 12:35:46 YGOR kamailio: DBG:core:find_cmd_export_t: found <sht_print>(0) in module htable [/usr/local/lib64/kamailio/modules/] Dec 31 12:35:52 YGOR /usr/local/sbin/kamailio[10371]: INFO:core:init_mod: initializing module htable Dec 31 12:35:52 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable:ht_db_open_con: database connection opened successfully Dec 31 12:35:52 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable:ht_db_load_tables: loading db table [htable] in ht [a] Dec 31 12:35:52 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable:ht_db_load_table: =============== loading hash table [a] from database [htable] Dec 31 12:35:58 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable*:ht_db_load_table: Nothing to be loaded in hash table*

this is caused by a check of number of rows which seems to be 0. I will try to reproduce in the next days ...

Dec 31 12:35:58 YGOR /usr/local/sbin/kamailio[10371]: DBG:core:init_mod: register MI for htable Dec 31 12:35:58 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable:pv_parse_ht_name: htable [a] - key [$rU] Dec 31 12:35:58 YGOR /usr/local/sbin/kamailio[10371]: DBG:htable:ht_get_table: htable found [a]

In the mysql htable I see :


mysql> select count(*) from openser10.htable;
+----------+
| count(*) |
+----------+
|  1893255 |
+----------+
1 row in set (0.00 sec)

And ofcourse when I run the sht_print(); I get many errors since htable in memory is empty:

Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1376] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1377] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1378] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1379] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1380] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1381] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1382] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1383] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1384] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1385] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1386] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1387] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1388] -- <0> Dec 31 12:52:48 YGOR /usr/local/sbin/kamailio[10375]: ERROR:htable:ht_dbg: htable[1389] -- <0>

Yes, these show empty htable slots.


Do you have any idea on why htable module does not load the data in the memory ?

Needs some troubleshooting as looks not to work from a certain amount of data.

Cheers,
Daniel



Cheers
Alex






On Wed, Dec 30, 2009 at 6:01 PM, Daniel-Constantin Mierla <mico...@gmail.com <mailto:mico...@gmail.com>> wrote:

    Hello,


    On 12/30/09 4:53 PM, alex pappas wrote:
    Hi,

    I don't see where the mysql is stacking but if I read correctly
    in http://kamailio.org/docs/modules/1.5.x/htable.html

    _/The number of entries in the table is 2^size/_ :  2^14=16384
    rows data and i have 2.000.000 rows so maybe it is not possible
    to load them..But you know better of course.
    no, that is the number of slots (buckets) in the hash table, not
    the number of items that can be loaded -- some more technical
    aspects of hash tables:

    http://en.wikipedia.org/wiki/Hash_table

    The number of items in htable is only a matter of shared memory.
    The number of slots controls access speed -- higher number gives
    less collisions.

    You said at a moment that you could start, but htable was
    returning only null: put a sht_print() in config to see the
    content of the htable (you probably need high debug level:
    debug=5) with the first sip request.

    Cheers,
    Daniel






    On Wed, Dec 30, 2009 at 5:32 PM, Daniel-Constantin Mierla
    <mico...@gmail.com <mailto:mico...@gmail.com>> wrote:

        Hello,

        On 12/30/09 4:05 PM, alex pappas wrote:

            Hi,

            The error I get is the following:

            ERROR:db_mysql:db_mysql_submit_query: driver error on
            query: Lost connection to MySQL server during query
            ERROR:core:db_do_query: error while submitting query
            ERROR:htable:ht_db_load_table: Error while querying db
            ERROR:core:init_mod: failed to initialize module htable
            ERROR:core:main: error while initializing modules

            I'm running kamailio with 8M private memory per process
            and 2048M  shared memory.

            When kamailio is getting the data from mysql is passing
            it all the data chunk in private memory and then in the
            shared memory?

        It is loaded in chunks of rows -- you can tune it with a
        module parameter:
        http://kamailio.org/docs/modules/3.0.x/modules_k/htable.html#id2529075

        Try to play with it to see if you get better results. You do
        not need more private memory, 8MB is ok.

        Maybe the mysql server is closing due to lot of loaded data.
        Have you got any figure what is the number of rows when it
        starts losing the connection?

        Cheers,
        Daniel



            because if this is the case then I need more than 1000M
            in private memory.

            Cheers
            Alex

            P.S. i don't get any errors from mysql.




-- Daniel-Constantin Mierla
        * http://www.asipto.com/



-- Daniel-Constantin Mierla
    *http://www.asipto.com/


--
Daniel-Constantin Mierla
* http://www.asipto.com/

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Reply via email to