Bug 808210 - altering the way a channel is shared between sub-organizations raises an exception
altering the way a channel is shared between sub-organizations raises an exce...
Status: CLOSED CURRENTRELEASE
Product: Spacewalk
Classification: Community
Component: WebUI (Show other bugs)
1.8
All All
unspecified Severity high
: ---
: ---
Assigned To: Stephen Herr
Red Hat Satellite QA List
: Regression
Depends On: 767646 825373
Blocks: space18
  Show dependency treegraph
 
Reported: 2012-03-29 16:00 EDT by Stephen Herr
Modified: 2012-11-01 12:19 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 767646
Environment:
Last Closed: 2012-11-01 12:19:49 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stephen Herr 2012-03-29 16:00:49 EDT
+++ This bug was initially created as a clone of Bug #767646 +++

Description of problem:
altering the way a channel is shared between sub-organizations raises an exception ; more exactly when changing a channel from protected to private, the following exception is raised : 

	class com.redhat.rhn.frontend.xmlrpc.InvalidChecksumLabelException

Version-Release number of selected component (if applicable):
spacewalk-java*-1.2.39-108

How reproducible:
all the time

Steps to Reproduce:
1.) Click on Channels > Manage Software Channels > channel name
2.) Under "Organization Sharing", select "This channel is protected and may only be accessed by specific trusted organizations." and click the "Update Channel" button.
3.) Click either "Grant Access and Confirm" or "Deny Access and Confirm".
4.) Click on the channel again, and select "This channel is private and cannot be accessed by any other organization.", then click "Update Channel".
5.) Click "Confirm", and an Internal Server Error results.
  
Actual results:
[/var/log/tomcat5/catalina.out]
2011-11-28 10:22:18,048 [TP-Processor2] WARN  org.apache.struts.action.RequestProcessor - Unhandled Exception thrown: class com.redhat.rhn.frontend.xmlrpc.InvalidChecksumLabelException
2011-11-28 10:22:18,048 [TP-Processor2] ERROR com.redhat.rhn.frontend.servlets.SessionFilter - Error during transaction. Rolling back
javax.servlet.ServletException: Invalid checksum label:
        at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:237)
        at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:99)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:117)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
        at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:108)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:55)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:736)
Caused by:
com.redhat.rhn.frontend.xmlrpc.InvalidChecksumLabelException: Invalid checksum label:
        at com.redhat.rhn.manager.channel.UpdateChannelCommand.update(UpdateChannelCommand.java:112)
        at com.redhat.rhn.frontend.action.channel.manage.EditChannelAction.edit(EditChannelAction.java:353)
        at com.redhat.rhn.frontend.action.channel.manage.EditChannelAction.makePrivate(EditChannelAction.java:314)
        at com.redhat.rhn.frontend.action.channel.manage.EditChannelAction.execute(EditChannelAction.java:139)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        ... 40 more

Expected results:
the channel is transfered from protected/public to private

Additional info:
downgrading the packages is a workaround.
Comment 1 Stephen Herr 2012-03-29 16:06:01 EDT
The actual problem here is that sometime we broke saving the channel's options if you had "None" selected for the yum metadata checksum type. Yum must have a checksum for the metadata, however we support clients that do not use yum (like RHEL 4) and "None" is a perfectly valid selection for those clients.

If the channel had been saved before we broke things with a "None" value for checksum type, then any attempt to save the channel data would result in the error and stack trace listed above.

I have fixed it so that we do not error if you have selected "None" for checksum type.
Comment 2 Stephen Herr 2012-03-29 16:07:57 EDT
Committed to Spacewalk master: 879273153fe9867d423baee3397e59a2a273658c
Comment 4 Jan Pazdziora 2012-10-30 15:24:29 EDT
Moving ON_QA. Packages that address this bugzilla should now be available in yum repos at http://yum.spacewalkproject.org/nightly/
Comment 5 Jan Pazdziora 2012-11-01 12:19:49 EDT
Spacewalk 1.8 has been released: https://fedorahosted.org/spacewalk/wiki/ReleaseNotes18

Note You need to log in before you can comment on or make changes to this bug.