[SR-Users] ndb_mongodb, db_mongodb and replicasets
Daniel-Constantin Mierla
miconda at gmail.com
Tue Nov 17 14:54:25 CET 2015
Have you used quotes around the uri? Like:
modparam("ndb_mongodb", "server",
"name=mgs1;uri='mongodb://10.0.1.1,10.0.1.2,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://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/20151117/bbd9c75f/attachment.html>
More information about the sr-users
mailing list