Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 285308

Summary: Poor update progress
Product: [Eclipse Project] Equinox Reporter: John Arthorne <john.arthorne>
Component: p2Assignee: Pascal Rapicault <pascal>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: henrik.lindberg, njbartlett, pascal, simon_kaegi, susan
Version: 3.6   
Target Milestone: 3.6 M6   
Hardware: PC   
OS: Windows Vista   
Whiteboard:
Bug Depends on:    
Bug Blocks: 285797    
Attachments:
Description Flags
Screen shot none

Description John Arthorne CLA 2009-07-31 13:14:36 EDT
I20090730-2000

During the update progress, there are long periods where no text appears at all in the progress dialog. We should look into whether we are setting the task messages correctly on update.
Comment 1 John Arthorne CLA 2009-07-31 13:15:12 EDT
Created attachment 143163 [details]
Screen shot
Comment 2 Henrik Lindberg CLA 2009-08-01 11:47:34 EDT
This looks like a duplicate of Bug 263600. But maybe this is specific to Update?
Comment 3 John Arthorne CLA 2009-08-05 09:28:44 EDT
It could be a duplicate of bug 263600, in that fixing one may fix both. However the problem here didn't seem to be with scaling the progress bar, but about the progress messages being blank for long periods. It looks like someone is calling setTaskName("") or subtask("") or something like that to cause blank progress message text to be shown.
Comment 4 Susan McCourt CLA 2009-10-27 12:26:44 EDT
I'm observing this during today's test pass.  The progress bar simply said "Update" and was stuck on 4% for at least a couple of minutes.  (I'm upgrading several different eclipse installs at once so my connection is pretty slow).

When content did start appearing, I see the files being downloaded.
"Fetching somefilename.jar.pack.gz"

I looked in the code while waiting for the update to complete.  I think the culprit is Phase.mainPerform 

private void mainPerform(MultiStatus status, EngineSession session, IProfile profile, Operand[] operands, ProvisioningContext context, SubMonitor subMonitor) {
		subMonitor.beginTask("", operands.length); //$NON-NLS-1$
Comment 5 Pascal Rapicault CLA 2010-02-22 23:13:43 EST
ping
Comment 6 John Arthorne CLA 2010-02-23 13:26:19 EST
The simple fix for this would be to replace beginTask("" ...) with beginTask(null ...). A null task name is ignored but an empty task name will replace the existing task name with nothing. I was thinking we could maybe fix this in SubMonitor but this seems drastic - I imagine there might be cases where a client really does want to clear the task name and this would leave no way to do it.
Comment 7 Pascal Rapicault CLA 2010-02-26 22:38:50 EST
*** Bug 263600 has been marked as a duplicate of this bug. ***
Comment 8 Pascal Rapicault CLA 2010-02-26 22:40:32 EST
Released the change proposed by John.
Comment 9 Pascal Rapicault CLA 2010-02-26 22:40:55 EST
.