[SR-Users] kamailio does not start with db_mongdb and usrloc
Daniel-Constantin Mierla
miconda at gmail.com
Thu Mar 1 14:31:01 CET 2018
Hello,
indeed, it was a similar case in another function. Can you fetch again
master and try?
Cheers,
Daniel
On 01.03.18 13:32, Stephane wrote:
> Hello Daniel,
>
> Maybe a similar issue somewhere else in the code?
>
> 0(5462) ERROR: db_mongodb [mongodb_dbase.c:557]:
> db_mongodb_convert_bson(): field [projection] not found in result iterator
>
> 0(5462) ERROR: db_mongodb [mongodb_dbase.c:708]:
> db_mongodb_convert_result(): failed to convert bson at pos 0
>
> 0(5462) ERROR: db_mongodb [mongodb_dbase.c:776]:
> db_mongodb_store_result(): failed to set the rows in result
>
> 0(5462) ERROR: db_mongodb [mongodb_dbase.c:965]: db_mongodb_query():
> failed to store result
>
> 0(5462) ERROR: db_mongodb [mongodb_dbase.c:974]: db_mongodb_query():
> failed to do the query
>
>
> Kind regards,
> Stephane
>
> On 1 March 2018 at 12:58, Daniel-Constantin Mierla <miconda at gmail.com
> <mailto:miconda at gmail.com>> wrote:
>
> Hello,
>
> thanks for testing -- the new error was on matching returned
> columns, as now they are stored in the projection field document.
>
> I just pushed a new patch, can you try again with latest master?
>
> Cheers,
> Daniel
>
>
> On 01.03.18 11:14, Stephane wrote:
>> Hello Daniel,
>>
>> The format of the mongo request is better I think.
>> But there is the following new error (with both mongo server
>> versions)
>>
>> 0(30473) ERROR: db_mongodb [mongodb_dbase.c:386]:
>> db_mongodb_get_columns(): field [projection] not found in result
>> iterator
>>
>> 0(30473) ERROR: db_mongodb [mongodb_dbase.c:752]:
>> db_mongodb_store_result(): failed to set the columns
>>
>> 0(30473) ERROR: db_mongodb [mongodb_dbase.c:945]:
>> db_mongodb_query(): failed to store result
>>
>> 0(30473) ERROR: db_mongodb [mongodb_dbase.c:954]:
>> db_mongodb_query(): failed to do the query
>>
>>
>> The pcap traces are in attachment.
>> Thanks !
>> Stéphane
>>
>>
>>
>> On 1 March 2018 at 08:34, Daniel-Constantin Mierla
>> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>> Hello,
>>
>> can you try with latest master branch or apply the patch from
>> the next commit to your branch?
>>
>> *
>> https://github.com/kamailio/kamailio/commit/d50498cf483cd22ac4e62af5aaa86fc27654f640
>> <https://github.com/kamailio/kamailio/commit/d50498cf483cd22ac4e62af5aaa86fc27654f640>
>>
>> If possible, test it with both mongo server versions and if
>> works fine with both, then I am going to backport.
>>
>> Cheers,
>> Daniel
>>
>>
>> On 28.02.18 18:49, Stephane wrote:
>>> Hello Daniel,
>>>
>>> I tried with mongoc 1.8.0 (the trace I have sent) and also
>>> mongoc 1.9.2. The result is the same : a "failed to parse"
>>> with as indication "unrecognized field 'table_version'" when
>>> using mongo server version 3.6.2.
>>>
>>> Both mongoc versions are running fine with a mongo server
>>> version 3.0.15.
>>>
>>> Kind regards,
>>> Stephane
>>>
>>>
>>>
>>>
>>> On 28 February 2018 at 15:25, Daniel-Constantin Mierla
>>> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>
>>> Hello,
>>>
>>> I see in the pcap that the returned error contains:
>>>
>>> Failed to parse: { find: "version", filter: {
>>> table_name: "location" }, table_version: 1,
>>> $readPreference: { mode: "secondaryPreferred" }, $db:
>>> "kamailio" }. Unrecognized field 'table_version'.
>>>
>>> What is the version of mongoc library? I tried to quick
>>> search on google and found a similar report :
>>>
>>> -
>>> https://github.com/mongodb/mongo-php-driver/issues/516
>>> <https://github.com/mongodb/mongo-php-driver/issues/516>
>>>
>>> On the other hand, it works with same lib but for
>>> different versions of mongo server ... so might be
>>> something different.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 27.02.18 11:26, Stephane wrote:
>>>> Hello Daniel,
>>>>
>>>> You will find two pcap files in attachment. I am using
>>>> the same mongoc library version in both cases.
>>>> Let me know if you need more info.
>>>>
>>>> Kind regards,
>>>> Stephane
>>>>
>>>> On 27 February 2018 at 09:01, Daniel-Constantin Mierla
>>>> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>>
>>>> Hello,
>>>>
>>>> can you send here the requests sent by kamailio for
>>>> the two mongodb versions? To compare and see where
>>>> it can be fixed.
>>>>
>>>> Also, were you using the same mongoc library
>>>> version in both cases?
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>>
>>>> On 26.02.18 12:57, Stephane wrote:
>>>>> Hello,
>>>>> I made some additional tests.
>>>>> The problem is only present when kamailio is
>>>>> facing mongo release 3.2 (or higher).
>>>>> With mongo version 3.0 (or lower), the request
>>>>> sent by kamailio is different: it contains $query
>>>>> and $table_version elements and mongo accepts it.
>>>>> Kind regards,
>>>>> Stephane
>>>>>
>>>>> On 23 February 2018 at 10:48, Stephane
>>>>> <mandalavoip at gmail.com
>>>>> <mailto:mandalavoip at gmail.com>> wrote:
>>>>>
>>>>> Hello Daniel,
>>>>>
>>>>> I took a pcap trace. And I see the following
>>>>> in the answer sent by mongo
>>>>>
>>>>> Failed to parse: { find: "version", filter: {
>>>>> table_name: "location" }, table_version: 1,
>>>>> $db: "kamailio", $readPreference: { mode:
>>>>> "primaryPreferred" }, $clusterTime: {
>>>>> clusterTime: Timestamp(1519379980, 1),
>>>>> signature: { hash: BinData(0,
>>>>> 0000000000000000000000000000000000000000),
>>>>> keyId: 0 } } }. Unrecognized field
>>>>> 'table_version'.codecodeNameFailedToParseoperationTimeZ$clusterTimeXclusterTimeZsignature3hashkeyId
>>>>>
>>>>> Kind regards,
>>>>> Stephane
>>>>>
>>>>> On 23 February 2018 at 09:39,
>>>>> Daniel-Constantin Mierla <miconda at gmail.com
>>>>> <mailto:miconda at gmail.com>> wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I don't know if you can see the result
>>>>> sent back by mongodb in its logs, it
>>>>> doesn't show it there. Maybe you can sniff
>>>>> the traffic on the network and see if
>>>>> mongodb sends the proper response back.
>>>>> Kamailio logs like nothing was retrieved.
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>>
>>>>> On 22.02.18 18:02, Stephane Focant wrote:
>>>>>> Hello,
>>>>>> I have an issue when I try to use
>>>>>> kamailio 5.1 with usrloc and db_mongdb
>>>>>> modules.
>>>>>> When I try to start kamailio, I get the
>>>>>> following error:
>>>>>>
>>>>>> 0(22216) DEBUG: <core> [db.c:314]:
>>>>>> db_do_init2(): connection 0x7f735b5c4100
>>>>>> not found in pool
>>>>>> 0(22216) DEBUG: db_mongodb
>>>>>> [mongodb_connection.c:55]:
>>>>>> db_mongodb_new_connection(): connection
>>>>>> open to: mongodb://10.0.12.149
>>>>>> <http://10.0.12.149>,10.0.12.150,10.0.12.151/kamailio?replicaSet=sre_location&slaveOk=true&readPreference=primaryPreferred
>>>>>> <http://10.0.12.151/kamailio?replicaSet=sre_location&slaveOk=true&readPreference=primaryPreferred>
>>>>>> 0(22216) DEBUG: db_mongodb
>>>>>> [mongodb_dbase.c:864]:
>>>>>> db_mongodb_query(): query to collection
>>>>>> [version]
>>>>>> 0(22216) DEBUG: db_mongodb
>>>>>> [mongodb_dbase.c:898]:
>>>>>> db_mongodb_query(): query filter: {
>>>>>> "table_name" : "location" }
>>>>>> 0(22216) DEBUG: db_mongodb
>>>>>> [mongodb_dbase.c:917]:
>>>>>> db_mongodb_query(): columns filter: {
>>>>>> "table_version" : 1 }
>>>>>> 0(22216) DEBUG: <core> [db_res.c:120]:
>>>>>> db_new_result(): allocate 56 bytes for
>>>>>> result set at 0x7f735b5c4450
>>>>>> 0(22216) DEBUG: db_mongodb
>>>>>> [mongodb_dbase.c:746]:
>>>>>> db_mongodb_store_result(): no result from
>>>>>> mongodb
>>>>>> 0(22216) DEBUG: <core> [db.c:404]:
>>>>>> db_table_version(): no row for table
>>>>>> location found
>>>>>> 0(22216) ERROR: <core> [db.c:450]:
>>>>>> db_check_table_version(): invalid version
>>>>>> 0 for table location found, expected 9
>>>>>> (check table structure and table "version")
>>>>>> 0(22216) ERROR: usrloc [dlist.c:659]:
>>>>>> register_udomain(): error during table
>>>>>> version check.
>>>>>> 0(22216) DEBUG: <core> [db_pool.c:100]:
>>>>>> pool_remove(): removing connection from
>>>>>> the pool
>>>>>> 0(22216) ERROR: registrar
>>>>>> [registrar.c:651]: domain_fixup(): failed
>>>>>> to register domain
>>>>>> 0(22216) ERROR: <core>
>>>>>> [core/route.c:1154]: fix_actions():
>>>>>> fixing failed (code=-1) at
>>>>>> cfg:/usr/local/kamailio-5.1/etc/kamailio/kamailio.cfg:660
>>>>>> 0(22216) ERROR: <core>
>>>>>> [core/rvalue.c:3860]: fix_rval_expr():
>>>>>> failure in cfg at line: 660 col: 22
>>>>>> 0(22216) ERROR: <core>
>>>>>> [core/rvalue.c:3860]: fix_rval_expr():
>>>>>> failure in cfg at line: 660 col: 22
>>>>>> 0(22216) ERROR: <core>
>>>>>> [core/route.c:1154]: fix_actions():
>>>>>> fixing failed (code=-1) at
>>>>>> cfg:/usr/local/kamailio-5.1/etc/kamailio/kamailio.cfg:663
>>>>>> ERROR: error -1 while trying to fix
>>>>>> configuration
>>>>>> 0(22216) DEBUG: tm [t_funcs.c:85]:
>>>>>> tm_shutdown(): start
>>>>>> 0(22216) DEBUG: tm [t_funcs.c:88]:
>>>>>> tm_shutdown(): emptying hash table
>>>>>> 0(22216) DEBUG: tm [t_funcs.c:90]:
>>>>>> tm_shutdown(): removing semaphores
>>>>>> 0(22216) DEBUG: tm [t_funcs.c:92]:
>>>>>> tm_shutdown(): destroying tmcb lists
>>>>>> 0(22216) DEBUG: tm [t_funcs.c:95]:
>>>>>> tm_shutdown(): done
>>>>>> 0(22216) INFO: <core>
>>>>>> [core/sctp_core.c:53]:
>>>>>> sctp_core_destroy(): SCTP API not initialized
>>>>>> 0(22216) DEBUG: <core>
>>>>>> [core/mem/shm.c:261]:
>>>>>> shm_destroy_manager(): destroying memory
>>>>>> manager: q_malloc
>>>>>> 0(22216) DEBUG: <core>
>>>>>> [core/mem/q_malloc.c:1165]:
>>>>>> qm_shm_lock_destroy(): destroying the
>>>>>> shared memory lock
>>>>>> 0(22216) DEBUG: <core>
>>>>>> [core/mem/pkg.c:91]:
>>>>>> pkg_destroy_manager(): destroying memory
>>>>>> manager: q_malloc
>>>>>>
>>>>>>
>>>>>> In mongoDB, I have the collection
>>>>>> "version" in the db kamailio, and the
>>>>>> entries needed for usrloc (location and
>>>>>> location_attrs):
>>>>>> sre_location:PRIMARY> use kamailio
>>>>>> switched to db kamailio
>>>>>> sre_location:PRIMARY>
>>>>>> db.getCollection("version").find()
>>>>>> { "_id" :
>>>>>> ObjectId("5a8ec43c601b262bef82a595"),
>>>>>> "table_name" : "location",
>>>>>> "table_version" : 9 }
>>>>>> { "_id" :
>>>>>> ObjectId("5a8edb72a3ec40427577b8d0"),
>>>>>> "table_name" : "location_attrs",
>>>>>> "table_version" : 1 }
>>>>>>
>>>>>>
>>>>>> And logs in mongo show the following info
>>>>>> when kamailio starts:
>>>>>>
>>>>>> 2018-02-22T17:13:02.604+0100 I NETWORK
>>>>>> [conn90] received client metadata from
>>>>>> 10.0.12.180:56320
>>>>>> <http://10.0.12.180:56320> conn: {
>>>>>> driver: { name: "mongoc", version:
>>>>>> "1.9.2" }, os: { type: "Linux", name:
>>>>>> "CentOS", version: "6.9 (Final)",
>>>>>> architecture: "x86_64" }, platform:
>>>>>> "cfg=0x1563000 posix=200809 CC=GCC 4.4.7
>>>>>> 20120313 (Red Hat 4.4.7-18) CFLAGS=""
>>>>>> LDFLAGS=""" }
>>>>>> 2018-02-22T17:13:02.604+0100 I COMMAND
>>>>>> [conn90] command admin.$cmd command:
>>>>>> isMaster { isMaster: 1, client: { driver:
>>>>>> { name: "mongoc", version: "1.9.2" }, os:
>>>>>> { type: "Linux", name: "CentOS", version:
>>>>>> "6.9 (Final)", architecture: "x86_64" },
>>>>>> platform: "cfg=0x1563000 posix=200809
>>>>>> CC=GCC 4.4.7 20120313 (Red Hat 4.4.7-18)
>>>>>> CFLAGS="" LDFLAGS=""" }, compression: [],
>>>>>> $readPreference: { mode:
>>>>>> "secondaryPreferred" }, $db: "admin" }
>>>>>> numYields:0 reslen:716 locks:{}
>>>>>> protocol:op_query 0ms
>>>>>> 2018-02-22T17:13:02.604+0100 I COMMAND
>>>>>> [conn90] command kamailio.$cmd command:
>>>>>> find { find: "version", filter: {
>>>>>> table_name: "location" }, table_version:
>>>>>> 1, $db: "kamailio", $readPreference: {
>>>>>> mode: "primaryPreferred" }, $clusterTime:
>>>>>> { clusterTime: Timestamp(1519315979, 1),
>>>>>> signature: { hash: BinData(0,
>>>>>> 0000000000000000000000000000000000000000),
>>>>>> keyId: 0 } } } numYields:0 reslen:531
>>>>>> locks:{} protocol:op_msg 0ms
>>>>>> 2018-02-22T17:13:02.605+0100 I NETWORK
>>>>>> [conn90] end connection 10.0.12.180:56320
>>>>>> <http://10.0.12.180:56320> (9 connections
>>>>>> now open)
>>>>>>
>>>>>> I probably miss something: it is not
>>>>>> clear to me why kamailio is not able to
>>>>>> retrieve the value of table_version for
>>>>>> the table_name location. Any idea would
>>>>>> be very welcome !
>>>>>>
>>>>>> I use mongo-c-driver 1.9.2 and mongodb 3.6
>>>>>>
>>>>>> Thank you.
>>>>>> Stephane
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Kamailio (SER) - Users Mailing List
>>>>>> sr-users at lists.kamailio.org
>>>>>> <mailto:sr-users at lists.kamailio.org>
>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>> <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>>>
>>>>> --
>>>>> Daniel-Constantin Mierla
>>>>> www.twitter.com/miconda
>>>>> <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda
>>>>> <http://www.linkedin.com/in/miconda>
>>>>> Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com <http://www.asipto.com>
>>>>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
>>>>> <http://www.kamailioworld.com>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Daniel-Constantin Mierla
>>>> www.twitter.com/miconda
>>>> <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda
>>>> <http://www.linkedin.com/in/miconda>
>>>> Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com <http://www.asipto.com>
>>>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com <http://www.kamailioworld.com>
>>>>
>>>>
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda
>>> <http://www.linkedin.com/in/miconda>
>>> Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com <http://www.asipto.com>
>>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com <http://www.kamailioworld.com>
>>>
>>>
>>
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>> Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com <http://www.asipto.com>
>> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com <http://www.kamailioworld.com>
>>
>>
>
> --
> Daniel-Constantin Mierla
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
> Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com <http://www.asipto.com>
> Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com <http://www.kamailioworld.com>
>
>
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180301/3f02262a/attachment.html>
More information about the sr-users
mailing list