Bug 694280

Summary: RFE: libvirtd.conf: create max_ro_clients to protect max_clients
Product: Red Hat Enterprise Linux 6 Reporter: Eric Blake <eblake>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2CC: berrange, bsarathy, dallan, eblake, jyang
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-23 20:13:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 747667, 756082    

Description Eric Blake 2011-04-06 20:47:11 UTC
Description of problem:
Right now, libvirt shares its client pool among read-only and read-write clients.  That means that enough parallel attempts to connect from read-only clients will starve any connection attempts by read-write clients.  This is a form of Denial of Service, built into the design, and it seems like it would be relatively easy to adjust things so that libvirt either has two separate client pools, or allows a smaller cap on the number of read-only clients, so that read-write clients can't be starved by too many read-only connections.

Version-Release number of selected component (if applicable):
libvirt-0.8.7-16.el6

How reproducible:


Steps to Reproduce:
1. if desired, modify /etc/libvirt/libvirtd.conf to reduce max_clients to make testing faster
2. open the maximum number (default 20) of simultaneous read-only connections (for example, a loop that spawns virsh -r into background processes)
3. try to open a read-write connection
  
Actual results:
starvation

Expected results:
Be able to guarantee a certain number of connections to read-write clients, no matter what read-only clients are doing

Additional info:

Comment 5 Dave Allan 2011-11-23 20:13:36 UTC
Closing as a duplicate of 746666 as the fundamental behavior that needs to be fixed is the same.

*** This bug has been marked as a duplicate of bug 746666 ***