Bug 204422

Summary: Resolvable id 1523009 does not exist.
Product: [openSUSE] SUSE Linux 10.1 Reporter: Andreas Jaeger <aj>
Component: ZenworksAssignee: Duncan Mac-Vicar <dmacvicar>
Status: RESOLVED FIXED QA Contact: Jawaad Tariq <jtariq>
Severity: Blocker    
Priority: P5 - None CC: andreas.hanke, dmacvicar, kkaempf, meissner, schubi, suse-beta
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: zmd-messages.log zmd-backend.log

Description Andreas Jaeger 2006-09-08 14:05:16 UTC
aj@reger:~> rug in rtorrent-0.6.1-3.1.x86_64.rpm libtorrent-0.10.1-3.1.x86_64.rpm
Resolving Dependencies...

ERROR: Dependency resolution failed:
Resolvable id 1523009 does not exist.

This is with the current update stack test packages.
Comment 1 Andreas Jaeger 2006-09-08 14:06:47 UTC
Created attachment 98202 [details]
zmd-messages.log zmd-backend.log
Comment 2 Andreas Jaeger 2006-09-08 14:08:53 UTC
Contents of /var/lib/zmd is currently uploading to:
http://www.suse.de/~aj/lib-zmd.tar.bz2
Comment 5 Tambet Ingo 2006-09-11 10:51:24 UTC
Ah, so it happens when installing multiple local packages. Here's how it works:

for each rpm file from command line:
   run query-files package.rpm
   get the database id of the package
run resolve-dependencies with the ids

The problem seems to be, zypp backend first deletes all database rows with local packages and then adds the new one. So by the time of resolve-dependencies, the database contains only the last rpm package.

(FWIW, it's not an issue in breakout branch since it doesn't even use query-files anymore.)

Andreas, who's dealing with zypp-backend bugs these days? Please reassign to the correct person.
Comment 6 Tambet Ingo 2006-09-11 10:53:53 UTC
*** Bug 193613 has been marked as a duplicate of this bug. ***
Comment 7 Klaus Kämpf 2006-09-11 11:56:13 UTC
Right, DbAccess::writeStore() does run 'emptyCatalog( catalog );' before writing to the database. I added this because of bug 181602 (see comments #12 and #13).
So we might add an option to DbAccess::writeStore() which controls emptying of the catalog ?!
Comment 8 Andreas Jaeger 2006-09-11 12:43:08 UTC
Ad comment 5: My last report was not about multiple local packages, so there might be more bugs...  But this one is about multiple local pacakges.
Comment 9 Stanislav Visnovsky 2006-09-12 07:02:42 UTC
How should the helper behave correctly? Should it delete all rows or not?
Comment 10 Tambet Ingo 2006-09-12 08:57:35 UTC
None of the helpers should never ever (or in other words, not until breakout :) delete any rows from the database.
Comment 11 Klaus Kämpf 2006-09-12 09:12:51 UTC
Well, see bug 181602 (comments #9 - #13) ;-} Sometimes zmd failed to empty catalogs when it should.

Emptying the catalog for 'parse-metadata' and 'query-system' should be fine imho.
Comment 12 Tambet Ingo 2006-09-12 09:19:34 UTC
Yeah, I knew about that one, but it's really a zmd bug (I'm pretty sure it's fixed, I've been running zmd with librc backend, which doesn't delete anything, and haven't seen that behavior). Anyway, I have to agree, I can't think of anything bad that might happen if 'parse-metadata $catalog' and query-system ($catalog='@system') do "DELETE FROM catalogs WHERE id='$catalog'".
Comment 14 Mauro Parra Miranda 2006-09-12 20:30:23 UTC
This is happening at SLED 10 FCS as well. It's horrible. 
Comment 16 Duncan Mac-Vicar 2006-09-13 12:34:00 UTC
Applied and submited to sles10 (do I need to submit to 10.1?)