0

I'm trying to connect to MongoDB server from terminal and want to execute few commands for practice. but its throwing following error (MongoDB driver for erlang got from git https://github.com/comtihon/mongodb-erlang)

I heard problem could be the connect timeout/socket close timeout... how can I increase it ? or how can I keep the connection persistent(at least for 30Minutes).

3> Database = <<"test">>.
<<"test">>
4> {ok, Connection} = mc_worker_api:connect ([{database, Database}]).
{ok,<0.62.0>}
** exception error: bad argument
5>

from MongoDB server terminal.

09:01:05.018+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49700 #1 (1 connection now open)
09:01:05.021+0530 I NETWORK  [conn1] end connection 127.0.0.1:49700 (0 connections now open)
Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
murty
  • 41
  • 1
  • 4

1 Answers1

0

The mongo client you are using does not raise any bad argument exceptions, but the bson library that this implementation depends on raises a few exceptions of that type, which result exacly on the message you provided. You can find that out if you grep the dependencies directory

$ grep -r "badarg" deps/

deps/bson/src/bson_schema.erl:            true -> error(badarg, [Document, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    _ -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:    {error, _, _} -> error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    {incomplete, _, _} -> error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:    false -> error(badarg, [Value, Spec])
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]);
deps/bson/src/bson_schema.erl:  error(badarg, [Value, Spec]).

So, based on that I would make sure the schema is valid. Try to use another library even in another language, to see if it works or not. If it does not work then your mongo server has the issue, otherwise the implementation of mongodb-erlang has a bug, and maybe you should report it in the issues.

ipinak
  • 5,739
  • 3
  • 23
  • 41