On 03/05/2012 03:40 PM, Tomas Lestach wrote:
> On Friday 02 of March 2012 18:11:41 Johannes Renner wrote:
>> On 02/29/2012 05:38 PM, Cliff Perry wrote:
>>> On 02/29/2012 11:05 AM, Johannes Renner wrote:
>>>> 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 ..
>>>
>>> Replying to add more background. I was not aware of this specific bug
>>> myself either. I'd be interested to see if we can reproduce on Sat 5.4
>>> code as well as current Spacewalk code.
>>>
>>> This area of the code seems to get updates and re-factor once every
>>> couple of years, due to subtle bugs in logic, along with
>>> scalability/performance feedback.
>>>
>>> The particular line you attached to propose changing was last changed in
>>> Feb 2009 as part of a larger re-factor:
>>> http://git.fedorahosted.org/git/?p=spacewalk.git;a=commitdiff;h=3707af41
>>> 49d84a1ddb1ce693c78f7b791a044cd1
>>>
>>> If memory serves me correct, we were in the middle of a Satellite
>>> release cycle, so changing the stored procedure was not an ideal
>>> solution for Satellite. We fixed Java code - which performed well.
>>>
>>>  I'm not sure if I'd want the fix, as proposed, in 1.7, without us
>>>
>>> spending time to confirm it is the best solution for logic and
>>> performance. I don't think we will have time to dedicate to assist until
>>> post 1.7. If one the guys finds we have time to dig in before 1.7 goes
>>> out in the next week (hopefully) - we will.
>>>
>>> Cliff
>>
>> Sorry, I now found out I was experiencing this bug and was missing the
>> patch:
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=707658
>>
>> So the cloned patches now show up correctly on the UI, but anyways I think
>> there is some code in here that does strange things. E.g. when I analyze the
>> file PublishErrataAction.java:
>>
>> The newly cloned patch is published by calling in line 80:
>>
>> ErrataManager.publishErrataToChannelAsync(...)
>>
>> This also triggers insertion into the cache table ("rhnServerNeededCache").
>> So why do we need to call later on (and without the actual errata ids):
>>
>> ErrataCacheManager.insertCacheForChannelPackagesAsync(chanList, pidList);
>> (line 100)
>>
>> This seems to insert another row into rhnServerNeededCache where the eid is
>> null! If this is wanted behaviour, then what is it for?
> 
> Right Johannes,
> 
> good catch.
> this definitelly isn't wanted behavior.
> If the added packages to a channals are associated with any erratum (what is 
> our case), we definitelly want to consider also the erratum, when 
> regenerating 
> errata cache.
> 
> Will you find some time to verify the behavior, when removing the errata 
> cache 
> update on line 100?
> If not, please, file a BZ for the issue.

I will find time for that in the next days and I can then come up with a new
patch for that file after I verified the behavior.

Regards,
Johannes

-- 
SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg)
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to