Bug 502042

Summary: system-config-lvm start-up extremely slow with remote display over a slow network
Product: Red Hat Enterprise Linux 5 Reporter: Olivier Fourdan <ofourdan>
Component: system-config-lvmAssignee: Marek Grac <mgrac>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: agk, bbrock, cluster-maint, cward, dwysocha, info, kem, mbroz, prockai, tao
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: system-config-lvm-1.1.5-3.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-30 08:42:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Proposed patch none

Description Olivier Fourdan 2009-05-21 15:34:45 UTC
Created attachment 344983 [details]
Proposed patch

Description of problem:

system-config-lvm startup is extremely slow when used and display over a slow network connection such as a slow VPN.

Version-Release number of selected component (if applicable):

system-config-lvm-1.1.5

How reproducible:

100% reproducible in the case of our customer

Steps to Reproduce:

1. Run system-config-lvm over a very slow network connection
  
Actual results:

system-config-lvm takes ages to startup and seems to hang

Expected results:

suystem-config-lvm starts up rapidly

Additional info:

The problem is caused by the refresh of the progress bar at startup.

For each line output by each command ran by system-config-lvm, the UI is refreshed.

In execute.py:

225     while len(in_list) != 0:
226         # let GUI update
227         if update_gtk:
228             while gtk.events_pending():
229                 gtk.main_iteration()
230         i,o,e = select.select(in_list, [], [], 0.1)
231         for fd in i:
232             if fd == read:
233                 s = os.read(read, 1000)
234                 if s == '':
235                     in_list.remove(read)
236                 rc = rc + s
237             if fd == read_err:
238                 s = os.read(read_err, 1000)
239                 if s == '':
240                     in_list.remove(read_err)
241                 rc_err = rc_err + s
242 

Removing the while gtk.events_pending()/gtk.main_iteration() fixes the issue for the customer but obviously does not refresh the progress bar anymore.

Instead, an in-between solution might be to move the refresh out of the loop so that the UI is refreshed only once per command launched (still s-c-lvm runs a lot of commands, I counted more than 250 external commands launched by system-config-lvm, and that's only on a simple virtual machine, I would expect a lot more on a real production system with more storage)

That's what the attached patch does. I will propose a test package to our customer to see if that improves the start-up time to something acceptable in his case.

There might be other approaches to the problem, like adding a command line option or even try to detect if the DISPLAY is local or remote but I am not sure this would be adequate.

Comment 4 Marek Grac 2009-12-15 12:42:36 UTC
Progress bar is fluent after removing that update on local computer, so I set it as default.

Comment 7 Chris Ward 2010-02-11 10:20:30 UTC
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~

RHEL 5.5 Beta has been released! There should be a fix present in this 
release that addresses your request. Please test and report back results 
here, by March 3rd 2010 (2010-03-03) or sooner.

Upon successful verification of this request, post your results and update 
the Verified field in Bugzilla with the appropriate value.

If you encounter any issues while testing, please describe them and set 
this bug into NEED_INFO. If you encounter new defects or have additional 
patch(es) to request for inclusion, please clone this bug per each request
and escalate through your support representative.

Comment 8 Marek Grac 2010-03-02 08:31:32 UTC
*** Bug 568417 has been marked as a duplicate of this bug. ***

Comment 9 Brian Brock 2010-03-10 19:47:29 UTC
fix verified in system-config-lvm-1.1.5-4.el5

tested over a vpn connection across public networks.  Moderate network traffic on the desktop.  sc-lvm started about as fast as any other X application, certainly not 20 minutes.

Comment 11 errata-xmlrpc 2010-03-30 08:42:38 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2010-0267.html