[SR-Users] Managing expiration values with memcached

Alex Balashov abalashov at evaristesys.com
Wed Nov 28 11:41:55 CET 2012


OK, so the problem seems to be with binding the values of cfg_get 
variables specifically.

It works fine if I use static values:

    $mctex(bgn=>$avp(s:bgn)) = 10600;

Or even other PVs:

    $var(x) = 10600;
    $mctex(bgn=>$avp(s:bgn)) = $var(x);

It really does seem to be a problem with the cfg_get variables, because 
a transitive approach doesn't work, either:

    $var(x) = $sel(cfg_get.bgn_expiry);
    $mctex(bgn=>$avp(s:bgn)) = $var(x);

On 11/28/2012 05:31 AM, Alex Balashov wrote:

> According to the memcached module docs, setting $mctex(key) can be used
> to modify the expiration value of a key.
>
> Should this be done after or before setting the key itself with
> $mct(...)?  I have tried it before and the assignment didn't work, so
> clearly the key must first exist in memcache:
>
>    $mctex(bgn=>$avp(s:bgn)) = $sel(cfg_get.bgn_expiry);
>    $mct(bgn=>$avp(s:bgn)) = $dbr(ra=>[0,0]);
>
> Nov 28 05:23:41 diminuendo-1 /usr/local/sbin/kamailio[32089]: ERROR:
> <core> [lvalue.c:354]: setting pvar failed
> Nov 28 05:23:41 diminuendo-1 /usr/local/sbin/kamailio[32089]: ERROR:
> <core> [lvalue.c:407]: assignment failed at pos: (164,37-164,69)
>
> OK, so that makes sense.  I tried it the other way:
>
>    $mct(bgn=>$avp(s:bgn)) = $dbr(ra=>[0,0]);
>    $mctex(bgn=>$avp(s:bgn)) = $sel(cfg_get.bgn_expiry);
>
> But when I look on my memcached server, the expiration value is not
> being modified.  It's still the default 'expire' value set in the
> memcached modparam.
>
> I ran the memcached server with maximum verbosity and verified that no
> TOUCH command is taking place, and that the SET command for the key
> contains the default expiration value, not the one I set with $mctex(...).
>
> So, it seems to me that the module is not committing this new expiration
> value when it is written to $mctex(...).
>
> Is this a bug, or am I missing something?
>


-- 
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/



More information about the sr-users mailing list