Without the log message, it was not obvious why ovsdb-server no longer accepts new connections when the session limit was reached. This patch adds a log message to make it obvious.
Signed-off-by: Andy Zhou <az...@nicira.com> -- v1->v2: make sure ovsdb_jsonrpc_session_run_all() is always called. --- ovsdb/jsonrpc-server.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c index caef515..1092ffa 100644 --- a/ovsdb/jsonrpc-server.c +++ b/ovsdb/jsonrpc-server.c @@ -314,20 +314,26 @@ ovsdb_jsonrpc_server_run(struct ovsdb_jsonrpc_server *svr) SHASH_FOR_EACH (node, &svr->remotes) { struct ovsdb_jsonrpc_remote *remote = node->data; - if (remote->listener && svr->n_sessions < svr->max_sessions) { + if (remote->listener) { struct stream *stream; int error; - error = pstream_accept(remote->listener, &stream); - if (!error) { - struct jsonrpc_session *js; - js = jsonrpc_session_open_unreliably(jsonrpc_open(stream), - remote->dscp); - ovsdb_jsonrpc_session_create(remote, js); - } else if (error != EAGAIN) { - VLOG_WARN_RL(&rl, "%s: accept failed: %s", + if (svr->n_sessions < svr->max_sessions) { + error = pstream_accept(remote->listener, &stream); + if (!error) { + struct jsonrpc_session *js; + js = jsonrpc_session_open_unreliably(jsonrpc_open(stream), + remote->dscp); + ovsdb_jsonrpc_session_create(remote, js); + } else if (error != EAGAIN) { + VLOG_WARN_RL(&rl, "%s: accept failed: %s", + pstream_get_name(remote->listener), + ovs_strerror(error)); + } + } else { + VLOG_WARN_RL(&rl, "%s: connection exceeded maximum (%d)", pstream_get_name(remote->listener), - ovs_strerror(error)); + svr->max_sessions); } } -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev