>> -----Original Message-----
>> From: Bogdan-Andrei Iancu [mailto:[EMAIL PROTECTED]
>> Sent: Monday, March 27, 2006 7:37 AM
>> To: Douglas Garstang
>> Cc: [email protected]
>> Subject: Re: [Users] OpenSER MySQL Updates - Weird
>> 
>> 
>> Hi Doug,
>> 
>> 
>> Douglas Garstang wrote:
>> 
>> >I have a setup where we have three OpenSER 1.0.1 systems all 
>> referring to a common MySQL database. There are some very 
>> weird things happening...
>> > 
>> >I was regularly seeing errors from OpenSER that stated 
>> > 
>> >Mar 23 10:05:27 artemis openser[11950]: submit_query: 
>> Duplicate entry '80014157--sip:[EMAIL PROTECTED]' for 
>> key 'PRIMARY'
>> >Mar 23 10:05:27 artemis openser[11950]: db_insert: Error 
>> while submitting query
>> >Mar 23 10:05:27 artemis openser[11950]: 
>> db_insert_ucontact(): Error while inserting contact
>> >Mar 23 10:05:27 artemis openser[11950]: wb_timer: Error 
>> while inserting contact into database
>> >
>> >When I ran an ngrep on port 3306 on MySQL I could clearly 
>> see the OpenSER select query where it looked for user 
>> 80014157. Here's an example of another one:
>> > 
>> >T 172.31.141.234:35385 -> 172.31.142.200:3306 [AP]
>> >  ?....select password,rpid from subscriber where username='80014074'
>> ># 
>> >T 172.31.142.200:3306 -> 172.31.141.234:35385 [AP]
>> >  
>> .....H....def.vox180internal.subscriber.subscriber.password.pa
>> [EMAIL PROTECTED]
>> er 
>> <mailto:.....H....def.vox180internal.subscriber.subscriber.pas
>[EMAIL PROTECTED]> .
>>  rpid.rpid...........................vDEPuURM4eXEw..........
>>##
>>T 172.31.141.234:35385 -> 172.31.142.200:3306 [AP]
>>  H....insert into location 
>> (username,contact,expires,q,callid,cseq,flags,user_agent,received,socket,domain
>>  ) values ('80014074',
>>  'sip:[EMAIL PROTECTED]','2006-03-23 17:39:11',-1.00     ,'[EMAIL 
>> PROTECTED]',20,0,'PolycomSoundPo
>>  
>> intIP-SPIP_601-UA/1.6.3.0067',NULL,xxx.187.142.234_5060','ipt.oneeighty.com')
>># 
>>T 172.31.142.200:3306 -> 172.31.141.234:35385 [AP]
>>  c....&.#23000Duplicate entry '80014074-ipt.oneeighty.com-sip:[EMAIL 
>> PROTECTED]' for key 'PRIMARY'
>> 
>>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?

Douglas.


_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to