[ovs-git] Open vSwitch: jsonrpc-server: Disconnect connections that queue too much data. (branch-1.10)

dev at openvswitch.org dev at openvswitch.org
Wed Apr 3 02:24:19 UTC 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, branch-1.10 has been updated
       via  bedbab1a0f2a3cef6c89a3889d424ed6f09309d3 (commit)
       via  4a95e9bf2a4fc1d2b261a4cc2071e190e3a15ddc (commit)
       via  9df297204560482c6b51571cef05fb8ad0184e35 (commit)
      from  1e9dc006a1544b3f84d30512cc90b78f46ab9065 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit bedbab1a0f2a3cef6c89a3889d424ed6f09309d3
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=bedbab1a0f2a3cef6c89a3889d424ed6f09309d3
Author: Ben Pfaff <blp at nicira.com>
		
jsonrpc-server: Disconnect connections that queue too much data.
		
Consider this situation:

    * OVSDB client A executes transactions very quickly for a long time.

    * OVSDB client B monitors the tables that A modifies, but (either
      because B is connected over a slow network, or because B is slow to
      process updates) cannot keep up.

In this situation, the data that ovsdb-server has queued to send B grows
without bound and eventually ovsdb-server runs out of memory.  This commit
avoids the problem by noticing that more data is queued to B than necessary
to express the whole contents of the database and dropping the connection
to B.  When B reconnects later, it can then fetch the contents of the
database using less data than was previously queued to it.

(This is not entirely hypothetical.  We have seen this behavior in
intentional stress tests.)

Bug #15637.
Reported-by: Jeff Merrick <jmerrick at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 4a95e9bf2a4fc1d2b261a4cc2071e190e3a15ddc
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=4a95e9bf2a4fc1d2b261a4cc2071e190e3a15ddc
Author: Ben Pfaff <blp at nicira.com>
		
ovsdb-data: New functions for predicting serialized length of data.
		
These will be used for the first time in an upcoming commit.

Signed-off-by: Ben Pfaff <blp at nicira.com>


commit 9df297204560482c6b51571cef05fb8ad0184e35
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=9df297204560482c6b51571cef05fb8ad0184e35
Author: Ben Pfaff <blp at nicira.com>
		
json: New function json_serialized_length().
		
This will be used for the first time in an upcoming commit.

Signed-off-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 lib/json.c             |  115 +++++++++++++++++++++++++++++++++++++++++++++++-
 lib/json.h             |    4 +-
 lib/ovsdb-data.c       |   93 ++++++++++++++++++++++++++++++++++++++-
 lib/ovsdb-data.h       |    6 ++-
 ovsdb/jsonrpc-server.c |  108 ++++++++++++++++++++++++++++++++++++++++++++-
 tests/test-json.c      |    3 +-
 tests/test-ovsdb.c     |   14 +++++-
 7 files changed, 334 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list