Hi all!

  I am lost here. I think there is a problem on drouting module. I am using 
OpenSIPS 1.7.2 and my OpenSIPS cannot load the entire 
dr_rules table but it shows no Error.

  I have 50104 records in dr_rules table:

SELECT count(*) from dr_rules;
 count 
-------
 50104

  I have one big group id and 5 smaller ones with just 1 rule each.

  First i thought that memory could be the problem, so i lauched opensips with 
STARTOPTIONS="-u opensips -g opensips -m 256", but the 
problem still there.

  I've started opensips with fork=no and debug=7 to trace what was going wrong.

  My memory stats are:
root@perseu:/var/log/opensips# opensipsctl fifo get_statistics free_size
shmem:free_size = 239755320
root@perseu:/var/log/opensips# opensipsctl fifo get_statistics used_size
shmem:used_size = 22432196
root@perseu:/var/log/opensips# opensipsctl fifo get_statistics real_used_size
shmem:real_used_size = 28680136
root@perseu:/var/log/opensips# opensipsctl fifo get_statistics max_used_size
shmem:max_used_size = 44551012
root@perseu:/var/log/opensips# opensipsctl fifo get_statistics fragments
shmem:fragments = 260538


  At debug file i found:
DBG:drouting:dr_load_routing_info: 3278 records found in dr_rules

  So i have made a dr_reload (opensipsctl fifo dr_reload), and i found at debug 
file:
DBG:drouting:dr_load_routing_info: 3275 records found in dr_rules

  So i issued again the dr_reload and now debug file shows:
DBG:drouting:dr_load_routing_info: 3113 records found in dr_rules

  So i dive into the debug file to find that records found message, the lines 
around it is shown below:

May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
allocated 0 bytes for row_buf[3] at 0x82ba2a0 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
[3112][3] Column[timerec]=[] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
PQgetvalue(0x82284a4,3112,4)=[0] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
allocated 1 bytes for row_buf[4] at 0x82ba1dc 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
[3112][4] Column[priority]=[0] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
PQgetvalue(0x82284a4,3112,5)=[], zero len 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
allocated 0 bytes for row_buf[5] at 0x82ba28c 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
[3112][5] Column[routeid]=[] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
PQgetvalue(0x82284a4,3112,6)=[#2] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
allocated 2 bytes for row_buf[6] at 0x82ba25c 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
[3112][6] Column[gwlist]=[#2] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting INT [38154] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting STRING [0] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting STRING [55929998] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting STRING [] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting INT [0] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting STRING [] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_str2val: 
converting STRING [#2] 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
freeing row_buf[0] at 0x82ba248 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
freeing row_buf[4] at 0x82ba1dc 
May  3 23:20:58 perseu opensips: DBG:db_postgres:db_postgres_convert_rows: 
freeing row buffer at 0x822d574 
May  3 23:20:58 perseu opensips: DBG:drouting:dr_load_routing_info: 3113 
records found in dr_rules 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa7e5d1fc, 0 at: 0xa8c2afd4 (7) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa7e5d1bc, 0 at: 0xa8c2afe4 (8) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa8f8f890, 0 at: 0xa8c2aff4 (9) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa7e5cf64, 0 at: 0xa8c29f68 (1) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa7e5cf24, 1 at: 0xa8f8f938 (5) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa8c2b574, 0 at: 0xa8c29f78 (2) 
May  3 23:20:58 perseu opensips: DBG:drouting:add_prefix: adding info 
0xa8c2b2c0, 0 at: 0xa8c29f88 (3) 

  I think it is curious if not wrong it stops converting records, inform the 
numbers of rows found and then shows messages "add_prefix".

  Why the other 47000 records were not loaded?

  Please help, it is a production instalation.


  Marcio Veloso Antunes
  Tel.+55.11.3588.0802 Ext.106
  Tel.+55.21.3005.3004 Ext.106
  Cel. +55.21.8539.2949

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to