2010/7/20 Henning Westerholt henning.westerholt@1und1.de:
Hi Elena. This is also I'm a bit afraid of when using MI command to manage large ammount of records (LCR, locations, 'address' entries...). Wouldn't make sense MI to use shared memory instead of private memory?
Hi Iñaki,
this would be possible, but its IMHO a bit wrong from a conceptional POV. This FIFO command execution belongs to the MI process, and it should not affect the working of other process which are busy routing SIP requests - they don't need to see this as all.
Sure, you are right.
One workaround is as discussed is to just use system malloc,
It seems a good solution.
another would be to partition the command execution in small steps like we do for data loading in several modules.
Yes, but this involves MI process to be designed for that, and it's not the case, right? This is, in case the retrieved information exceeds some size it should be automatically partitioned in various steps which are sent to the MI process one by one.
But as i said earlier, its maybe not the best idea in general to pipe the output of several houndred thousands rules through the MI interface, especially if the information is available more or less similar in the database.
Sure, but what about when using just memory (as in db_mode=0 for usrloc)? Also there are other modules (as LCR) which just use the database to load initial values and later those values or their attributes are modified in memory (i.e: LCR gateways status).
Regards.