[SR-Users] db_text and caching/reloading
Asgaroth
00asgaroth00 at gmail.com
Wed Sep 30 10:28:16 CEST 2015
I've tried this with the domain module now too, and the same thing
appears to be happening, I can show/showdb/add/rm but cannot *reload*
when using dbtext as database module with dbtext caching mode enabled.
I'm wondering if this is a configuration issue on my side. When I switch
to PGSQL I am able to reload properly after a table modification.
Here is an example of the domain scenario:
# kamctl domain
-- command 'domain' - manage local domains
domain reload ....................... reload domains from disk
domain show ......................... show current domains in memory
domain showdb ....................... show domains in the database
domain add <domain> ................. add the domain to the database
domain rm <domain> .................. delete the domain from the database
# kamctl domain showdb
[1, 'domain1.example.com', '', 1443435582]
# kamctl domain add domain2.example.com
Updated domain, rows affected: 1
INFO: execute '/usr/sbin/kamctl domain reload' to synchronize cache and
database
# kamctl domain showdb
[1, 'domain1.example.com', '', 1443435582]
[2, 'domain2.example.com', '', 1443600900]
# kamctl domain show
domain:: domain1.example.com
did:: domain1.example.com
# kamctl domain reload
# kamctl domain show
domain:: domain1.example.com
did:: domain1.example.com
# kamctl domain showdb
[1, 'domain1.example.com', '', 1443435582]
[2, 'domain2.example.com', '', 1443600900]
Thanks
On 29/09/2015 15:16, Asgaroth wrote:
> Some more investigation here and it looks like the kamctlrc value to
> set for db_text path is DBTEXT_PATH and not DB_PATH as listed in the
> default kamctlrc file.
>
> [1] When I have DB_PATH set to the location of the db text files, the
> following happens (I cannot show the contents of the address table,
> but the memory dump works):
>
> DB_PATH="/etc/kamailio/db_text"
>
> # kamctl address dump
> 0 <10000, 10.7.0.0, 24, 0> []
> 1 <10002, 10.7.0.0, 24, 0> []
> # kamctl address show
> #
>
> [2] When I have DBTEXT_PATH set to the location of the db text files,
> the following happens (I cannot reload contents of the address table,
> but the memory dump and table show works):
>
> # kamctl address dump
> 0 <10000, 10.7.0.0, 24, 0> []
> 1 <10002, 10.7.0.0, 24, 0> []
> # kamctl address show
> [1, 10000, '10.7.0.0', 24, 0, '']
> # kamctl address reload
> # kamctl address dump
> 0 <10000, 10.7.0.0, 24, 0> []
> 1 <10002, 10.7.0.0, 24, 0> []
> # kamctl address show
> [1, 10000, '10.7.0.0', 24, 0, '']
>
> It also appears that the equivilent RPC commands dont work correctly
> too for the permissions module, the addressDump does not show
> in-memory values, and reload says it completed, but dump shows nothing
> too:
>
> kamcmd> permissions.addressDump
> {
> }
> kamcmd> permissions.addressReload
> Reload OK
> kamcmd> permissions.addressDump
> {
> }
>
> Am I missing something with my configuration, or have I come accross a
> bug?
>
> Thanks for reading this far :)
>
> Thanks
>
> On 29/09/2015 13:07, Asgaroth wrote:
>> Hi,
>>
>> Friendly "bump", any thoughts on this one?
>>
>> I'm using kamailio v4.3.2
>>
>> Thanks
>>
>> On 28/09/2015 13:11, Asgaroth wrote:
>>> Hi,
>>>
>>> I am busy testing the db_text module for some modules who's
>>> configuration does not change that often.
>>>
>>> If I set the db_mode for db_text to 0 (caching), it appears that if
>>> I modify the file directly (in this case the address dbtext file)
>>> and then issue a "kamctl address reload" the updated contents are
>>> *not* reloaded. However, if I set db_mode to 1, then the contents of
>>> the db_text file automatically reload when I change it on the file
>>> system.
>>>
>>> Is it possible to run db_text in caching mode but to also force a
>>> reload if I manually update the underlying database file?
>>>
>>> Additionally, in kamctlrc, I had to add the following variable:
>>>
>>> DBTEXT_PATH="/etc/kamailio/db_text"
>>>
>>> Whereas the original example for db_text path in kamctlrc is as
>>> follows:
>>>
>>> # database path used by dbtext, db_berkeley or sqlite
>>> #DB_PATH="/etc/kamailio/db_text"
>>>
>>> Is this just a typo in the kamctlrc distribution or is the variable
>>> meant to be DB_PATH or DBTEXT_PATH?
>>>
>>> Thanks
>>>
>>
>
More information about the sr-users
mailing list