Hello, I am investigating into a bug about cloned channels and errata. This is how to reproduce it on the UI:
1. Clone a channel that contains errata, but select "clone without errata" 2. Go to Channels -> Manage Software Channels -> Errata -> Add -> Add Custom Errata (or Add RedHat Errata) -> Unmark the checkbox "Package Assoc." if necessary 3. Choose an Erratum, clone it and confirm Result: The cloned erratum can be found in the cloned channel as "CLxxx" 5. Now subscribe a system to the newly cloned channel only 6. Go to this System -> Software -> Errata Result: There is two errata listed, "xxx" and "CLxxx", but only "CLxxx" should be. Also the table 'RhnServerNeededCache' shows even more entries where errata_id == null? I found a lot of open bugs about this topic, but not exactly this one. If one of you can reproduce it I could create a bug report for spacewalk, or are you aware of such misbehavior already? To me it looks like the used statement ('insert_new_cache_entries_by_packages' in ErrataCache_queries.xml) is not doing the right thing. There even seems to be an easy fix that I attached as a patch for master, which just calls a stored procedure ('update_needed_cache_for_channel', ErrataCache_queries.xml) instead. Maybe someone of you who knows about this code could have a look at the issue, I might be missing something .. Thank you, Johannes -- SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer
>From 25cac35e2f20c249dd18ba522fe112ab058acd08 Mon Sep 17 00:00:00 2001 From: Johannes Renner <jren...@suse.de> Date: Wed, 29 Feb 2012 16:52:43 +0100 Subject: [PATCH] Fix bug about cloned channels and errata --- .../action/channel/manage/PublishErrataAction.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PublishErrataAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PublishErrataAction.java index 7a24554..226bb8a 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PublishErrataAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/PublishErrataAction.java @@ -97,7 +97,7 @@ public class PublishErrataAction extends RhnListAction { //update the errata info List chanList = new ArrayList(); chanList.add(currentChan.getId()); - ErrataCacheManager.insertCacheForChannelPackagesAsync(chanList, pidList); + ErrataCacheManager.updateCacheForChannelsAsync(chanList); ChannelManager.refreshWithNewestPackages(currentChan, "web.errata_push"); request.setAttribute("cid", cid); -- 1.7.7
_______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel