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 <mico...@gmail.com > <mailto:mico...@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 >> <mico...@gmail.com <mailto:mico...@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 >>> <mico...@gmail.com <mailto:mico...@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 >>>> <mandalav...@gmail.com <mailto:mandalav...@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 <mico...@gmail.com >>>> <mailto:mico...@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@lists.kamailio.org >>>>> <mailto:sr-users@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 -- 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
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users