[SR-Users] ndb_mongodb, db_mongodb and replicasets

Daniel-Constantin Mierla miconda at gmail.com
Thu Nov 19 11:57:11 CET 2015


So ndb_mongodb is fine, nothing to backport.

For db_mongodb, the issue was in the common db url parser -- I will
backport that one.

Cheers,
Daniel

On 19/11/15 02:57, Kelvin Chua wrote:
> careless mistake, working fine now.
> would be best to backport :)
> thanks so much!
>
> Kelvin Chua
>
> On Tue, Nov 17, 2015 at 9:54 PM, Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Have you used quotes around the uri? Like:
>
>     modparam("ndb_mongodb", "server",
>     "name=mgs1;uri='mongodb://10.0.1.1
>     <http://10.0.1.1>,10.0.1.2,10.0.1.3/replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred
>     <http://10.0.1.3/replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred>'")
>
>     Cheers,
>     Daniel
>
>
>     On 17/11/15 12:32, Kelvin Chua wrote:
>>     awesome! db_mongodb works perfectly
>>
>>     but ndb_mongodb returns error
>>
>>     Nov 17 19:29:11 SG1-SIP kamailio: DEBUG: ndb_mongodb
>>     [mongodb_client.c:155]: mongodbc_add_server(): added
>>     server[mgs1]=mongodb://10.0.1.1 <http://10.0.1.1>
>>     Nov 17 19:29:27 SG1-SIP /usr/local/sbin/kamailio[29970]: ERROR:
>>     ndb_mongodb [mongodb_client.c:306]: mongodbc_exec_cmd(): Cursor
>>     failure: not master
>>
>>
>>     it only adds the first host on the mongo uri, since it is not
>>     master, refuses to insert it
>>
>>
>>     Kelvin Chua
>>
>>     On Tue, Nov 17, 2015 at 4:20 PM, Daniel-Constantin Mierla
>>     <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>>         Can you try with the patch from next commit?
>>
>>         https://github.com/kamailio/kamailio/commit/4da5d898da9a0a8f2780dcdf864354098268a7e9
>>
>>         If all runs ok, I will consider it for backporting.
>>
>>         Cheers,
>>         Daniel
>>
>>
>>         On 17/11/15 08:37, Kelvin Chua wrote:
>>>         wow i missed this due to a lot of connection logs in
>>>         /var/log/mongodb/mongod.log
>>>
>>>         2015-11-16T09:56:47.675+0000 I QUERY    [conn56345]
>>>         assertion 16256 Invalid ns
>>>         [siptrace?replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred.version]
>>>         ns:siptrace?replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred.version
>>>         query:{ table_name: "sip_trace" }
>>>
>>>         looks like the parameters are being appended to the db name
>>>
>>>         Kelvin Chua
>>>
>>>         On Mon, Nov 16, 2015 at 7:26 PM, Daniel-Constantin Mierla
>>>         <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>
>>>             Can you try with ndb_mongodb module?
>>>
>>>             Is anything suspect in the logs of mongodb server?
>>>
>>>             What is the version of mongodb-c-driver?
>>>
>>>             Cheers,
>>>             Daniel
>>>
>>>
>>>             On 16/11/15 11:12, Kelvin Chua wrote:
>>>>             I also figured the code checks out, so i'm not sure
>>>>             where to look, there is no error, just that queries
>>>>             return nothing
>>>>
>>>>             If I point the mongo URI just to the primary node, I
>>>>             get this
>>>>
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_connection.c:55]: db_mongodb_new_connection():
>>>>             connection open to: mongodb://10.0.1.2/siptrace
>>>>             <http://10.0.1.2/siptrace>
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:851]: db_mongodb_query(): query to
>>>>             collection [version]
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:885]: db_mongodb_query(): query
>>>>             filter: { "table_name" : "sip_trace" }
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:904]: db_mongodb_query(): columns
>>>>             filter: { "table_version" : 1 }
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:349]: db_mongodb_get_columns(): 1
>>>>             columns returned from the query
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:377]: db_mongodb_get_columns(): Found
>>>>             a field[0] named: table_version
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:396]: db_mongodb_get_columns():
>>>>             allocate 16 bytes for RES_NAMES[0] at 0x7f521bfb3ca8
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:406]: db_mongodb_get_columns(): use
>>>>             DB1_INT result type
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:460]: db_mongodb_get_columns():
>>>>             RES_NAMES(0x7f521bfb3ca8)[0]=[table_version] (16)
>>>>             Nov 16 17:59:45 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16451]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:671]: db_mongodb_convert_result():
>>>>             selected document: { "_id" : { "$oid" :
>>>>             "5642dec7775a1afd9ecc394e" }, "table_version" : 4 }
>>>>
>>>>
>>>>             if i include a replicaset, this happens:
>>>>
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16131]: DEBUG: db_mongodb
>>>>             [mongodb_connection.c:55]: db_mongodb_new_connection():
>>>>             connection open to: mongodb://10.0.1.1
>>>>             <http://10.0.1.1>,10.0.1.2,10.0.1.3/siptrace?replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred
>>>>             <http://10.0.1.3/siptrace?replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred>
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16131]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:851]: db_mongodb_query(): query to
>>>>             collection [version]
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16131]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:885]: db_mongodb_query(): query
>>>>             filter: { "table_name" : "sip_trace" }
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16131]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:904]: db_mongodb_query(): columns
>>>>             filter: { "table_version" : 1 }
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16125]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:733]: db_mongodb_store_result(): no
>>>>             result from mongodb
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16126]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:733]: db_mongodb_store_result(): no
>>>>             result from mongodb
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16154]: DEBUG: <core>
>>>>             [sr_module.c:897]: init_mod_child(): rank -2: ndb_mongodb
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16128]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:733]: db_mongodb_store_result(): no
>>>>             result from mongodb
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16130]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:733]: db_mongodb_store_result(): no
>>>>             result from mongodb
>>>>             Nov 16 17:56:47 SG1-SIP
>>>>             /usr/local/sbin/kamailio[16131]: DEBUG: db_mongodb
>>>>             [mongodb_dbase.c:733]: db_mongodb_store_result(): no
>>>>             result from mongodb
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>             Kelvin Chua
>>>>
>>>>             On Mon, Nov 16, 2015 at 5:39 PM, Daniel-Constantin
>>>>             Mierla <miconda at gmail.com <mailto:miconda at gmail.com>>
>>>>             wrote:
>>>>
>>>>                 Quickly looking at the code, the ndb_mongodb should
>>>>                 work with this kind of uri. Do you get any errors?
>>>>
>>>>                 Can you run with debug=3 and watch for log messages
>>>>                 from ndb_mongodb containing '... added server ...'.
>>>>                 Does it have the replica set uri there?
>>>>
>>>>                 Cheers,
>>>>                 Daniel
>>>>
>>>>
>>>>                 On 16/11/15 09:57, Kelvin Chua wrote:
>>>>>                 yes, 
>>>>>
>>>>>                 for example:
>>>>>
>>>>>                 mongodb://10.0.1.1
>>>>>                 <http://10.0.1.1>,10.0.1.2,10.0.1.3/replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred
>>>>>                 <http://10.0.1.3/replicaSet=rs0&slaveOk=true&readPreference=primaryPreferred>
>>>>>
>>>>>                 i tried this but it didn't work.
>>>>>
>>>>>
>>>>>                 according to mongoc documentation, this URI should
>>>>>                 be valid
>>>>>
>>>>>                 http://api.mongodb.org/c/1.2.1/mongoc_uri_t.html
>>>>>
>>>>>
>>>>>
>>>>>                 Kelvin Chua
>>>>>
>>>>>                 On Thu, Nov 12, 2015 at 3:53 PM, Daniel-Constantin
>>>>>                 Mierla <miconda at gmail.com
>>>>>                 <mailto:miconda at gmail.com>> wrote:
>>>>>
>>>>>                     Is there a specific format of the url for this
>>>>>                     case?
>>>>>
>>>>>                     Cheers,
>>>>>                     Daniel
>>>>>
>>>>>
>>>>>                     On 11/11/15 11:41, Kelvin Chua wrote:
>>>>>>                     anybody ever tried using a mongodb url with
>>>>>>                     replicasets and parameters to work
>>>>>>                     with kamailio?
>>>>>>
>>>>>>                     Kelvin Chua
>>>>>>
>>>>>>
>>>>>>                     _______________________________________________
>>>>>>                     SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>>>>                     sr-users at lists.sip-router.org
>>>>>>                     <mailto:sr-users at lists.sip-router.org>
>>>>>>                     http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>                     -- 
>>>>>                     Daniel-Constantin Mierla
>>>>>                     http://twitter.com/#!/miconda
>>>>>                     <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda
>>>>>                     Book: SIP Routing With Kamailio - http://www.asipto.com
>>>>>                     Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
>>>>>
>>>>>
>>>>>                     _______________________________________________
>>>>>                     SIP Express Router (SER) and Kamailio
>>>>>                     (OpenSER) - sr-users mailing list
>>>>>                     sr-users at lists.sip-router.org
>>>>>                     <mailto:sr-users at lists.sip-router.org>
>>>>>                     http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>
>>>>
>>>>                 -- 
>>>>                 Daniel-Constantin Mierla
>>>>                 http://twitter.com/#!/miconda
>>>>                 <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda
>>>>                 Book: SIP Routing With Kamailio - http://www.asipto.com
>>>>                 Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
>>>>
>>>>
>>>
>>>             -- 
>>>             Daniel-Constantin Mierla
>>>             http://twitter.com/#!/miconda
>>>             <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda
>>>             Book: SIP Routing With Kamailio - http://www.asipto.com
>>>             Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
>>>
>>>
>>
>>         -- 
>>         Daniel-Constantin Mierla
>>         http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda
>>         Book: SIP Routing With Kamailio - http://www.asipto.com
>>         Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
>>
>>
>
>     -- 
>     Daniel-Constantin Mierla
>     http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda
>     Book: SIP Routing With Kamailio - http://www.asipto.com
>     Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
>
>

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20151119/935dc6a3/attachment.html>


More information about the sr-users mailing list