Bug 302275

Summary: software manager: smart error reporting and recovery
Product: [openSUSE] openSUSE 11.4 Reporter: macias - <bluedzins>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P4 - Low CC: dmacvicar, kkaempf, lslezak, ma, ncutler, schubi, william
Version: Factory   
Target Milestone: Factory   
Hardware: i586   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description macias - 2007-08-21 19:37:23 UTC
Well, it is quite simple, so I'll be brief.

Three repos: A, B (not available), C.

I start SM, current behaviour
1) fetching data from A
2) from B
3) showing error, waiting for user answer
4) some stuff depending what user chose
5) C

It is not good. The "correct" behaviour is this:
1) A
2) B, remember the problem, skip it for now
3) C
4) now show the problem with B

Summarizing: please remember all problems, ignore them temporarily, fetch all that is possible to fetch, now show all the problems that occurred so far.
Comment 1 Cristian Rodriguez 2007-08-21 20:31:14 UTC
Again, please , please.. install a copy of 10.3 beta1 and check if your suggestion is already implemented, the software manager stuff has been almost completely rewritten and probably your report dont apply anymore.
Comment 2 macias - 2007-08-22 07:08:50 UTC
Ok, I will wait for 10.3, thank you for the answer.
Comment 4 Ladislav Slezák 2007-08-27 06:01:39 UTC
The error handling is same in 10.3, no change. Yast displays all errors immediately when they occur.

I'm to sure if it's reasonable to implement such error collector. At first we would need support in libzypp, yast doesn't know the context of the error message, it doesn't know what to do in step 4) in your proposal.

The current implementation displays a popup requesting user feedback, I'm not sure if it's always possible to postpone it later...
Comment 6 macias - 2007-08-27 06:56:39 UTC
I assumed that yast gets some kind of error code too.

But even without I (at least) would like such postponing error. Reason: too many times I am waiting for yast to finish fetching data, it could take 10 minutes, so I check progress after 10 minutes just to find out that yast stuck at the very beginning.
Comment 9 Klaus Kämpf 2007-09-04 11:30:04 UTC
Hmm, it seems to me as if the current behaviour is indeed right.

The order in which package are installed (and hence repositories accessed) is determined by the require and prerequire dependencies. So if packages from 'B' (to cite the initial comment) cannot be installed, it probably makes little sense to download packages from 'C'.

The current implementation is still limited by the fact that it doesn't account for mirrors (that is if a package is available from more than one repo). If 'B' is unavailable but a mirror, e.g. B1, is alive, the download should automatically retry the mirror thereby minimizing errors. But thats post-10.3 :-(

Maciej, what do you think ?
Comment 10 macias - 2007-09-04 18:05:28 UTC
Klaus, misunderstanding.

You are totally right (*), but when I said about starting SM I really meant _starting_ (when you click SM in yast). Not when you select packages, and you run install. So I was/am talking about the process of getting data _about_ packages in repos, not packages itself. And this is 100% independent.

(*) However the same reason applies here with the correction you mentioned -- packages _could_ be dependant, but if it looks like this
package: A -> B (error) -> C ; D -> F
so it would be useful to wait with error about B and just run (install D and F, because they are both independent of A, B and C.
It would be useful because installation is a lengthy process and it is very likely that user does not sit and stare in her/his monitor :-)
Comment 11 Klaus Kämpf 2007-10-10 11:55:25 UTC
Reassign to Michael as he's working on a next-gen solution.
Comment 12 William Witt 2010-11-27 16:39:09 UTC
Still reproducible on current 11.3

Tested by pointing my google chrome repo (dl.google.com) to localhost via /etc/hosts then running Software manager.

SM displays a modal error and pauses the refresh until it is cleared.
Comment 13 Nathan Cutler 2017-08-11 16:02:35 UTC
Software Manager is gone.