[Users] OpenSER MySQL Updates - Weird
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Tue Mar 28 10:32:11 CEST 2006
Douglas Garstang wrote:
>>>You can quite clearly see that MySQL does NOT return a row, and OpenSER happily goes and does an insert then. I can't understand why MySQL >then complains about a duplicate key error. Why would it do this when the row wasn't found, and presumably the key doesn't exist?
>>>
>>>
>>>
>>your trace shows two queries:
>>1) a DB authentication
>>2) a usrloc updated.
>>
>>based on the information from cache, openser knows if it should do an
>>update or insert.
>>the problem is if you use 2 opensers on same DB, each server, based on
>>private cache, will know they have to do insert (the contact is not in
>>cache and DB). and you will end with 2 duplicated inserts.
>>
>>
>
>Bogdan, thanks for the reply. I'm don't quite understand. I'm using db_mode 1, which the docs say writes all updates immediately to the database. A 'openserctl ul show' still shows cached entries though. Why? Is db_mode 1 supposed to cache at all? Which db_mode should I use so that I can have two or more OpenSER systems safely accessing the same database?
>
>
>
all db_mods from 0 to 2 use mem cache - the difference is when the DB is
updated with changes from cache. in mod 1 the changes from cache are
immediately written into DB.
the only non-cache db mod is 3, but this is available only in the devel
branch - read carefully the docs to understand the implications of this mod.
regards,
bogdan
More information about the sr-users
mailing list