[OpenSIPS-Devel] Problem found while testing dialog profile

Julien Chavanton jchavanton at gmail.com
Mon Jan 14 12:46:30 CET 2013


One option would be to increment by 0 using a memcached_increment and use
the return value, this way we keep the atomic feature provided by memcached.

However this would break the cachedb abstraction since we would not use a
normal "cdb_func.get" but a cdb_func.add "0"

dialog profile -get-> | cachedb |  memcached

Cachedb specific feature like increment may not be easily abstracted.





On Mon, Jan 14, 2013 at 11:52 AM, Julien Chavanton <jchavanton at gmail.com>wrote:

> I found out that the problem is taking place in memcached, once the size
> of a value is not lowered when decrementing.
>
> This is what we have int memcached after having reached a dialog profile
> of a number with more then 2 digits (10+)
>
> # Increment
> incr dlg_val_caller_ODA1MQ== 1.
> 1.
>
> # Get the value (size 2 !!)
> get dlg_val_caller_ODA1MQ== .
> VALUE dlg_val_caller_ODA1MQ== 0 2.
> 1 .
> END.
>
> # Decrement
> decr dlg_size_caller 1.
> 0.
>
> ----------------------------------------------------------
>
> Then str2int is failing in dlg_profile.c
>
>  if (str2int(&ret, &n) < 0) {
>                         LM_ERR("invalid int value in CacheDB <%.*s>\n",
>
>
>
>
>
> On Mon, Jan 14, 2013 at 10:34 AM, Julien Chavanton <jchavanton at gmail.com>wrote:
>
>> Hi, I found a problem that may require more investigation but just in
>> case I do not look into it further I wanted to raise the issue.
>>
>> Problem found while testing dialog profiles :
>>
>> ERROR:dialog:get_profile_size: invalid int value in CacheDB <1 >
>> ERROR:dialog:get_profile_size: invalid int value in CacheDB <0 >
>>
>> This problem with the white space as triggered while testing when the
>> profile get higher then 10 ?
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20130114/f39ee379/attachment.htm>


More information about the Devel mailing list