2016-11-12 4 views
0

端末からMongoDBサーバーに接続しようとしていて、練習用のコマンドをほとんど実行しません。 (エラーをMongoDBのドライバがGit https://github.com/comtihon/mongodb-erlangから取得しました)MongoDB erlang connection ending

私は接続タイムアウト/ソケットクローズタイムアウトになる可能性があると聞きましたが...どうすればそれを増やすことができますか?またはどのようにして接続を永続的に保つことができますか(少なくとも30分)。

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

MongoDBサーバー端末から。

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) 

答えて

0

使用しているのmongoクライアントは、任意の悪い引数の例外を発生しませんが、この実装が依存BSONライブラリを使用すると、提供されたメッセージにexaclyなり、そのタイプのいくつかの例外を発生させます。依存関係ディレクトリをgrepすると、それを見つけることができます。

$ 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]). 

したがって、私はスキーマが有効であることを確認します。別の言語でも別のライブラリを使用して、動作するかどうかを確認してください。それが動作しない場合、あなたのmongoサーバーに問題があります。それ以外の場合、mongodb-erlangの実装にバグがあり、問題でそれを報告する必要があります。